-
-
Neuer Benutzer
Öfters hier
verzweiflung bei 16F870 mit PortA
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
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen