Znakové LCD displeje - časť 1.
Základy ovládania LCD displejov kompatibilných s radičom HD44780
Protostack, 08.09.2010-00:00

Tento druh LCD displejov má niekoľko spoločných vlastností, jednou z nich je, že obsahujú obvod (nazývaný radič), ktorý nám uľahčuje prácu s displejom. Vykonáva za nás (za náš v aplikácii použitý mikrokontrolér) činnosti, ktoré by sme inak museli sami ošetriť vo firmvéri mikrokontroléra. Radič obsahuje komunikačné rozhranie, preddefinovanú sadu znakov atď. Nám potom stačí poslať cez rozhranie niekoľko príkazov a následné znaky a môžeme sa kochať vykresleným textom. Rovnako ako pri iných súčiastkach, aj znakové LCD displeje vyrába niekoľko výrobcov. Každý výrobca, samozrejme, dá do svojho modulu displeja vlastný radič, avšak všetky tieto radiče sú kompatibilné s radičom HD44780, ktorý sa stal akýmsi štandardom pre tento typ displejov (napr. nami používaný modul displeja obsahuje radič ST7065C).


Rozloženie vývodov

Rozloženie vývodov, ako aj samotný displej môžeme vidieť na obrázku hore. Posledné dva vývody 15 a 16 sú voliteľné a sú použité iba v prípade, že displej má podsvietenie. Zapojenie základných vývodov LCD modulu (napájanie, kontrast, podsvietenie) vidíme na schéme pod týmto odstavcom. K napájaniu a podsvieteniu myslím nie je čo dodať. Kontrast sa nastavuje potenciometrom (trimrom) pripojeným na vývod 3 displeja. Na schéme si ďalej môžeme všimnúť vývod 5, ktorý je pripojený k zemi. Týmto vývodom sa nastavuje, či chceme na displej zapisovať alebo z displeja čítať (z/do pamäte radiča v displeji). Pretože čítanie z displeja je veľmi zriedkavé, obvykle sa tento vývod pripojí k zemi a na displej je umožnené iba zapisovať, čo pre väčšinu aplikácií postačuje a zároveň tým ušetríme jeden vývod mikrokontroléra.


Posielanie príkazov a dát

Príkazy a dáta sú do displeja posielané po ôsmych dátových vodičoch (vývody 7 až 14). Vodičom RS (vývod 4) posielame displeju informáciu o tom, či sa na dátových vodičoch nachádza príkaz alebo dáta. Ak RS = 0, znamená to, že radič displeja si interpretuje informáciu, ktorá sa nachádza na dátových vodičoch ako príkaz. Ak RS = 1, radič si v tomto prípade interpretuje informáciu na dátových vodičoch ako dáta. Príkaz alebo dáta sú do radiča zapísané pri dobežnej hrane signálu na vodiči EN (vývod 6), týmto sa myslí prechod z vysokej úrovne (log.1) na nízku úroveň (log.0).

Takže, ak chcete zapísať príkaz alebo dáta do radiča displeja, potrebujete vykonať nasledujúcu sekvenciu:






Medzi jednotlivými vyššie spomínanými operáciami existujú isté minimálne hodnoty časov, ktoré musia byť dodržané pre korektné fungovanie zápisu dát na displej. V článku ich neuvádzame, ale čitateľ ich môže nájsť na strane 52 datasheetu radiča HD44780. Pre lepší prehľad je na strane 58 toho istého datasheetu nakreslený časový diagram jednotlivých operácii, časov ich trvania, časov medzi jednotlivými operáciami a ďalších dôležitých údajov.

Vyššie spomínaný spôsob posielania príkazov a dát do radiča displeja sa označuje ako 8 - bitový mód (pretože sa používa všetkých 8 dátových vodičov). Okrem tohto však existuje ešte 4 - bitový mód, pri ktorom sa využívajú iba štyri horné vodiče D4 - D7 (11 až 14). V tomto prípade sa posielaný príkaz alebo dáta rozdelí na dve polovice a tieto sa následne pošlú do radiča displeja (najprv vrchné 4 bity a potom spodné 4 bity). O tomto móde budeme ešte podrobnejšie písať nižšie.

Inštrukčná a znaková sada displeja

Nasledujúce dva obrázky zobrazujú inštrukčnú a znakovú sadu displeja. Podrobnejší opis inštrukcií nájde čitateľ na stranách 24 až 26 vyššie spomínaného datasheetu radiča HD44780.



Celkové zapojenie obvodu

Za normálnych okolností je displej ovládaný mikrokontrolérom, počítačom alebo podobným zariadením. Pre oboznámenie sa s týmito typmi displejov však budeme používať iba rad DIP prepínačov. Určite si veľa čitateľov položí otázku: Prečo? Pretože, takéto zapojenie umožní ľahšie pochopiť absolútne základy (pomocou DIP prepínačov sa čitateľ tak trochu zahrá na samotný mikrokontrolér). Schému zapojenia môžeme vidieť na nasledujúcom obrázku.


Na ďalšom obrázku vidíme fotku obvodu zapojeného na kontaktnom poli, zatiaľ bez LCD displeja. Vľavo sa nachádza napájacia časť, ktorú tvorí stabilizátor 7805, dva kondenzátory a samozrejme LED s predradeným rezistorom, aby sme videli, že náš obvod dostáva "šťavu". Dátové vodiče a vodič RS sú pripojené k zemi 10K pull - down rezistormi, tzn. v pokojovom stave sa na týchto vodičoch nachádza nízka log. úroveň (log.0). Zapnutím niektorého z prepínačov sa na danom vodiči objaví vysoká log. úroveň (log.1). Vodič EN je naopak pull - up rezistorom pripojený k napájaciemu napätiu, čo značí, že v pokojovom stave sa na vodiči nachádza vysoká log. úroveň. Stlačením tlačidla sa na EN vodič dostane nízka log. úroveň a hodnoty log. úrovní na dátových vodičoch sa zapíšu do radiča displeja.


Pred pripojením displeja do kontaktného poľa potrebujete prispájkovať na modul displeja rovnú 16 vývodovú lištu, tak ako je to urobené na nasledujúcom obrázku.


Tak a teraz môžeme vložiť modul displeja do kontaktného poľa a pripojiť napájanie. Pri vkladaní buďte trochu opatrní a trpezliví, vývody lišty sú trošku hrubšie ako obyčajné drôtiky, ktoré tam zvyčajne dávame. Po pripojení napájacieho napätia by ste na displeji mali vidieť rovnaké zobrazenie ako je na obrázku nižšie (toto zobrazenie sa nachádza na displeji ak nie je inicializovaný, alebo je inicializovaný nesprávne). Ak sa takéto zobrazenie po pripojení napätia na vašom displeji nachádzať nebude (zo skúseností je predpoklad, že sa nebude), pomaly otáčajte bežcom potenciometra (alebo trimra), až kým dané predvolené zobrazenie neuvidíte.


Ovládanie displeja 8 - bitovým módom

K zobrazeniu textu na displeji potrebuje urobiť nasledujúce kroky:





Takže, aby sme mohli zobraziť na displeji nápis "Hello World", potrebujeme najprv pripojiť napájacie napätie a na displej poslať sekvenciu príkazov/dát, ako je to naznačené na obrázku nižšie. Po každom príkazovom alebo dátovom bajte (stredný stĺpec v tabuľke na obrázku) je potrebné stlačiť tlačidlo, čím sa aktuálne nastavený bajt zapíše do radiča displeja (nezabudnite samozrejme správne nastaviť log. úroveň na vodiči RS - prvý riadok tabuľky).


Ovládanie displeja 4 - bitovým módom

Hlavnou výhodou tohto módu je, že potrebujeme o polovicu menej dátových vodičov ako pri 8 - bitovom móde tzn. šetrí nám vývody mikrokontroléra, ktoré môžeme použiť na iné účely. Vývody D0 - D3 (7 až 10) displeja sú v tomto prípade uzemnené, a na prenos príkazov/dát sa používajú vývody D4 - D7 (11 až 14), čiže to znamená, že jeden príkazový/dátový bajt sa vysiela na dvakrát. Prvý krát sa pošle horná štvorica bytu D4 - D7, a druhý krát spodná štvorica bajtu D0 - D3. Príklad vypísania textu "Hello World" pomocou 4 - bitového módu je na nasledujúcom obrázku.


Ako sami vidíte, nie je to také zložité, ako sa na prvý pohľad môže zdať. V ďalšej časti si ukážeme, ako pripojiť displej k mikrokontroléru a "prinútiť" ho, aby urobil namáhavé prepínanie DIP prepínačov za nás.

Zverejnené zo súhlasom autora.
Homepage projektu: http://www.protostack.com/blog/2010/03/character-lcd-displays-part-1/

Preklad: Kiwwicek


2. časť -->



tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.73 )