Gestione di un display lcd

Con il pic16f877 risulta abbastanza semplice gestire un display lcd sotto lo standard Hitachi HD44780.
Il controller dell'lcd si occupa di gestire i dati che provengono dall'esterno verso il display vero e proprio, qindi, l'unica cosa che deve fare il pic e' colloquiare con questo controller che altro non e' che un altro uP o uC.
In questo tipo di display c'e' una PROM dove risiedono i caratteri predefiniti ed una piccola RAM dove si possono inserire dei caratteri creati dall'utente.
Il cristallo liquido funziona riflettendo la luce quando viene polarizzato, in assenza di polarizzazione non riflette la luce per cui risulta spento. Spesso esiste una retroilluminazione del display per rendere possibile il suo utilizzo in condizioni di buio, questa retroilluminazione puo' essere a diodi led o a luce bianca.
Quella a diodi led ha il vantaggi di poter essere alimentata a pochi volt ma ha un elevatissimo assorbimento, fino a 500 mA.
La retroilluminazione a luce bianca non e' altro che un neon che consuma molto meno ma che richiede una tensione di alimentazione pari a 100-150 V.
Normalmente i display che seguono lo standard Hitachi hanno dei segnali comuni ma spesso essi sono posizionati, a livello di pin, in maniera differente a seconda della casa costruttrice.
Occorrera' quindi fare molta attenzione a non scambiare le alimentazioni per non provocare danni.
Normalmente sono presenti questi pin :

1) VSS Massa
2) VDD +5V
3) Vo Terminale di contrasto dell'lcd. Da collegare al centrale di un trimmer connesso fra VDD e VSS.
4) RS Dice al lcd se il dato che segue e' un comando oppure un dato
5) R/W Legge o scrive comandi/dati
6) E Abilita o meno il display da 7) a 14) Bus dei dati, da D0 a D7


Questi display possono essere usati in tanti modi, con lo shift e il cursore che si comportano in un modo piuttosto che in un altro o con i caratteri 5x10 piuttosto che 5x7.
Questi sono tutti gusti personali, la cosa piu' importante di cui tenere conto e' il tipo di pilotaggio che puo' essere a 4 bit o a 8 bit.
Nel pilotaggi a 8 bit il uC, oltra a tutti i segnali di controllo, deve avere 8 linee da connettere al display.
Nel pilotaggio a 4 bit invece le linee da connettere sono solo 4.
Ovviamente il pilotaggio a 4 bit e' piu' lento perche' ogni volta occorre effettuare una doppia scrittura/lettura ma in compenso consente di risparmiare 4 linee che in un uC di piccole/medie dimensioni non sono poco.

Nella sezione applicazioni trovate un esempio di pilotaggio a 8 bit e uno a 4 bit.
Per il pilotaggio a 4 bit ho realizzato una libreria di funzioni di uso comune che puo' essere inclusa in qualsiasi progetto utilizzi il pilotaggio lcd a 4 bit.
Per semplificare la realizzazione delle librerie e dei programmi la scelta e' stata quella di sovraccaricare la funzione putch dello ed utilizzare quindi la funzione printf per la scrittura vera e propria.

Di seguito trovate due tutorial per il pilotaggio degli lcd fatti molto bene.


Stampa la pagina