Descrizione delle procedure di scrittura sul display LCD |
||||||||||||
Come per quelle I2C, anche le librerie LCD del C18 Microchip usano waiting loop e delay che non sono compatibili con il sistema pseudo-RTOS. Inoltre, come si vede nello schema, il display (16 caratteri per 2 righe) è collegato al PIC tramite un I/O expander I2C usando la modalità a 4 bit. Codice per la gestione del display Tutto si appoggia sulle procedure I2C tramite LcdByteSet che ricostruisce il byte da inviare sulla base del valore dei dati e dei flag impostati. La scrittura a 8 bit (Lcd8Bit) si usa solamente nella fase di inizializzazione dell'LCD, dopo l'avvio si usa sempre quella a 4 bit (Lcd4Bit). |
||||||||||||
La procedura base è la LcdPutChar che invia un byte in modalità Dati o Comandi secondo necessità. Questa è utilizzata da tutte le routine a livello superiore: -LcdInit, in fase di inizializzazione. -LcdPutString, per la scrittura di una stringa. -Tutte le altre a livello ancora più alto per inviare un comando (clear display, posiziona cursore, ecc...) o un dato (singolo carattere). La modalità di scrittura di una stringa è differente se questa è memorizzata nella zona programma (LcdPutStringInitRom) o in RAM, l'architettura Harvard del PIC infatti consente una differenza di lunghezza tra il bus dati e quello programma e per questo i puntatori devono essere riallineati con le tecniche suggerite nel manuale del C18. Durante la fase di inizializzazione (LcdInit) si impostano i parametri desiderati (Interfaccia a 4 bit, 2 linee di visualizzazione e caratteri di 5x7 punti) seguendo le specifiche del costruttore. Premendo il tasto rosso o quello verde si entra nella procedura Display che accende il backlight e visualizza i diversi menu impostati. |
||||||||||||
Quando si arriva all'ultimo menu o al primo, si torna nello stato di marcia normale, con la retroilluminazione spenta, la scritta fissa e tutte le user interface disabilitate, ci si rientrerà alla pressione dei tasti rosso o verde. | ||||||||||||
aggiornato il 10 - 12 - 2005
|
||||||||||||