Corso ET

titolo:

Misuratore di energia 2008/09

data.:

13/02/09

file.:
 
descr.:
Definizione funzionalità software gestione visualizzatore
 

 

Compiti da svolgere da parte del software a bordo del uC   nella scheda visualizzatore

Variabili globali

Nome Tipo      Descrizione Range EEProm
Vadc int Valore grezzo della tensione misurata dall' ADC  0-1023  
Iadc int Valore grezzo della corrente misurata dall' ADC 0-1023  
CntEn long sommatoria di Vadc*Iadc a ogni secondo per elaborazione W/h 0-FsI*FsV*3600/(MaxI*MaxV) x
WhTot long conteggio W/h totali 0-2^32-1 x
WhPar long conteggi W/h parziali 0-2^32-1 x
KV float costante per la conversione in Volt   x
KI float costante per la conversione in Ampere   x
KE float costante per la conversione Energia in €   x
SglAll int valore grezzo soglia allarme consumo   x
Mode char modo di visualizzazione    

Ciclo Main

Diagramma di flusso:


Inizializzazione I/O

Mette a risposo tutte le linee del microcontrollore

Segnale Condizione di riposo
P0.0..P0.7 11111111
LEDV 1
LEDR 1
BUZZ 0
PM 1
PC 1
RS 0
RW 0
E 0
CS 1
ADDIN 0
CLK 0
DATAI 0
DATAO 1
RXD 1
TXD 1
PDWN 1
CS_RTC 0
DATA_IO 1
CSEE 0
WDOG 0

Gestione ADC a 10bit a bordo della scheda misuratore.

Consiste in una funzione che si occupa della configurazione dell'ingresso dell'ADC e del prelievo del dato appena convertito secondo le indicazioni da manuale del TLC1453.

Segnali della scheda coinvolti:

uC JP7 TLC1547
P2.3 CS CS
P2.4 ADDIN ADIN
P2.5 CLK I/OCLK
P2.6 DATAI DOUT

Il nome funzione sarà  ReadADC, come parametro riceve l'indirizzo dell'ingresso da convertire e ritorna con il valore convertito.
Esempio:

unsigned int ReadADC(unsigend char addr)
{
}

Gestione display LCD 16x2 Hitachi HD44780.

Consiste in una funzione che si occupa di inviare il testo da visualizzare sul display LCD vedi manuale LCD-HD44780.pdf ed altra documentazione.
Segnali della scheda coinvolti:

uC JP2
P2.0 RS
P2.1 RW
P2.2 E
P0..P7 D0..D7

Il nome della funzione sarà  WriteDIS, come parametro riceve, il numero della riga (0: è la prima riga), la colonna di inizio della stringa (0: è la prima colonna) ed il puntatore alla stringa da scrivere. La funzione  ritorna con true se la scrittura è andata a buon fine, false per parametri errati o per errore hardware sul display (Es. il display non risponde).
Esempio:

bool WriteDIS(unsigned char Row, unsigned char Col, char *Str)
{
}

Gestione Orologio RTC DS1302.

Consiste in una funzione che si occupa di leggere data e ora dal  RTC DS1302. Segnali della scheda coinvolti:

uC JP2
P2.5 CLK
P3.5 DATA_IO
P3.4 CS_RTC

 

Gestione EEProm

 

Gestione parametri via seriale RS232.

Protocollo

STX CMDh CMDl DATAh DATAl . . ETX