Bună ziua, dragi cititori!
Este timpul să vă conectați la ecranul microcontrolerului, care va afișa o varietate de informații. În acest scop, ecranele LCD bazate pe controlerul HD 44780, cum ar fi WH 1601, de la WINSTAR, sunt perfecte.
Costul acestor LCD-uri este destul de scăzut, ceea ce le permite să fie utilizate în proiecte de amatori. Acest afișaj poate afișa o linie de 16 caractere. Există, de asemenea, modele care afișează 2 linii cu 16 caractere, 2 linii cu 8 caractere și multe altele. Afișajul este controlat prin transmiterea de comenzi și date de la microcontrolerul de control la controlerul de afișaj.
Scopul celor 16 borne de afișare WH1601:
VSS - 0 sursa de alimentare, masă.
Vdd - +5 volți.
V - Afișați setarea de contrast a afișajului, alimentând tensiunea de la 0 la tensiunea de alimentare.
RS - Dacă ieșirea RS este logică "1", datele sunt transmise, dacă se trimite o comandă logică "0".
R / W - Direcția transmisiei. Când R / W = "1", citirea de pe afișaj este efectuată, când R / W = "0", înregistrarea este efectuată pe afișaj.
E - La comutarea nivelului logic pe linie, generează date de afișare citire ciclu / scriere prezentate pe DB DB 7 constatări 0-.
DB 0-DB 7 - Ieșiri de date. Cu acești coduri, codificăm un octet pentru a transmite afișajul sau decodificăm octetul primit de pe ecran. Dacă DBx = "1" acest bit este unul, cu DBx = "0", bitul este zero.
A - Anodul ecranului de iluminare cu LED.
K - ecran catodic cu LED-uri.
Transferul de date este după cum urmează:
1. Setați unitatea logică la RS. pentru a indica operatorului transferul de date.
2. Setați zero-ul logic pe linia R / W, deoarece direcția transferului este pe afișaj.
3. Expunem octetul de date pe linia DB 0-DB 7.
4. Dați unitatea logică la linia E. timp de 60 de milisecunde, apoi alimentați linia cu un zero logic.
Citiți și AVR pentru începători. Lecția 8. ADC.
Astfel, scriem octetul de date în memoria DDRAM corespunzătoare. CGROM sau CGRAM. Să luăm în considerare fiecare tip de memorie în detaliu:
DDRAM - memorie alocată pentru stocarea caracterelor pe ecran. Tot ceea ce este înregistrat în această memorie este afișat instantaneu pe ecran. Înregistrarea caracterelor trebuie făcută în cod ASCII.
CGROM - memoria alocată pentru stocarea tabelului simbolurilor. Când scrieți un octet în DDRAM. Simbolul corespunzător este prezentat în acest tabel și este afișat.
CGRAM - memoria alocată pentru stocarea simbolurilor personalizate. Dacă aveți nevoie pentru a afișa un caracter care nu este un tabel standard, puteți desena le și puneți-l în tabelul de mai sus. Această lecție nu va fi luată în considerare.
În plus față de transmisia de date, este necesar să se trimită comenzi speciale pe ecran. De exemplu, selectarea memoriei, ștergerea ecranului, schimbarea poziției cursorului și așa mai departe. Controlorul HD 44780 are următorul tabel de comenzi:
Acest tabel necesită explicații.
Luați în considerare formarea unei comenzi pe acest tabel cu exemplul unei comenzi pentru deplasarea cursorului / ecranului:
Primul pas este un număr de comandă este scris și apoi setați parametrii (vezi. Tabelul de mai sus) și apoi pot merge-semnificativi biți.
Comanda este transmisă folosind următorul algoritm:
1. Setați valoarea logică zero la RS. Pentru a indica operatorului transferul comenzii.
2. Setați zero-ul logic pe linia R / W, deoarece direcția transferului este pe afișaj.
3. Expunem octetul de comandă pe linia DB 0-DB 7.
4. Dați unitatea logică la linia E. timp de 60 de milisecunde, apoi alimentați linia cu un zero logic.
De exemplu, luați în considerare o secvență de comenzi care implementează următorul algoritm:
Afișați simbolul "H".
Pentru a implementa acest algoritm, îi oferim controlerului următoarele secvențe de comenzi:
* Înainte de trimiterea comenzilor, setați R / W = 0, RS = 0
Citiți și AVR. Limbi de programare.
Comanda 001 "Definiți cursa și lățimea magistralei de date".
DL = 1 - lățimea magistralei de date - 8bit.
N = 0 este un șir de caractere.
F = 0 - matrice de simboluri 5 x 8 puncte.
Comanda 00001 "Selectează modul de afișare"
- D = 1 - Ecranul este pornit.
- C = 0 - Cursorul sub forma unei liniuțe este dezactivat.
- I = 0 - Cursorul în formă de familiaritate pâlpâitoare este dezactivat.
Înainte de trimiterea setului de caractere R / W = 0, RS = 1
Transmiterea simbolului "H" în memoria DDRAM.
Ca un exemplu, se colectează un dispozitiv simplu initializarea LCD, și de ieșire a unui șir de caractere „Bună!“ Pentru a-l.
De data aceasta, să încercăm să simulăm funcționarea dispozitivului nostru. Programul Proteus ne va ajuta în acest sens. Lecții din care puteți găsi pe site-ul nostru. Acest program oferă oportunități ample pentru emularea funcționării diverselor dispozitive pe microcontrolere.
Să compilem o schemă simplă.
Codul firmware pentru C: