;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
');
//-->