Memorizza eventi
© by Vittorio Crapella
RICORDA E VISUALIZZA EVENTI
Dalla seguente richiesta :"Io vorrei realizzare un orologio che è in grado attraverso un ingresso dal mondo esterno , di memorizzare la chiusura di un contatto. In pratica, dovendo io capire in che momento della giornata e anche in che data avviene un certo evento che riuscirò a manifestare attraverso un contatto che si chiude, vorrei poter disporre di un registratore di eventi che sia in grado di memorizzare ora e data nella sua memoria e a scadenze fisse consultarlo rileggendo attraverso un display LCD..", é nato il seguente progetto:
Gli ingressi AUX (eventi ausiliari) sono per una futura espansione del sistema.
All'accensione la prima volta, non trovando già impostato GIORNO-ORE-MIN, passa all'impostazione DATA come videata -2- altrimenti riprende l’ultima ora-min-giorno e NR eventi precedentemente registrati in Eeprom e li mette a display come nella videata -1-.
GIORNO ORE : MIN
Nr. Eventi NR
VIDEATA -1-
Sono presenti tre pulsanti (DW-ENTER-UP)
Se non vi sono eventi da visualizzare, pigiando UP o ENTER si passa in modo impostazione data videata –2-
IMPOSTA GIORNO
UP=Si ENTER=Esc
VIDEATA -2-
Con ENTER torno alla videata normale -1- con il primo UP si passa al modo imposta giorno mostrando quello già presente in memoria o dal lunedì se non ancora impostato nessun giorno (videata –3-).
IMPOSTA GIORNO
LUNEDÌ
VIDEATA -3-
Con UP o DW successivi si incrementa o decremnta il giorno fino a quello desiderato.
Digitando ENTER passo all’impostazione ora (videata –4-)
IMPOSTA ORA
ORE : MIN
VIDEATA -4-
Usando UP o DW si incrementa o decremnta il numero che esprime l’ora voluta.
Con ENTER si passa all’impostazione minuti (videata -5-) sempre usando poi UP o DW fino ai minuti desiderati.
IMPOSTA MINUTI
ORE : MIN
VIDEATA -5-
Con un ulteriore ENTER si torna alla videata -1- .
In presenza di Eventi, che possono essere da 1 a 40 massimi, digitando un qualsiasi tasto mi appare la seguente videata :
VEDI EVENTI
UP=Si ENTER=Data
VIDEATA –6-
Con il tasto ENTER torno alla videata -3- mentre con UP passo a visualizzare gli eventi uno ad uno
GIORNO ORE : MIN
EVENTO Nr: 01
VIDEATA -7-
Con UP e DW visualizzo tutti gli eventi che voglio e per ognuno vedo il giorno , l’ora e minuti in cui è avvenuto l’evento. Si torna alla videata -1- pigiando ENTER.
In presenza della videata - 1- pigiando DW si possono verificare due eventi:
Se non è ancora avvenuta la sincronizzazione con un orologio campione per la correzione automatica del clok, apparirà la seguente videata:
CORREZIONE CLOK
UP=Ant. DW=Rit.
VIDEATA -8-
Pertanto DW in questo caso si dovrà digitare solo dopo aver eseguito la seguente procedura:
Cortocircuitare il ponticello hardware (pin 17 NMI a massa) per un breve istante per cancellare eventuali valori in EEeprom . Settare ore, minuti con 1 minuto avanti rispetto all'orologio campione e spegnere il circuito.
Riaccenderlo nello stesso istante che sull'orologio campione scatta lo stesso minuto impostato sull'orologio-eventi.
Per tarare con più precisione attendere diverse ore (4/12) e poi confrontare l'orologio-eventi se ritarda o anticipa rispetto a quello campione.
Se dovesse sballare più di un minuto ripetere l'operazione dall'inizio dimezzando le ore.
Osservare i secondi dell’orologio campione e a 52/53 secondi pigiare DW.
Apparirà la videata - 8 -
Attendere 00 secondi sull'orologio campione e pigiare UP se l'orologio-eventi anticipava o DW se ritardava. Da questo momento l'orologio-eventi dovrebbe essere al passo con quello campione.
L'aggiustamento viene effettuato ogni OREX (pari alle ore di attesa), sottraendo o sommando ai secondi dell'orologio-eventi i SECX (secondi calcolati) per tenere al passo l'orologio-eventi.
Purtroppo al variare della temperatura si può avere comunque errori di secondi e col tempo anche di minuti a causa della deriva del quarzo.
Il secondo evento , dopo la sincronizzazione, porterà dopo la pigiata di DW alla videata - 4 - potendo cambiare ore o minuti usando UP o DW senza passare per l’impostazione del giorno.