; IL PIC 16F84 PUO' ESSERE BIDIREZIONALE. 
; HO FATTO QUESTO PROGRAMMINO IN CUI USO SOLO RA0 PER COMANDARE
; SIA IL TASTO CHE IL LED
;
; di Piero Speciale
;
;http://digilander.iol.it/wgiocoso
;


    PROCESSOR    16F84
    RADIX        DEC
    INCLUDE        "P16F84.INC"
    ERRORLEVEL    -302

    __CONFIG    3FF1H

        ORG 0CH

TASTO        EQU    0



        ORG    00H
MainLoop    
    
        bsf     STATUS,RP0
        movlw   00011111B
        movwf   TRISA & 7FH



        bcf     STATUS,RP0
        movlw   00000000B
        movwf   PORTA

        call    LEGGI
        call    LED

        goto    MainLoop


LED

    
        bsf     STATUS,RP0
    
        movlw   00011110B
        movwf   TRISA & 7FH

        bcf     STATUS,RP0
        movlw   00000001B
        movwf   PORTA
        return

LEGGI                           ;leggi tasto
        BTFSS   PORTA,    TASTO ;attendi pressione del tasto
        GOTO    LEGGI
ANTIRIMBALZO                    ;prosegui solo se rilasciato
        BTFSC   PORTA,    TASTO
        GOTO    ANTIRIMBALZO
        RETURN                  ;end leggi
END
