Erstmal danke für eure Mühe!
Es funktioniert alles bestens in dem oben genannten Beispiel.
=D>
Doch bei meiner Weiterentwicklung gibt es so einige Probleme.
Ich verwende den PIC16F84A und habe an PortB LEDs mit Widerständen angeschlossen. An PortA.3 (Pin 2) ist ein Taster mit einem 2.7kOhm-Widerstand angeschlossen, der bei Knopfdruck zu PortA.2 (Pin 1) schließt.
Die LEDs sollen leuchten, wenn der Taster gedrückt ist.
Mein Quelltext:
Seltsamerweise gehen die LEDs schon an, wenn ich mein Experimentboard mit der Hand berühre.Code:list p=16f84 ; Includedatei für den 16F84 einbinden #include <P16F84A.INC> ; Configuration festlegen ; bis 4 MHz: Power on Timer, kein Watchdog, XT-Oscillator __CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC ;************************************************************** ; Variablen festlegen ;********************************************************** ; los gehts mit der Initialisierung Init 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 movwf PORTB BCF TRISA,3; PortA,3 wird auf output geschaltet BSF TRISA,2 ; PortA,2 wird auf input geschaltet BSF PORTA,3 ; PortA,3 wird auf high gesetzt ; das Folgende ist die Hauptschleife, die endlos durchlaufen wird Main call Tastaturbehandlung ; Tastatur abfragen goto Main2 ; keine Taste gedrückt Main2 goto Main Tastaturbehandlung btfsc PORTA, 2 ; ist RA2 nicht high? movlw B'00000000' ;dann werden alle LEDs ausgeschaltet btfss PORTA, 2 ; ist RA2 high? movlw B'11111111' ;dann werden alle LEDs eingeschaltet movwf PORTB return end
Ist da vielleicht ein Wackelkontakt drin? (Das Board ist nagelneu!)
Gruß,
Sebastian







Zitieren

Lesezeichen