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