Sunteți pe pagina 1din 3

Afiajul LCD

Pentru afiarea caracterelor alfanumerice (consacrate sau definite de utilizator), utilizarea dispozitivelor de afiare cu cristale lichide (LCD1) n format matricial este modul cel mai comod i mai
rspndit. Pentru a putea realiza o astfel de aplicaie, ce poate fi considerat drept o aplicaie
complex, managementul datelor afiate trebuie asigurat de un microcontroler.
Pentru realizarea aplicaiilor din cadrul laboratorului se va utiliza un afiaj cu LCD cu 16 coloane
i dou linii. Laboratorul curent este structurat dup cum urmeaz: n prima seciune se va prezenta modul de funcionare al unui LCD, urmnd ca n seciunea a doua s se prezinte funciile i
modul de lucru puse la dispoziie de compilatorul MicroC for Pic pentru lucrul cu LCD-ul.
Seciunea a treia prezint o modalitate comunicaie dintre microcontroler i afiaj.
1. Modul de funcionare al unui afiaj cu cristale lichide
Pentru a se putea comunica cu afiajul este necesar realizarea unei legturi prin intermediul unui
bus de date pe 8 bii sau de 4 bii. Pentru un bus de 8 bii, afiajul are nevoie de o tensiune de
alimentare de +5V i 11 linii I/O. Pentru un bus de 4 bii sunt necesare doar liniile de alimentare
i 7 linii. Cnd afiajul LCD nu este pornit liniile de date sunt TRI-STATE, ceea ce nseamn c
ele sunt n stare de nalt impedan (ca i cum ar fi deconectate) i astfel nu interfereaz cu funcionarea microcontrolerului cnd afiajul nu este adresat. LCD-ul necesit de altfel 3 linii de control de la microcontroler, avnd urmtoarea semnificaie:
linia Enable (E) permite accesul la afiaj prin intermediul liniilor R/W i RS. Cnd aceast linie este LOW, LCD-ul este dezactivat i ignor semnalele de la R/W i RS. Cnd linia
(E) este HIGH, LCD-ul verific starea celor dou linii de control i rspunde corespunztor;
linia Read/Write (R/W) stabilete direcia datelor dintre LCD i microcontroler. Cnd linia este LOW, datele sunt scrise n LCD, cnd este HIGH, datele sunt citite de la LCD;
linia Register Select (RS), utilizat de LCD pentru interpretarea tipului de date de pe liniile de date. Cnd este LOW, o instruciune este scris n LCD, cnd este HIGH, un caracter este scris n LCD
Starea logic n care se gsete fiecare linie de control este urmtoarea:
E:
0 Accesul la LCD dezactivat;
1 Accesul la LCD activat;
R/W: 0 Scrie date n LCD;
1 Citete date din LCD;
RS:
0 Instruciuni;
1 Caracter;
1

Un astfel de dispozitiv este constituit dintr-o matrice de celule lichide care devin opace sau i schimb culoarea
sub influena unui curent sau cmp electric

-1-

Pentru a putea realiza scrierea datelor ntr-un afiaj este necesar parcurgerea urmtoarelor etape:
setarea bitului R/W pe valoarea logic 0;
setarea bitului de RS pe valoarea logic 0 sau 1, n funcie de utilizarea unei instruciuni sau de utilizarea datelor;
se trimit datele ctre liniile de date (dac se execut o scriere);
se seteaz linia E pe valoarea logic 1;
se citesc datele de la liniile de date (dac se execut o citire);
Citirea datelor se realizeaz la fel, cu excepia setrii bitului R/W pe valoarea logic 1.
Pentru a genera un caracter special se utilizeaz reprezentarea din figura 1.
Afiajul LCD mai conine o memorie CGRAM (
Character Generator RAM). Aceast memorie este rezervat pentru caracterele definite de utilizator. Datele din
CG RAM sunt reprezentate sub form de caractere bitmap
de 8 bii. Fiecare caracter ocup maxim 8 bytes n CG
RAM, astfel numrul total de caractere pe care un utilizator poate s le defineasc este 8. Pentru a afia caracterul
bitmap pe LCD, trebuie setat adresa CG RAM la punctul
de start (de obicei 0) i apoi s fie scrise datele n afiaj.
Fig. 1. Reprezentarea caracterelor
speciale.
2. Utilizarea compilatorului MicroC for Pic pentru lucrul cu LCD-uri
Acest compilator pune la dispoziie o librrie de comunicaie cu afiajul, utiliznd o comunicaie
pe 4 linii, o schem electric a legturilor va fi prezentat n seciunea urmtoare.
Legturile externe ale librriei sub form de variabile globale, fiind utilizate n cazul n care
LCD-ul este conectat la portul B (PORTB), la microcontroler i au urmtoarea definiie:
RS line: cu definiia: sbit LCD_RS at RB4_bit;
E: cu definiia: sbit LCD_EN at RB5_bit;
Data 7: cu definiia: sbit LCD_D7 at RB3_bit;
Data 6: cu definiia: sbit LCD_D6 at RB2_bit;
Data 5: cu definiia: sbit LCD_D5 at RB1_bit;
Data 4: cu definiia: sbit LCD_D4 at RB0_bit;
RS direcie pin: sbit LCD_RS_Direction at TRISB4_bit;
E direcie pin:sbit LCD_EN_Direction at TRISB5_bit;
Data 7 direcie pin: sbit LCD_D7_Direction at TRISB3_bit;
Data 6 direcie pin: sbit LCD_D6_Direction at TRISB2_bit;;
Data 5 direcie pin: sbit LCD_D5_Direction at TRISB1_bit;
-2-

Data 4 direcie pin: sbit LCD_D4_Direction at TRISB0_bit

Principalele funcii ce pot fi utilizate pentru afiaj sunt urmtoarele:


void Lcd_Init(); - realizeaz iniializarea afiajului;
void Lcd_Out(char rnd, char coloan, char *text); - afieaz textul text la poziia rnd
i coloan;
void Lcd_Out_Cp(char *text); - afieaz textul text la poziia curent a cursorului;
void Lcd_Chr(char rnd, char coloan, char out_char); - afieaz caracterul out_char la
poziia rnd i coloan;
void Lcd_Chr_Cp(char out_char); - afieaz caracterul out_char la poziia curent a
cursorului;
void Lcd_Cmd(char out_char); - trimite comenzi ctre LCD, parametrul out_char reprezint comanda ce poate fi trimis. Lista comenzilor ce pot fi trimise se gsete n Helpul compilatorului;
3. Realizarea legturii dintre Microcontroler i LCD
Afiajul ce va fi utilizat n Proteus pentru simulare este: LM016L.
Schema electric ce va fi utilizat pentru comunicaie este prezentat n figura urmtoare:

Fig. 3. Realizarea comunicaiei dintre microcontroler si LCD.

-3-

S-ar putea să vă placă și