Abstrakt: Aplikace umožňující seznámit se s principy ovládání LCD displeje pomocí instrukcí jeho řadiče.
Jednoduchá aplikace umožňující bez nutnosti jakéhokoliv programování otestovat činnost instrukcí podporovaných LCD. Vhodné pro základní seznámení se s LCD.
K ovládání LCD je možno využít následujících instrukcí kódovaných na 8 bitech dle následující tabulky:
Pomocí těchto instrukcí je možno např. smazat obsah LCD, vypnout/zapnout LCD či kurzor, měnit chování kurzoru, posouvat kurzor či obsah LCD doleva/doprava. Aby mohla být instrukce LCD provedena, je nutno v okně terminálu odeslat kód instrukce pomocí příkazu CMD
(viz níže).
Bude-li třeba na LCD zapsat data (vždy se tak děje na aktuální pozici kurzoru, a to bez ohledu na to je-li či není-li viditelný), existují dvě možnosti, a to použití příkazu DTA
nebo příkazu DTB
(viz níže). Příkaz DTA
umožňuje zaslat na LCD přímo znak vepsaný do terminálového okna, zatímco druhý příkaz umožňuje zaslat na LCD znak určený v terminálovém okně jeho adresou v tabulce znaků LCD.
Do DDRAM paměti LCD je možno uložit až 80 znaků, z nichž však LCD dokáže (v daném režimu) zobrazit pouhých 16 znaků - které to jsou, závisí na aktuální pozici kurzoru. Důležité: znaky zobrazované na LCD jsou ukládány do DDRAM paměti (adresa A6:A0) LCD takto:
od 0h
(nejlevější znak levé poloviny) až po 40h-1 = 63
(nejpravější znak levé poloviny) - před zápisem znaku do levé poloviny LCD je tedy třeba nejprve nastavit adresu v rámci levé poloviny (bit A6 je nulový
, bity A5:A0 udávají ofset v rámci levé poloviny),
od 40h
(nejlevější znak pravé poloviny) až po 80h-1 = 127
(nejpravější znak pravé poloviny) - před zápisem znaku do pravé poloviny LCD je tedy třeba nejprve nastavit adresu v rámci pravé poloviny (bit A6 je jedničkový
, bity A5:A0 udávají ofset v rámci pravé poloviny).
přeložte aplikaci
naprogramujte MCU a FPGA a spusťte terminálový program.
Aplikace nevyžaduje ke své činnosti nastavit kromě propojek umožňujících programování další propojky.
Po navázání komunikace mezi PC a FITkitem je LCD displej možno řídít přímo z terminálového okna, a to pomocí příkazů:
CMD X ... zaslani instrukce X (8-bitova binarni data) do LCD ... priklad pro smazani LCD displeje: CMD 00000001 ... priklad pro posun kurzoru do vychozi pozice: CMD 00000010 DTA X ... zaslani dat X (znak z tabulky znaku LCD) do LCD ... priklad pro zaslani znaku '3' na LCD: DTA 3 ... priklad pro zaslani znaku '*' na LCD: DTA * DTB X ... zaslani dat X (8-bitovy kod znaku z tabulky znaku LCD) do LCD ... priklad pro zaslani znaku '3' na LCD: DTB 00110011 ... priklad pro zaslani znaku '*' na LCD: DTB 00101010 Binarni data odpovidaji (zleva doprava) hodnotam bitu DB7:DB0 rozhrani LCD
Ilustrace k použití příkazové řádky
Následující obrázek ilustruje obsah LCD po provedení posloupnosti příkazů
DTA H DTA I DTA !
odeslání řetězce HI! na LCD; stav LCD po přijetí příkazu řadičem LCD je:
CMD 00000010
tj. zaslání instrukce 00000010 (posun kurzoru do výchozí pozice) do LCD; stav LCD po přijetí příkazu řadičem LCD je:
CMD 00000001
tj. smazání LCD instrukcí 00000001; stav LCD po přijetí příkazu řadičem LCD je:
DTB 11100000
tj. zapsání řeckého písmene malá alfa na LCD; stav LCD po přijetí příkazu řadičem LCD je:
DTA 1 DTA 3 DTB 11011111 DTA C
tj. zapsání údaje o teplotě na LCD; stav LCD po přijetí příkazu řadičem LCD je:
DTA 6 DTB 11111101 DTA 3 DTA = DTA 2
tj. zápisu jednoduchého aritmetického výrazu na LCD; stav LCD po přijetí příkazu řadičem LCD je: