Se sei già registrato           oppure    

Orario: 01/05/2024 13:46:53  

 

Energia Alternativa ed Energia Fai Da Te > PPTEA


PPTEA - CONTAORE DIGITALE, Come memorizzare informazioni permanenti nel PPTEA
FinePagina

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 14/2/2012,12:00

Con questo dispositivo vediamo come memorizzare alcune informazioni sulla EEPROM del PPTEA che vengono mantenute anche in assenza di alimentazione.
Il contatore è un dispositivo ( in genere industriale ) che serve per tenere sotto controllo le ore che un apparato lavora. Quindi quando viene alimentato inizia conteggio visualizzando e incrementando le ore lavorate.
Con il PPTEA ed un display abbiamo realizzato un contaore che mosta anche i minuti. Nella memoria vengono utilizzati 3 Byte (cella 252,253,254) della eeprom interna...quindi il programma tokenizzato in eabasic deve entrare in 251 TOKEN.
Nella memoria vengono coservati i minuti lavorati e vengono aggiornati ogni minuto. E' presente all'inizio del codice (linea 145-148) un sistema per azzerare o modificare le ore lavorate...e tale operazione va effettuata almeno la prima volta per far partire ad Zero le ore...altrimenti si parte dal valore che il PPTEA trova nelle celle. faccine/smile.gif
Questo è il codice in eabasic:

CODICE
100 '-------------- PPTEA: CONTA ORE --------------
110 ' UTILIZZA LA EEPROM INTERNA PER MEMORIZZARE LE ORE LAVORATE
120 '---------- COSTANTI ----------
130 CONSTANT CELLA_EEPROM_INI = 252
140 CONSTANT CELLA_EEPROM_FIN = 254

145 '---- MODIFICA ORA MEMORIZZATA SULLA EEPROM
146 'MINUTI_LAVORATI=0
147 'GOSUB :SCRIVI_EEPROM
148 'GOTO 148

150 '---- CARICO I MINUTI_LAVORATI DALLA EEPROM ---
160 CLR MINUTI_LAVORATI
170 POS=CELLA_EEPROM_INI
180 CLR AP
190 REPEAT
200   CELL=POS
210   VL=REEPROM
220   MINUTI_LAVORATI+=VL*POW(256,AP)
230   AP++
240   POS++
250 UNTIL POS<= CELLA_EEPROM_FIN

260  '---- SETTO LA MODALITA' IN SECONDI DEL REAL TIME CLOCK
270 FDATE=4 ' SECONDI DALL'INIZIO DELLA MEZZANOTTE

280 '--- PRENDO IL TEMPO DI RIFERIMENTO
290 RIF_SECONDI=DATE
300 LCDWRITE="PPTEA- CONTA ORE"
310 GOSUB :VISUALIZZA_ORA_MIN_DISPLAY

320 :MAIN
330   WAITS 1
340   NOW=DATE
350   SECONDI_LAVORATI=NOW-RIF_SECONDI
360   IF SECONDI_LAVORATI > 0 then 370
365   RIF_SECONDI=NOW ' GESTIONE DEL CAVALLO DELLA MEZZANOTTE
370   IF SECONDI_LAVORATI < 60 then :MAIN
375  GOSUB :INCREMENTA_MINUTI
380  GOTO :MAIN

419   '-----------------------------
420   :INCREMENTA_MINUTI
430   RIF_SECONDI+=60
440   MINUTI_LAVORATI++
450   GOSUB :VISUALIZZA_ORA_MIN_DISPLAY
460   '---SCRIVO I MINUTI SULLA EEPROM
470   :SCRIVI_EEPROM
475   POS=CELLA_EEPROM_INI
480   CLR AP
490   REPEAT
500     CELL=POS
510     vL=(MINUTI_LAVORATI/POW(256,AP)) AND 255
520     WEEPROM=VL
530     AP++
540     POS++
550   UNTIL POS<= CELLA_EEPROM_FIN
560   RETURN

569   '-----------------------------
570   :VISUALIZZA_ORA_MIN_DISPLAY
580   MINUTI=MINUTI_LAVORATI mod 60
590   LCDPOS=&H21
600   LCDWRITE="h="& MINUTI_LAVORATI/60 & " m=" & right("0" & MINUTI_LAVORATI mod 60,2)
610   RETURN

Per il circuito basta utilizzare il circuito minimale del PPTEA con un display. faccine/smile.gif
Un saluto
Bolle




Modificato da NonSoloBolleDiAcqua - 15/2/2012, 00:50


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

mauropenna
Watt


Gruppo:Utente
Messaggi:86

Stato:



Inviato il: 14/2/2012,12:45

ciao Bolle grazie, per la pazienza, per il codice che hai postato quando torno questa sera vedo di fare un po di prove.
adesso vado al lavoro ciao Grazie Mauro.

 
 InizioPagina
 

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum