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