Zilog Z8 - Apriporta con segnale Telegrafico
Con il pulsante del citofono di casa, si può aprire automaticamente
il portone elettrico a patto che si faccia la lettera telegrafica "F".
Il programma accetta il segnale se la linea è lunga più della
somma dei tre punti, ma allo stesso tempo non deve durare oltre
un certo limite.
Gli impulsi casuali non attivano l'uscita, ogni quattro si sincronizza
da solo oppure si preme il pulsante una sola volta per almeno 0,7 secondi
e poi è pronto per leggere la lettera F.
Il circuito, completo di Led spia del portone di casa.
Il campanello con all'interno l'apriporta automatico.
;IK1WJQ PROGRAMMA IN ASSEMBLER Z8 - PORT.ASM Z86E04/8
;PROGRAMMA APRIPORTA CON SEGNALE TELEGRAFICO, LETTERA "F"
;USO PORTE: INGRESSO P31 - USCITA: P00-P01 - QUARZO 8 MHZ
UNO EQU 16 ;PRIMO SEG. PUNTO
DUE EQU 17 ;SEC. SEG. PUNTO
TRE EQU 18 ;TERZO SEG. LINEA
QUA EQU 19 ;QUARTO SEG. PUNTO
RIF EQU R15 ;RIFERIMENTO BASE
LIM EQU 20 ;RIFERIMENTO LIMITE DELLA LINEA
ACC EQU R4 ;USO ACCUMULATORE
ORG 000AH
WORD #INT1 ;SALTO IRQ5 = INT1
ORG 000CH
LD P01M,#4 ;P0 USCENTE
CLR RP ;R0-R3 COME P0-P3
CLR R0
LD SPL,#127
LD P3M,#1 ;P3 INGRESSO DIGITALE
LD P2M,#0 ;P2 USCITA
LD PRE1,#11001011B ;PRE1=50 CLOCK INTERNO, CONTINUO
LD T1,#250 ;8 MHZ / 8 X 50 X 250 =100000
OR TMR,#0CH ;CARICA E ABILITA T1
DI ;NO INT.
LD LIM,#51 ;CARICA IL LIMITE DI BLOCCO
OR IMR,#20H ;REGISTRO MASCHERA
EI ;INIZIO INT.
CONT: RCF ;C = 0
CON: TM R3,#2 ;CONTROLLO INIZIALE
JR Z,CON
CLR RIF ;INIZIA A CONTARE
UNO1: TM R3,#2 ;SEG. = 1
JR NZ,UNO1
LD UNO,RIF
LD ACC,UNO
SUB ACC,LIM ;SEG. = 0
JR NC,CONT ;FINE CON SEGNALE FUORI TEMPO
UNO0: TM R3,#2
JR Z,UNO0
CLR RIF
RCF ;C = 0
DUE1: TM R3,#2 ;SEG. = 1
JR NZ,DUE1
LD DUE,RIF
LD ACC,DUE
SUB ACC,LIM
JR NC,CONT ;SEG. > LIM
DUE0: TM R3,#2 ;SEG. = 0
JR Z,DUE0
CLR RIF
RCF ;C = 0
TRE1: TM R3,#2 ;SEG. = 1
JR NZ,TRE1
LD TRE,RIF
LD ACC,TRE
SUB ACC,LIM
JR NC,CONT ;SEG. > LIM
TRE0: TM R3,#2 ;SEG. = 0
JR Z,TRE0
CLR RIF
QUA1: TM R3,#2 ;SEG. = 1
JR NZ,QUA1
LD QUA,RIF
RCF ;C = 0
LD ACC,TRE ;CARATTERE F
SUB ACC,UNO
JR C,NAPRE ;UNO > TRE
SUB ACC,DUE
JR C,NAPRE ;UNO+DUE > TRE
SUB ACC,QUA
JR C,NAPRE ;UNO+DUE+QUA > TRE
LD R0,#3 ;ATTIRA RELE' 1,2 SEC
CALL RIT1
CALL RIT1
CLR R0 ;CADE RELE'
JR CONT ;RITORNA CONTROLLO
NAPRE: CALL RIT1 ;ERRORE
JR CONT
RIT1: CLR R10 ;256 X RIT = 0,59 SEC
PAU1: CALL RIT
DJNZ R10,PAU1
RET
RIT: CLR R11 ;RITARDO 2,3 MSEC
PAU: NOP ;QUARZO 8 MHZ
NOP
NOP
NOP
DJNZ R11,PAU
RET
INT1: INC RIF
DI
CLR R7 ;RITARDO DOPO INTERRUZIONE
ASP: DJNZ R7,ASP
EI
IRET
END
Nota: Anche chi non conosce la telegrafia è in grado di imparare facilmente la cadenza
e i tempi corretti per far funzionare il sistema.
73, Emilio - ik1wjq
Vai a pagina1