Utilizarea unui afișaj de caractere LCD cu un microcontroller PIC poate fi o experiență plină de satisfacții, oferind o modalitate simplă de a prezenta informații în diferite sisteme încorporate. În calitate de furnizor de afișaje de caractere LCD, vă voi ghida prin proces, de la înțelegerea elementelor de bază până la implementarea unui sistem de afișare funcțională.
Înțelegerea afișajelor de caractere LCD
Afișele de caractere LCD sunt utilizate pe scară largă în sistemele încorporate, datorită simplității și eficacității lor de cost. Sunt concepute pentru a arăta personaje alfanumerice și câteva simboluri speciale. Aceste afișaje au dimensiuni diferite, cum ar fiAfișaj LCD 16x1, care poate arăta 16 personaje într -o singură linie,0802 Afișare LCDcu 8 caractere pe linie și 2 linii și20x2 Modul LCD afișaj LCD, capabil să prezinte 20 de caractere pe linie pe 2 linii.
Componentele de bază ale unui afișaj de caractere LCD includ un strat de cristal lichid, electrozi și o lumină de fundal. Stratul de cristal lichid își schimbă proprietățile optice atunci când se aplică un câmp electric, permițând să treacă sau să fie blocat lumina, formând astfel caractere vizibile. Electrozii sunt folosiți pentru a controla câmpul electric, iar lumina de fundal oferă iluminare pentru o mai bună vizibilitate.
Pic Microcontroller Basics
Microcontrolerele PIC sunt populare în lumea sistemelor încorporate, datorită costului scăzut, ușurinței de utilizare și gamei largi de periferice disponibile. Acestea sunt produse de tehnologia microchip și vin în diverse familii și modele, fiecare cu caracteristici și capacități diferite.
Pentru a interfața un afișaj de caractere LCD cu un microcontroller PIC, trebuie să înțelegem pinii I/O (intrare/ieșire) ale microcontrolerului. Acești pini pot fi configurați ca intrare sau ieșire și sunt folosite pentru a trimite și primi semnale între microcontroller și afișajul LCD.
Conexiune hardware
Primul pas în utilizarea unui afișaj de caractere LCD cu un microcontroller PIC este de a face conexiunile hardware corespunzătoare. Iată un ghid general pentru un afișaj tipic LCD 16x2:
- Alimentare electrică: Conectați știftul VSS (GND) al LCD la solul microcontrolerului PIC și pinul VDD (5V) la sursa de alimentare 5V a microcontrolerului. Pinul V0 este utilizat pentru reglarea contrastului, care poate fi conectat la un potențiometru pentru a regla contrastul afișajului.
- Pinii de control: PIN -ul RS (Registr Select) este utilizat pentru a selecta între registrul de instrucțiuni și registrul de date al LCD. Conectați -l la un pin de ieșire al microcontrolerului PIC. PIN -ul RW (citire/scriere) este utilizat pentru a selecta între operațiunile de citire și scriere. De obicei, îl conectăm la sol pentru operațiuni de scriere - numai. Pinul E (activare) este utilizat pentru a bloca datele în ecranul LCD. Conectați -l la un alt pin de ieșire al microcontrolerului PIC.
- Pini de date: Afișajul LCD are 8 pini de date (D0 - D7). Putem conecta acești pini la pinii de ieșire ale microcontrolerului PIC. În unele cazuri, pentru a salva pinii I/O, putem folosi un mod de 4 biți, unde sunt conectate doar D4 - D7.
Iată un exemplu simplu de conexiune hardware într -un format de tabel:
| PIN LCD | Pic Pin microcontroller |
|---|---|
| VSS | GND |
| VDD | 5V |
| V0 | Potențiometru |
| Rs | Pinul de ieșire 1 |
| RW | GND |
| ŞI | Pinul de ieșire 2 |
| D4 | Pinul de ieșire 3 |
| D5 | Pinul de ieșire 4 |
| D6 | Pinul de ieșire 5 |
| D7 | Pinul de ieșire 6 |
Programare software
După realizarea conexiunilor hardware, trebuie să scriem software pentru a controla ecranul LCD folosind microcontrolerul PIC. Următorul lucru este un proces general pentru programare:
-
Inițializare: Înainte de a utiliza LCD, trebuie să -l inițializăm. Aceasta include setarea modului de afișare (de exemplu, 8 - bit sau 4 - bit, număr de linii, font de caractere), ștergerea afișajului și pornirea afișajului.
-
Trimiterea comenzilor: Trimitem comenzi către LCD pentru a -și controla funcționarea, cum ar fi mutarea cursorului, ștergerea afișajului, etc. Pentru a trimite o comandă, setăm pinul RS la Low (pentru registrul de instrucțiuni) și trimitem octetul de comandă corespunzător la pinii de date. Apoi, pulsim pinul E pentru a bloca datele în ecranul LCD.
-
Trimiterea de date: Pentru a afișa caractere pe ecranul LCD, setăm pinul RS la mare (pentru registrul de date) și trimitem codul ASCII al caracterului la pinii de date. Apoi, pulsim pinul E pentru a bloca datele.
Iată un exemplu simplu de cod în C pentru un microcontroller PIC16F84A folosind un mod de 4 biți pentru a controla un afișaj LCD 16x2:


#include <pic.h> #define rs ra0 #define en ra1 #define d4 ra2 #define d5 ra3 #define d6 ra4 #define d7 ra5 void întârziere_ms (unsigned int ms) {nesemnat int i, j; for (i = 0; i <ms; i ++) pentru (j = 0; j <1275; j ++); } void lcd_command (nesemnat char cmd) {rs = 0; D4 = (cmd >> 4) & 0x01; D5 = (cmd >> 5) & 0x01; D6 = (cmd >> 6) & 0x01; D7 = (cmd >> 7) & 0x01; Ro = 1; întârziere_ms (1); Ro = 0; D4 = cmd & 0x01; D5 = (cmd >> 1) & 0x01; D6 = (cmd >> 2) & 0x01; D7 = (cmd >> 3) & 0x01; Ro = 1; întârziere_ms (1); Ro = 0; DARAY_MS (2); } void lcd_data (nesemnat char dat) {rs = 1; D4 = (dat >> 4) & 0x01; D5 = (dat >> 5) & 0x01; D6 = (dat >> 6) & 0x01; D7 = (dat >> 7) & 0x01; Ro = 1; întârziere_ms (1); Ro = 0; D4 = dat & 0x01; D5 = (Dat >> 1) & 0x01; D6 = (dat >> 2) & 0x01; D7 = (dat >> 3) & 0x01; Ro = 1; întârziere_ms (1); Ro = 0; DARAY_MS (2); } void lcd_init () {lcd_command (0x33); LCD_COMMAND (0x32); LCD_COMMAND (0x28); LCD_COMMAND (0x0C); LCD_COMMAND (0x06); LCD_COMMAND (0x01); DARAY_MS (2); } void main () {trisa = 0x00; lcd_init (); LCD_DATA ('H'); LCD_DATA ('E'); lcd_data ('l'); lcd_data ('l'); LCD_DATA ('O'); în timp ce (1); }
Depanare
Când utilizați un afișaj de caractere LCD cu un microcontroller PIC, puteți întâmpina unele probleme. Iată câteva probleme și soluții comune:
- Fără afișare: Verificați sursa de alimentare, reglarea contrastului și conexiunile hardware. Asigurați -vă că LCD -ul este alimentat corespunzător, contrastul este ajustat corect și toate pinii sunt conectați corect.
- Personaje îngrozitoare: Acest lucru se poate datora transmiterii incorecte a datelor sau inițializării incorecte. Verificați codul software pentru a vă asigura că datele sunt trimise corect și LCD -ul este inițializat corect.
- Cursorul nu se mișcă: Verificați comenzile trimise către LCD pentru mișcarea cursorului. Asigurați -vă că comenzile corecte sunt trimise în registrul de instrucțiuni al LCD.
Concluzie
Utilizarea unui afișaj de caractere LCD cu un microcontroller PIC este un proiect practic și interesant. Înțelegând conexiunile hardware și programarea software, puteți crea diverse sisteme încorporate care pot afișa informații utile. Ca furnizor de afișaje de caractere LCD, oferim o gamă largă de afișaje de înaltă calitate, inclusivAfișaj LCD 16x1,0802 Afișare LCD, și20x2 Modul LCD afișaj LCD. Dacă sunteți interesat să cumpărați produsele noastre sau aveți întrebări cu privire la utilizarea afișajelor LCD cu microcontrolere, vă rugăm să nu ezitați să ne contactați pentru discuții suplimentare despre achiziții.
Referințe
- Tehnologie microcip. Fișă de date PIC16F84A.
- Fișa de date Hitachi HD44780U LCD.
