Caratteri CGRAM nei display
LCD
a matrice
|
Saper leggere e scrivere
Fino ad ora abbiamo parlato di scrittura della CGRAM e della DDRAM, ma il
controller permette anche di leggere i dato contenuti nella RAM.
La lettura dipende dalla linea RW:
- RW = 0 scrittura
- RW = 1 lettura
Quindi, per consentire la lettura della RAM, l' interfaccia tra modulo
display e microcontroller vdeve comprendere questa linea.
|
|
|
Possibile sia scrittura che lettura |
|
Possibile solo la scrittura |
Se, per necessità di risparmio di pin del microcontroller, non utilizziamo la
linea RW, collegandola alla Vss sul modulo, sarà possibile solo la
scrittura, ma non la lettura |
Le operazioni di lettura del contenuto della CGRAM si eseguono allo stesso
modo delle operazioni di lettura della DDRAM:
- per prima cosa occorre inviare un comando con l' indirizzo di CGRAM che
si desidera leggere. Questo, come per la scrittura, posiziona il contatore
di indirizzi al punto voluto.
- poi si procede inviando un comando di lettura che riporterà il valore
contenuto nella locazione
- se si devono leggere più locazioni successive, entra in azione l'
automatismo già visto, con cui il controller avanza il contatore di
indirizzi automaticamente
La struttura del comando di lettura è la seguente:
Comando |
Controllo |
|
Dato |
Funzione |
Read data from
CGRAM |
RS |
RW |
|
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Legge un dato dalla CGRAM |
1 |
1 |
|
dato
alla CGRAM |
mentre il comando di scrittura dell' indirizzo è quello precedentemente visto:
Comando |
Controllo |
|
Dato |
Funzione |
Write address
to CGRAM |
RS |
RW |
|
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Fissa un indirizzo della CGRAM per la
successiva scrittura o lettura |
0 |
0 |
|
0 |
1 |
indirizzo
della CGRAM |
Il dato letto dalla CGRAM è composto dagli 8 bit salvati in quella data
locazione che è stata indirizzata.
letture di più bytes consecutivi non necessitano dell' aggiornamento dell'
indirizzo, che avviene automaticamente.
Questa possibilità di scrittura e lettura consente un uso
"improprio" della RAM del modulo LCD, ovvero come memoria volatile
di uso generale per il microcontroller. Così, nella CGRAM, se non
vengono usati i simboli con codice tra 00h e 07h, potranno essere utilizzati
fino a 64 bytes.
Si ricorda che si tratta di un'area di RAM, il cui contenuto andrà perso alla
caduta della tensione di alimentazione.
|