;----PROGRAMMA MICROCONTROLLORE 2051 PER LA GESTIONE DELL'ANANOMETRO--
;---------------------------------------------------------------------
;ASSEGNAZIONE DEI PIN                -
;                                    -
;SENSORE DIGITALE ANANOMETRO --> P3.7-
;DATO DIGITALE IN USCITA     --> P1  -
;-------------------------------------
;_____QUARZO 12MHz____________________________________________________
;
;ASSEMBLY [2051]
;
    ORG 0000H
;
INIZIO: MOV 50H,#255          ;IMPOSTA IL CONTATORE A 255
LETTUR: JB P3.7,$             ;SE IL SENSORE NON è ECCITATO ASPETTA MENTRE SE è ECCITATO PROSEGUI
LETTFI: JNB P3.7,$            ;SE IL SENSORE è ECCITATO ASPETTA ALTRIMENTI PROSEGUI
RI10mS: MOV R0,#100           ;RITARDO 10mS
RIT1:   MOV R1,#50            ;
        DJNZ R1,$             ;
        DJNZ R0,RIT1          ;
IST2:   MOV A,50H             ;SPOSTA CONTATORE IN A
        DEC A                 ;DECREMENTA A
        MOV 50H,A             ;SPOSTA A IN CONTATORE
IST3:   CJNE A,#0H,IST5       ;SE A (AVENTE DATO CONTATORE) è DIVERSO DA 0 SALTA A IST5 ALTRIMENTI PROSEGUI  
IST4:   MOV P1,A              ;ESPORTA A (AVENTE DATO CONTATORE) SULLA PORTA P1
        MOV 50H,#255          ;INIZIALIZZA CONTATORE A 255
        AJMP LETTUR           ;SALTA A LETTUR
IST5:   JB P3.7,RI10mS        ;SE SENSORE NON è ECCITATO SALTA A RITARDO 10mS ALTRIMENTI PROSEGUI
IST6:   MOV A,50H             ;ESPORTA CONTATORE IN A
        MOV P1,A              ;ESPORTA A SU PORTA P1
        MOV A,#255            ;INIZIALIZZA CONTATORE A 255
        AJMP LETTFI           ;SALTA A LETTFI
        END
