ik heb weer even een zwaai naar PBP gemaakt, en het volgende programma voor een pic16f877a werkt maar gedeeltelijk
de led op PORTD.1 toggelt prima,
maar de texten aan en uit komen niet op het display, de rest wel.
ook de uitgangen 1,2 en 3 toggelen niet als de ingangen hoog gemaakt worden.
@ DEVICE PIC16F877A,HS_OSC
@ DEVICE PIC16F877A,BOD_OFF
@ DEVICE PIC16F877A,LVP_OFF
@ DEVICE PIC16F877A,CPD_OFF
@ DEVICE PIC16F877A,PROTECT_OFF
DEFINE OSC 20
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 4
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
CMCON = 7
TRISA = %11111111
TRISB = %00000000
TRISC = %00000000
TRISD = %11111111
ING1 VAR PORTA.1
ING2 VAR PORTA.2
ING3 VAR PORTA.3
UITG1 VAR PORTC.1
UITG2 VAR PORTC.2
UITG3 VAR PORTC.3
LCDOut $FE, $80, "Lamp Garage is"
LCDOut $FE, $C0, "Lamp Washok is"
LCDOut $FE, $94, "Lamp Hal is"
LCDOut $FE, $D4, "Temp In "
LCDOut $FE, $D4+12, "Out"
While 1 = 1
Toggle PORTD.1
Pause 1000
IF ING1 = 1 Then GoSub PB1
IF ING2 = 1 Then GoSub PB2
IF ING3 = 1 Then GoSub PB3
Wend
PB1:
Toggle UITG1
IF UITG1 = 1 Then
LCDOut $FE, $80+15,"AAN"
Else LCDOut $FE, $80+15,"UIT"
EndIF
Return
PB2:
Toggle UITG2
IF UITG2 = 1 Then
LCDOut $FE, $C0+15,"AAN"
Else LCDOut $C0+15,"UIT"
EndIF
Return
PB3:
Toggle UITG3
IF UITG1 = 1 Then
LCDOut $FE, $94+15,"AAN"
Else LCDOut $FE, $D4+15,"UIT"
EndIF
Return
End
waar gaat dit fout?
PBP
-
- Berichten: 1697
- Lid geworden op: zo 23 apr 2006, 19:01
- Locatie: Hedalen. .. Noorwegen .. .. .. .. .. .. ...