(LM016L, LTN221, ecc.) (agg. al 19-05-2002) |
Introduzione
Innanzi tutto in quest’articolo si parlerà di display del tipo alfanumerico e pertanto ne sono esclusi quelli grafici e a "sette segmenti".
Il mercato ne offre diversi modelli che si differenziano soprattutto per il numero dei caratteri visualizzabili e la presenza della retroilluminazione; in ogni caso essendo garantita la compatibilità hard/software, sono accomunati da analoghe caratteristiche tecniche.
Caratteristiche tecniche:
In un certo senso, lavorare con questi dispositivi è come utilizzare un terminale o meglio una stampante. E' sufficiente inviare il codice del carattere richiesto per mezzo dell’interfaccia parallela e tutto il resto è per così dire automatico.
L'unico ostacolo è rappresentato dal fatto che l'apparecchiatura posta al comando del display dovrà essere del tipo a microprocessore e difficilmente potrà essere sostituita con una a componentistica discreta.
Una caratteristica su cui si deve porre molta attenzione: 'il tempo di esecuzione dei comandi'. Tale variabile deve essere tenuta molto in considerazione, sopratutto quando vengono inviate rapide sequenze di comandi. In teoria, prima di ogni comando dovrebbe essere testato il cosiddetto bit di stato 'busy', che riflette lo stato di 'pronto' del processore grafico.
In genere tale procedura viene omessa, a favore di altre che favoriscono un codice più snello e veloce.
Tavola comandi
Istruzione |
|
|
tempo esecuz. |
|||||||||
|
R/W |
|
|
|
|
|
|
|
|
|||
Clear |
|
|
|
|
|
|
|
|
|
|
Cancella tutto il display e posiziona il cursore in posizione Home |
1,5ms |
Return Home |
|
|
|
|
|
|
|
|
|
|
Il cursore e la pagina del display vengono posizionati nella posizione di Home. Il contenuto della DDRAM non viene alterato. |
1,5ms |
Setta movimenti |
|
|
|
|
|
|
|
|
|
|
"I/D:
direz. cursore (1=increm.) (0=decrem.) S: shift display (1= abilita shift)" |
|
Controlli Display |
|
|
|
|
|
|
|
|
|
|
D: enable display (0=OFF) (1=ON) C: enable cursore (0=OFF) (1=ON) B: blink cursore (0=OFF) (1=ON)" |
|
Shift cursore e display |
|
|
|
|
|
|
|
|
|
|
S/C: (0=muove cursore) (1=muove
display) R/L: (0=muove sinistra) (1=muove destra) |
|
Setta Interfaccia |
|
|
|
|
|
|
|
|
|
|
DL: bit interfaccia (0=4bit) (1=8bit) N: n. linee display (0=1 linea) (1=2 linee) F: font carat. (0=5x7) (1=5x10)" |
|
Setta indiriz. CG RAM |
|
|
|
|
|
Abilita la RD/WR sulla CG RAM all'indirizzo specificato |
|
|||||
Setta indiriz. DD RAM |
|
|
|
|
Abilita la RD/WR sulla DD RAM all'indirizzo specificato |
|
||||||
Legge busy e counter |
|
|
|
|
Legge il flag di busy e la posizione attuale del cursore |
|
||||||
Write data |
|
|
|
Write data nella memoria CG RAM o DDRAM |
|
|||||||
Read data |
|
|
|
Read data nella memoria CG RAM o DDRAM |
|
Schema connessioni
1 massa 7
D0 2 aliment. 5 Volt 8
D1 3 Vo (polarizz. display) 9
D2 4 RS 10
D3 5 W/R (write / read) 11
D4 6 E (enable) 12
D5 13
D7 14
D8
Retro-illuminazione
Anche se la connessione tipica di questi display è di 14 terminali, in alcuni casi si possono trovare due pin aggiuntivi per l'alimentazione della retroilluminazione.
Per l'alimentazione della retroilluminazione vengono utilizzati due sistemi:
Schema interfaccia
Gli schemi sottostanti si riferiscono ad un interfacciamento con micro serie ST62xx. Tale configurazione non permette l'utilizzo di comandi di lettura, sacrificati per rendere il software più snello e risparmiare un 'pin'.
In genere il comando di lettura è utilizzato unicamente per testare il bit di 'busy', che permette di testare se il processore del display è in grado di accettare ulteriori scritture. Con un buon progetto dei tempi di esecuzione del software è possibile evitare eventuali accavallamenti di comandi.
Nel caso di interfacciamento a 4 bit, il software dovrà essere in grado di trasmettere il byte di comando in due tempi. Si allungano leggermente i tempi di esecuzione, ma si riesce a risparmiare n. 4 'pin'.
Utilizzando un interfaccia a 8 bit, come è ovvio aspettarsi, avremo un codice programma più ridotto, ma a fronte di un hardware più 'sprecone'. Tale soluzione in genere è sconsigliata, in quanto il guadagno di tempo così ottenuto, verrà vanificato dalle pause che dovranno essere introdotte per sincronizzare il trasferimento dei dati.
Programmazione
Configurazione
Prima poter utilizzare il display è necessario configurare il processore grafico che sovraindende la visualizzazione, e pertanto dovranno essere trasmessi in sequenza i seguenti comandi:
Gestione
by C. Michieletto