Hallo zusammen,
Ich will einfacherweise den PortA als digitale Eingänge und den PortB als Ausgänge verwenden.
Wenn ich auf PortA Pin1 5V anlege (High-Signal) sollte dann die erste LED leuchten usw...
Sollte PortA komplett auf LOW sein, sollen alle LED's leuchten.
Nur es will nicht funktionieren. Schaut euch bitte mal den Code an:
Vllt kann mir jemand weiterhelfen. Danke!
mfG. Michael



list p=16f870

#include <P16f870.INC>

; Programmablauf: Wenn kein PIN an Port A high ist, dann alle LEDs einschalten. Wenn ein PIN an Port A high ist, dann das entsprechende LED einschalten

Init

bsf STATUS, RP0 ; auf Bank 1 umschalten
movlw B'11111111' ; PortA alle output
movwf TRISA
MOVLW 0x06
MOVWF ADCON1
bcf STATUS, RP0 ; auf Bank 0 zurückschalten
clrf PORTA

bsf STATUS, RP0 ; auf Bank 1 umschalten
movlw B'00000000' ; PortB alle output
movwf TRISB
bcf STATUS, RP0 ; auf Bank 0 zurückschalten
clrf PORTB ; alle LEDs ausschalten

int
nop
clrf PORTB
nop
movfw PORTA
btfsc STATUS, Z ; Taste gedrückt?
goto main1 ; keine Taste gedrückt
goto main2
main2
movlw B'11111111'
movwf PORTB
goto int
main1
movwf PORTB ; Tastencode zu LEDs
goto int

end