Hallo,
danke für die Antwort. Ist den folgender Code richtig?

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 
;**********************************************************
Gruß,
Sebastian
Edit: Ich habe einen 2,7 kOhm-Widerstand dazwischen. Es liegt wohl doch kein Wackelkontakt vor.