L'HD44780 è un ASIC prodotto da Hitachi, in grado di controllare display LCD capaci di visualizzare solo caratteri. Vengono commercializzati display completi di controllore di varie dimensioni a partire da 8x1, costituito da una riga di 8 caratteri, fino a dimensioni più grandi tra cui 8x2, 16x2, 20x2, 16x4, 20x4, ecc.

Display retroilluminato controllato da un HD44780

Per la sua diffusione l'HD44780 è considerato ormai uno standard de facto per il controllo di display LCD. Esso infatti viene usato soprattutto in ambito embedded per realizzare display di apparecchi elettrici e hobbystico a causa della larga versatilità e facilità di interfacciamento.

Nonostante spesso si faccia riferimento a display LCD, un controller compatibile con l'HD44780 può essere montato anche in display OLED o VFD.

Disposizione pin modifica

Numero del pin Funzione del pin
1 Vss (Massa)
2 Vcc (Genericamente 5V)
3 Vee (Controllo contrasto, da 2V a -3V secondo i tipi)
4 R/S (0 per selezionare l'invio di un comando, 1 per i dati)
5 R/W (0 per selezionare la scrittura di dati o comandi, 1 per la lettura dei dati o dello stato)
6 E (inizia il ciclo di scrittura o lettura, secondo R/S e R/W)
7 D0 (Bus dati)
8 D1 (Bus dati)
9 D2 (Bus dati)
10 D3 (Bus dati)
11 D4 (Bus dati)
12 D5 (Bus dati)
13 D6 (Bus dati)
14 D7 (Bus dati)
15 A (Vcc retroilluminazione, se presente)
16 K (Vss retroilluminazione, se presente)

Notare che questa è la disposizione standard, ma la posizione dei pin, come anche altri valori, possono cambiare di modello in modello. I livelli logici 0 ed 1 utilizzati sono TTL compatibili.

Modalità di trasferimento modifica

L'HD44780 supporta il trasferimento parallelo sia di 8 bit (quindi l'intero comando), che di 4 bit (nibble).

Esempio: se è stata selezionata la modalità di trasferimento ad otto bit, il comando 10000001 verrà inviato per intero, quindi DB7 sarà pari a 1, DB6 uguale a 0, DB0 uguale a 1 e così via.

Se è selezionata la modalità di trasferimento a 4 bit, saranno utilizzati solo i pin da DB7 a DB4, verranno quindi effettuati due trasferimenti, prima verranno inviati i primi quattro bit del dato (1000), poi gli ultimi (0001).

Comandi supportati modifica

Tutti i comandi inviati al 44780 devono essere trasferiti con il pin R\S a zero.

I comandi possono essere di vario tipo:

  • Inizializzazione: sono comandi genericamente eseguiti una sola volta, che indicano la modalità di visualizzazione, il verso di scorrimento del cursore, determinano se il cursore dovrà lampeggiare, la modalità di trasferimento (4/8 bit), la dimensione dei caratteri ecc.
  • Posizionamento: indicano al controller dove scrivere il prossimo carattere, genericamente vengono usati per cambiare riga del display.
  • Definizione di nuovi caratteri: l'HD44780 prevede la possibilità di definire fino a 8 caratteri personalizzati.

Per ulteriori informazioni sui comandi è consigliata la lettura del datasheet del display a cui si è interessati.

Scrittura di un carattere modifica

Per la scrittura di un carattere è necessario:

  • Accertarsi che il cursore si trovi nel punto in cui si desidera stampare il carattere;
  • impostare a 1 il pin R\S; a 0 il pin R\W;
  • inviare il codice ASCII del carattere
  • impostare a 1 il pin E per minimo 450 nanosecondi e riportarlo a 0

Altri progetti modifica

Collegamenti esterni modifica