Hallo,
danke für die Antwort. Ist den folgender Code richtig?
Gruß,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 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 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 ; das Folgende ist die Hauptschleife, die endlos durchlaufen wird Main call Tastaturbehandlung ; Tastatur abfragen goto Main2 ; keine Taste gedrückt Main2 goto Main Tastaturbehandlung bcf STATUS, RP0 ; 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 bsf STATUS, RP0 ; auf Bank 1 umschalten movwf PORTB return end ;**********************************************************
Sebastian
Edit: Ich habe einen 2,7 kOhm-Widerstand dazwischen. Es liegt wohl doch kein Wackelkontakt vor.







Zitieren

Lesezeichen