16 × 2 LCD este denumit astfel deoarece; are 16 coloane și 2 rânduri. Există o mulțime de combinații disponibile, cum ar fi, 8 × 1, 8 × 2, 10 × 2, 16 × 1 etc. Dar cea mai utilizată este LCD-ul de 16 * 2, de aceea îl folosim aici.
Toate afișajele LCD menționate mai sus vor avea 16 pini, iar abordarea de programare este, de asemenea, aceeași și, prin urmare, alegerea vă este lăsată. Mai jos este descrierea Pinout și Pin a modulului LCD 16x2:
Sr. nr |
Pin nr. |
Nume PIN |
Tip pin |
Descrierea pinului |
Conexiune Pin |
1 |
Pinul 1 |
Sol |
Pin sursă |
Acesta este un pin de masă al LCD-ului |
Conectat la pământul sursei de alimentare / MCU |
2 |
Pinul 2 |
VCC |
Pin sursă |
Acesta este pinul de tensiune de alimentare al LCD-ului |
Conectat la pinul de alimentare al sursei de alimentare |
3 |
Pinul 3 |
V0 / VEE |
Pin de control |
Reglează contrastul ecranului LCD. |
Conectat la un POT variabil care poate sursa 0-5V |
4 |
Pinul 4 |
Selectați înregistrare |
Pin de control |
Comută între Registrul de comandă / date |
Conectat la un pin MCU și primește fie 0, fie 1. 0 -> Mod comandă 1-> Mod date |
5 |
Pinul 5 |
Citeste, scrie |
Pin de control |
Comută ecranul LCD între operația de citire / scriere |
Conectat la un pin MCU și primește fie 0, fie 1. 0 -> Operațiune de scriere 1-> Citiți operațiunea |
6 |
Pinul 6 |
Permite |
Pin de control |
Trebuie ținut sus pentru a efectua operația de citire / scriere |
Conectat la MCU și întotdeauna susținut. |
7 |
Pinul 7-14 |
Biți de date (0-7) |
Date / Pin de comandă |
Pinii folosiți pentru a trimite comenzi sau date pe ecranul LCD. |
În modul 4 fire La MCU sunt conectate doar 4 pini (0-3) În modul 8 fire Toți cei 8 pini (0-7) sunt conectați la MCU |
8 |
Pinul 15 |
LED pozitiv |
Pin LED |
Funcționare normală a LED-ului pentru iluminarea ecranului LCD |
Conectat la + 5V |
9 |
Pinul 16 |
LED negativ |
Pin LED |
Funcționare normală a LED-ului pentru iluminarea ecranului LCD conectat cu GND. |
Conectat la masă |
Este în regulă dacă nu înțelegeți funcția tuturor pinilor, vă voi explica în detaliu mai jos. Acum, să ne întoarcem LCD-ul înapoi:
Aceste cercuri negre constau dintr-o IC de interfață și componentele sale asociate pentru a ne ajuta să folosim acest LCD cu MCU. Deoarece LCD-ul nostru este un LCD cu matrice de 16 * 2 puncte și astfel va avea (16 * 2 = 32) 32 de caractere în total și fiecare caracter va fi format din 5 * 8 pixeli. În imaginea de mai jos este afișat un singur caracter, cu toți pixelii activi.
Deci, acum știm că fiecare personaj are (5 * 8 = 40) 40 de pixeli, iar pentru 32 de caractere vom avea (32 * 40) 1280 de pixeli. Mai mult, ecranul LCD ar trebui să fie instruit și despre poziția pixelilor.
Va fi o sarcină agitată să gestionați totul cu ajutorul MCU, prin urmare este utilizat un IC de interfață precum HD44780, care este montat pe modulul LCD în sine. Funcția acestui CI este de a obține comenzile și datele de la MCU și de a le prelucra pentru a afișa informații semnificative pe ecranul nostru LCD.
Să discutăm diferitele tipuri de moduri și opțiuni disponibile pe ecranul nostru LCD, care trebuie controlate de pinii de control.
Modul LCD pe 4 biți și 8 biți:
Ecranul LCD poate funcționa în două moduri diferite, și anume modul pe 4 biți și modul pe 8 biți. În modul 4 biți trimitem datele ciugulit cu ciugulit, mai întâi ciugulit superior și apoi ciugulit inferior. Pentru cei dintre voi care nu știu ce este un ciugulit: un ciugulit este un grup de patru biți, astfel încât cei patru biți inferiori (D0-D3) ai unui octet formează ciugulitul inferior în timp ce cei patru biți superiori (D4-D7) a unui octet formează ciugulitul superior. Acest lucru ne permite să trimitem date pe 8 biți.
În timp ce în modul 8 biți putem trimite datele pe 8 biți direct într-o singură linie, deoarece folosim toate cele 8 linii de date.
Acum trebuie să fi ghicit, Da modul 8 biți este mai rapid și impecabil decât modul 4 biți. Dar dezavantajul major este că are nevoie de 8 linii de date conectate la microcontroler. Acest lucru ne va face să rămânem fără pini I / O pe MCU-ul nostru, astfel încât modul 4 biți este utilizat pe scară largă. Nu sunt utilizați pini de control pentru a seta aceste moduri. Este doar modul de programare care se schimbă.
Modul de citire și scriere a ecranului LCD:
După cum sa spus, LCD-ul în sine constă dintr-un IC de interfață. MCU poate citi sau scrie pe această IC de interfață. De cele mai multe ori vom scrie doar către IC, deoarece citirea îl va face mai complex și astfel de scenarii sunt foarte rare. Informații precum poziția cursorului, întreruperi de completare a stării etc. pot fi citite dacă este necesar, dar nu intră în sfera acestui tutorial.
Interfața IC prezentă în majoritatea LCD-ului este HD44780U, pentru a programa LCD-ul nostru ar trebui să învățăm foaia de date completă a IC-ului. Fișa tehnică este prezentată aici.
Comenzi LCD:
Există câteva instrucțiuni de comenzi presetate pe LCD, pe care trebuie să le trimitem la LCD prin intermediul unui microcontroler. Unele instrucțiuni importante de comandă sunt date mai jos:
Cod Hex |
Comandă către Registrul de instrucțiuni LCD |
0F |
LCD PORNIT, cursor PORNIT |
01 |
Ștergeți ecranul de afișare |
02 |
Intoarce-te acasa |
04 |
Decrementează cursorul (deplasează cursorul la stânga) |
06 |
Incrementează cursorul (deplasează cursorul la dreapta) |
05 |
Afișare Shift dreapta |
07 |
Afișare Shift la stânga |
0E |
Afișaj PORNIT, cursorul intermitent |
80 |
Forțați cursorul să înceapă prima linie |
C0 |
Forțați cursorul să înceapă a doua linie |
38 |
2 linii și matrice 5 × 7 |
83 |
Linia cursorului 1 poziția 3 |
3C |
Activați a doua linie |
08 |
Afișați OFF, cursorul OFF |
C1 |
Salt la a doua linie, poziția 1 |
OC |
Afișaj PORNIT, cursor OPRIT |
C1 |
Salt la a doua linie, poziția 1 |
C2 |
Salt la a doua linie, poziția 2 |
Verificați articolele noastre de interfață LCD cu diferite microcontrolere:
- Interfață LCD cu microcontroler 8051
- Interfață LCD cu microcontroler ATmega32
- Interfață LCD cu microcontroler PIC
- Interfață LCD 16x2 cu Arduino
- Interfață LCD 16x2 cu Raspberry Pi folosind Python