Caratteri CGRAM nei display
LCD
a matrice
|
5x11
Abbiamo detto che i caratteri sono rappresentabili in matrici da 5x8 o da
5x11, ma non abbiamo dettagliato questa seconda soluzione, che vediamo ora.
Dobbiamo considerare che ogni elemento di visualizzazione del display è
composto da 8 file di 5 punti, quindi è possibile visualizzare sia una
matrice 5x8 che una 5x7. Per poter visualizzare una matrice di 11 righe
occorre utilizzare due elementi di visualizzazione sovrapposti.
Quindi, un display da 16 caratteri per 2 righe potrà presentare 32 simboli
da 5x7 o per 8 ma solo 16 da 5x11.
|
Nel caso di matrici a 8 linee, il controller viene configurato per
utilizzare le linee COM1-COM8 per ogni elemento visualizzato. |
|
Se il display ha due linee visualizzabili, i segnali COM1-COM8
servono la prima linea, mentre i segnali COM9-COM16 servono le matrici
della seconda linea di caratteri.
Queste configurazioni sono ottenute all' inizializzazione con un
opportuno comando. |
|
Per la matrice 5x11, il controller va configurato per utilizzare le
linee COM1-COM11 per ogni elemento visualizzato.
|
Questa operazione va fatta nell' inizializzazione del controller.
- La selezione tra il formato 5x7 o 5x11 va imposto durante l'
inizializzazione del controller e vale fino ad una nuova
inizializzazione o al reset del controller.
- Non è possibile
mescolare simboli con matrice 5x8 e 5x11 nella stessa sessione di lavoro.
Quindi, volendo presentare matrici di uno dei due tipi, occorrerà inizializzare il
controller con un determinato comando; quando si desidera visualizzare simboli
nell' altro formato occorre re-inizializzare nuovamente il controller con la corretta
configurazione.
Alcuni controller superano questo limite con possibilità semi grafiche o con
la disponibilità di tre linee di caratteri sul display, di cui due si possono
unire per formare una sola linea di simboli di dimensione maggiore.
|
Il formato 5x11 non è molto usato in quanto, pur presentando simboli più
grandi o più dettagliati:
- riduce il numero dei simboli visualizzabili
- non è disponibile in tutti i display
- i simboli sono spesso poco gradevoli, in quanto il pannello LCD presenta
una certa distanza fisica tra un elemento di visualizzazione e quello
della fila sottostante, il che deforma il carattere.
- i caratteri 5x11 disponibili in ROM sono in numero molto limitato
(tipicamente 32 caratteri).
Comunque, dove il modulo LCD lo consente, è possibile utilizzare caratteri
5x11. E, nel caso in cui si voglia utilizzare la CGRAM, automaticamente i
simboli contenuti saranno considerati nel formato 5x11.
Questo richiede di utilizzare due blocchi di 8 bytes consecutivi per ogni
simbolo e quindi riduce la possibilità di creazione a soli 4 simboli.
La procedura di creazione del simbolo e il suo richiamo e la stessa vista
per quelli a 8 righe; qui se ne utilizzeranno 11, di cui 8 nel primo gruppo di
bytes e 3 in quello successivo.
|
Ad esempio, un carattere 5x10 potrà presentarsi come nel diagramma a
lato.
Il carattere occupa 16 bytes, ovvero tutte le locazioni CGRAM da
00h a 0Fh.
Il carattere successivo inizierà a 10h.
Solamente i primi 11 bytes di ogni blocco sono significativi. la
scrittura degli altri 5 non ha alcuna effetto sul carattere
visualizzato.
Come nel caso 5x7 vs. 5x8, anche qui la possibilità è una matrice
5x11, ma in pratica si utilizza una matrice 5x10, lasciando l'
undicesima riga per il cursore, ovvero l' undicesimo bytes a 0. |
Ad esempio:
; g 10
LCDcharg11 db 00,00,0x0D,0x13,0x11, 0x11,0x0F,1,1,1,0x0F,0,0,0,0,0
;0x00 ; . . . . .
;0x00 ; . . . . .
;0x0D ; . # # . #
;0x13 ; # . . # #
;0x11 ; # . . . #
;0x11 ; # . . . #
;0x0F ; . # # # #
;0x04 ; . . . . #
;0x04 ; . . . . #
;0x0f ; . # # # #
;0x00 ; . . . . . cursor row
Ovviamente la scrittura riguarderà 16 bytes invece di 8; da notare che i 5
bytes finali non vengono considerati nella visualizzazione e possono assumere
qualsiasi valore. Al limite, potrebbero anche non essere scritti.
Il richiamo dei
caratteri sarà effettuato con codici che vanno da 00h a 04h.
Simbolo |
Codice |
Indirizzo relativo
in CGRAM |
Area occupata |
Indirizzo assoluto
in RAM |
1 |
00 |
00h |
00 - 0Fh |
40h |
2 |
01 |
10h |
10 - 1Fh |
50h |
3 |
02 |
20h |
20 - 2Fh |
60h |
4 |
03 |
30h |
30 - 3Fh |
70h |
Scrittura del simbolo in CGRAM e suo richiamo in DDRAM sono operazioni del
tutto analoghe a quanto vista finora per le matrici 5x8.
|