;PROGRAMMA IN ASSEMBLER 51 DI IK1WJQ DEL 8/10/2001    
     ;AT89C2051 FILTRO A COMPARATORE (ASINCRONO) PER CW
     ;USO COMPARATORE (P1.0 P1.1) LETTURA COMPARAT. P3.6
     ;PULSANTE P3.5 REGOLAZIONE BANDA
     ;USCITA P3.7 - LED P3.0

             RIT EQU   16             ;USO RITARDO
             
                       NOP
                       MOV P3,#127
                       MOV P1,#255
                       MOV SP,#99
                       ACALL RIT3
                       MOV RIT,#1     ;RIT MINIMO
                       AJMP FILT   

              RIT0:    PUSH ACC       ;RIT 0,6 M.SEC
                       MOV ACC,#248   ;18 MHZ QUARZO
               PAU:    NOP
                       NOP
                       DJNZ ACC,PAU
                       POP ACC
                       RET

               RIT2:   JNB P3.5,REG   ;SALTA A VARIAZIONE
                       PUSH ACC
                       MOV ACC,RIT    ;RITARDO FILTRO   
                       AJMP PAU

               RIT1:   MOV P3,#126    ;ACCENDE LED
               RITX:   PUSH B         ;RIT 0,18 SEC
                       MOV B,#0
               PAU0:   ACALL RIT0
                       DJNZ B,PAU0
                       POP B
                       MOV P3,#127    ;SPEGNE LED 
                       RET            ;USCITA = 0

               RIT3:   ACALL RIT1     ;COLPO LED
                       AJMP RITX      ;0,36 SEC

               FILT:   ACALL RIT3     ;FREQ. BANDA LARGA
                 AX:   JNB P3.6,AX    ;ASP. SEGNALE
                       ACALL RIT2     ;CONTROLLO SEGNALE
                       JNB P3.6,AX    ;> 50 MICROSEC CONTINUA
                 ASH:  MOV P3,#254    ;USCITA = 1
                       ACALL RIT2     ;RITARDO 150 uSEC
                       JNB P3.6,ASL
                       AJMP ASH
                 ASL:  MOV P3,#127    ;USCITA = 0
                       ACALL RIT2     ;RITARDO 50 uSEC
                       JB P3.6,ASH
                       AJMP ASL

                 REG:  JNB P3.5,$     ;REGOLAZIONE ASPETTA
                       ACALL RIT3     ;COLPO LED
                       MOV ACC,RIT
                       CJNE A,#91,REG1
                       MOV RIT,#1     ;AZZERA RITARDO
                       ACALL RIT3     ;COLPO LED
                       RET
                REG1:  ADD A,#10      ;PASSI DI 22 MICROSEC
                       MOV RIT,ACC    ;FINO A 170
                       RET

                       END

Vai a pagina1