Tutorials - Elettronica

 
 

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.

  1. 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.
  2. 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.

 


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 04/12/12.