;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