LCD 16 × 2 è chiamato così perché; ha 16 colonne e 2 righe. Sono disponibili molte combinazioni come 8 × 1, 8 × 2, 10 × 2, 16 × 1, ecc. Ma la più utilizzata è l'LCD 16 * 2, quindi lo stiamo usando qui.
Tutti i display LCD sopra menzionati avranno 16 Pin e anche l'approccio di programmazione è lo stesso e quindi la scelta è lasciata a te. Di seguito sono riportati i piedini e la descrizione dei pin del modulo LCD 16x2:
Sr. No |
N. pin |
Nome pin |
Tipo di pin |
Descrizione pin |
Connessione pin |
1 |
Pin 1 |
Terra |
Pin di origine |
Questo è un pin di massa dell'LCD |
Collegato alla massa della MCU / fonte di alimentazione |
2 |
Pin 2 |
VCC |
Pin di origine |
Questo è il pin della tensione di alimentazione dell'LCD |
Collegato al pin di alimentazione della fonte di alimentazione |
3 |
Pin 3 |
V0 / VEE |
Pin di controllo |
Regola il contrasto del display LCD. |
Collegato a un POT variabile che può generare 0-5V |
4 |
Pin 4 |
Registrati Seleziona |
Pin di controllo |
Alterna tra registro comandi / dati |
Collegato a un pin MCU e ottiene 0 o 1. 0 -> Modalità di comando 1-> Modalità dati |
5 |
Pin 5 |
Leggere scrivere |
Pin di controllo |
Commuta sul display LCD l'operazione di lettura / scrittura |
Collegato a un pin MCU e ottiene 0 o 1. 0 -> Scrivi operazione 1-> Leggi operazione |
6 |
Pin 6 |
Abilitare |
Pin di controllo |
Deve essere tenuto alto per eseguire l'operazione di lettura / scrittura |
Collegato a MCU e sempre tenuto alto. |
7 |
Pin 7-14 |
Bit di dati (0-7) |
Pin dati / comando |
Pin utilizzati per inviare comandi o dati all'LCD. |
In modalità 4 fili Solo 4 pin (0-3) sono collegati all'MCU In modalità 8 fili Tutti gli 8 pin (0-7) sono collegati all'MCU |
8 |
Pin 15 |
LED positivo |
Pin LED |
Normale funzionamento come il LED per illuminare il display LCD |
Collegato a + 5V |
9 |
Pin 16 |
LED negativo |
Pin LED |
Normale funzionamento come il LED per illuminare il display LCD collegato a GND. |
Collegato a terra |
Va bene se non capisci la funzione di tutti i pin, spiegherò in dettaglio di seguito. Ora, voltiamo indietro il nostro LCD:
Questi cerchi neri sono costituiti da un CI di interfaccia e dai componenti associati per aiutarci a utilizzare questo LCD con l'MCU. Perché il nostro LCD è un LCD a matrice di punti 16 * 2 e quindi avrà (16 * 2 = 32) 32 caratteri in totale e ogni carattere sarà composto da 5 * 8 pixel. Nell'immagine sottostante viene mostrato un singolo carattere con tutti i suoi pixel abilitati.
Quindi ora sappiamo che ogni personaggio ha (5 * 8 = 40) 40 pixel e per 32 caratteri avremo (32 * 40) 1280 pixel. Inoltre, l'LCD dovrebbe anche essere istruito sulla posizione dei pixel.
Sarà un compito frenetico gestire tutto con l'aiuto dell'MCU, quindi viene utilizzato un CI di interfaccia come HD44780, che è montato sul modulo LCD stesso. La funzione di questo IC è di ottenere i comandi ei dati dall'MCU ed elaborarli per visualizzare informazioni significative sul nostro schermo LCD.
Discutiamo del diverso tipo di modalità e opzioni disponibili nel nostro LCD che deve essere controllato dai nostri pin di controllo.
Modalità a 4 bit e 8 bit dell'LCD:
Il display LCD può funzionare in due diverse modalità, vale a dire la modalità a 4 bit e la modalità a 8 bit. In modalità 4 bit inviamo i dati nibble per nibble, prima nibble superiore e poi nibble inferiore. Per quelli di voi che non sanno cosa sia un bocconcino: un bocconcino è un gruppo di quattro bit, quindi i quattro bit inferiori (D0-D3) di un byte formano il bocconcino inferiore mentre i quattro bit superiori (D4-D7) di un byte formano il bocconcino più alto. Questo ci consente di inviare dati a 8 bit.
Mentre in modalità 8 bit possiamo inviare i dati a 8 bit direttamente in un colpo poiché utilizziamo tutte le 8 linee di dati.
Ora devi averlo indovinato, Sì, la modalità a 8 bit è più veloce e impeccabile della modalità a 4 bit. Ma il principale svantaggio è che necessita di 8 linee dati collegate al microcontrollore. Questo ci farà esaurire i pin I / O sul nostro MCU, quindi la modalità a 4 bit è ampiamente utilizzata. Nessun pin di controllo viene utilizzato per impostare queste modalità. È solo il modo di programmare quel cambiamento.
Modalità di lettura e scrittura dell'LCD:
Come detto, lo stesso LCD è costituito da un CI di interfaccia. L'MCU può leggere o scrivere su questo CI di interfaccia. La maggior parte delle volte scriveremo solo sull'IC, poiché la lettura lo renderà più complesso e tali scenari sono molto rari. Informazioni come la posizione del cursore, gli interrupt di completamento dello stato, ecc. Possono essere lette se necessario, ma non rientrano nell'ambito di questo tutorial.
Il CI di interfaccia presente nella maggior parte degli LCD è l' HD44780U, per poter programmare il nostro LCD dovremmo apprendere la scheda tecnica completa dell'IC. La scheda tecnica è fornita qui.
Comandi LCD:
Ci sono alcune istruzioni di comandi preimpostate nell'LCD, che dobbiamo inviare all'LCD tramite un microcontrollore. Di seguito vengono fornite alcune importanti istruzioni di comando:
Codice esadecimale |
Comando al registro istruzioni LCD |
0F |
LCD acceso, cursore acceso |
01 |
Schermo di visualizzazione chiaro |
02 |
Torna a casa |
04 |
Decrementa il cursore (sposta il cursore a sinistra) |
06 |
Cursore di incremento (sposta il cursore a destra) |
05 |
Sposta il display a destra |
07 |
Sposta il display a sinistra |
0E |
Display acceso, cursore lampeggiante |
80 |
Forza il cursore all'inizio della prima riga |
C0 |
Forza il cursore all'inizio della seconda riga |
38 |
2 linee e matrice 5 × 7 |
83 |
Posizione linea 1 cursore 3 |
3C |
Attiva la seconda riga |
08 |
Display OFF, cursore OFF |
C1 |
Salta alla seconda riga, posizione 1 |
OC |
Display ON, cursore OFF |
C1 |
Salta alla seconda riga, posizione 1 |
C2 |
Salta alla seconda riga, posizione 2 |
Controlla i nostri articoli di interfacciamento LCD con diversi microcontrollori:
- Interfacciamento LCD con microcontrollore 8051
- Interfacciamento LCD con il microcontrollore ATmega32
- Interfacciamento LCD con microcontrollore PIC
- Interfacciamento LCD 16x2 con Arduino
- Interfaccia LCD 16x2 con Raspberry Pi utilizzando Python