Caracter LCD cu controler HD44780 (KS0066). interfață
Simbolul LCD nu este altceva decât o matrice de puncte împărțită în linii și câmpuri de caractere:
Pentru a gestiona această matrice și a scoate simbolurile reale, se utilizează un controler special.
HD44780 (și compatibile cu ele KS0066) - există un standard de facto pentru controlerele LCD monocrom znakosinteziruyuschih afișează cu o interfață paralelă de memorie de 4 biți sau 8 biți. Pe baza acestui controler este disponibil un număr foarte mare de modele cu design diferit și o rezoluție, începând cu 8x1 (opt caractere pe linie), și se termină cu 40x4 (conținând două cip de control independent). Frecvența tipică a controlerului este de 270 kHz.
Controller LCD funcționează cu 3 blocuri de memorie:
1. Controlerul utilizează memoria DDRAM (Display Data RAM) pentru a scoate simbolul, unde sunt stocate codurile ASCII ale simbolurilor pe care le dorim să le vedem pe ecranul LCD. Sub ea sunt alocate 80 de celule de memorie. Este clar că pe ecranul LCD vom vedea doar o parte din caracterele care sunt în DDRAM - dacă LCD-ul nostru are 1 sau 2 linii și afișează 8 caractere pe linie, atunci:
Zona de lucru a afișajului, așa cum se poate vedea, poate fi mutată în celule DDRAM (se obține efectul unei linii de rulare).
2. Regulatorul ia modelele de caractere din CGROM (Character Generator ROM) - memoria generatorului de caractere. Puteți vedea tabelul cu simboluri din specificația de pe HD44780.
3. CGRAM (Character Generator RAM) este prevăzut pentru stocarea simbolurilor utilizatorilor (șabloanele acestora).
De asemenea, controlorul, în funcție de anumite condiții, distribuie datele care intră în el în registrul de instrucțiuni sau în registrul de date.
O interfață tipică cu 14 pini a controlerelor HD44780:
Numerotarea pinilor pe un anumit ecran LCD în foaia de date.
Contrastul imaginii pe ecranul LCD poate fi modificat prin conectarea unei rezistențe aditionale de construcție de 10 kΩ conform schemei:
Cu toate acestea, ar trebui să arate la specificațiile de pe controler (de exemplu, în ecranul LCD Klsn10294v-0 pe cip KS0066 1-Vcc, și 2-GND). Iluminarea din spatele sursei de alimentare poate varia de la model la model, în funcție de tipul acestuia. De obicei, iluminarea din spate este alimentată de 5 volți, de obicei nu este necesară o rezistență limitatoare de curent (50-100 ohmi).
Asignarea pinilor R / S, R / W, E:
La tranziția E de la un jurnal mare. nivel la date scăzute care deja "se blochează" pe ieșirile DB0..DB7, sunt scrise în memoria controlerului LCD pentru prelucrare ulterioară.
Cu un jurnal mare. nivel pe R / S (Register Select), controlerul LCD percepe acest set de biți ca date (codul de simbol) și la un nivel scăzut - ca instrucțiune și le trimite în registrul corespunzător.
Set de comenzi HD44780
Pentru a începe afișarea informațiilor pe ecranul LCD, controlerul trebuie inițializat (informați-l despre interfață, font, offseturi etc.). Controlorul poate accepta numai 11 comenzi:
S / C = 1: mutați afișajul S / C = 0: mutați cursorul
R / L = 1: dreapta R / L = 0: stânga
DL = 1: 8 biți DL = 0: 4 biți
N = 1: 2 linii N = 0: 1 linie
F = 1: 5x10F = 0: 5x8
Inițializarea ecranului LCD
Există 2 moduri de inițializare a controlerului LCD:
1. Prin intermediul unui circuit intern de resetare.
2. În modul manual (prin trimiterea unui număr de comenzi la acesta, prin care setăm modul de operare al LCD-ului)
Circuitul intern de resetare a controlerului începe să funcționeze imediat după pornirea alimentării. In aceasta există un dezavantaj - în cazul în care puterea avem „se strecoara“ la nivelul de lucru lent (mai lent decât 10 ms), The samoinitsializatsiya controler poate trece în mod corespunzător. Cu această metodă de inițializare, controlerul execută în sine următoarele comenzi:
1. Afișați clar
2. Set de funcții:
DL = 1; Date de interfață pe 8 biți
N = 0; Afișare pe 1 linie
F = 0; Font de caractere de 5x8 puncte
3. Afișare control on / off:
D = 0; Afișați opțiunea
C = 0; Cursor oprit
B = 0; Clipește
4. Modul de intrare setat:
I / D = 1; Creșteți cu 1
S = 0; Nici o schimbare
A doua metodă exclude dependența circuitului de sursa de alimentare. Pentru a inițializa controlerul LCD în modul manual, trebuie să executați următorul algoritm:
Interfață paralelă pe 8 biți.
Interfață paralelă pe 4 biți.
După cum puteți vedea, nu e nimic complicat: trimite în echipa LCD pentru echipa, având în vedere timpul executării lor (aproximativ 40 ms) sau prin verificarea pavilionul ocupat controler LCD (atunci trebuie să puneți un microcontroler picior PIN-RW și se pune într-un „1“, atunci când vrem să știm , LCD ocupat sau nu).
Aici, de fapt, tot ceea ce se referă la teoria de a lucra cu LCD-uri simbolice. Dacă ceva a ratat sau a fost confundat, citiți specificația pentru controlerul HD44780 sau engleză. versiune.
În a doua parte, să luăm în considerare implementarea hardware și software a conexiunii microcontrolerului PIC cu ecranul LCD.