HD44780

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

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

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

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

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

Collegamenti esterni