ZnakovΘ LCD displeje

┌vod

Jednß se o zobrazovacφ moduly LCD. Ka╛d² znak je zobrazovßn jako matice 5x8 bod∙. Definice jednotliv²ch znak∙ je ulo╛ena napevno ve vnit°nφ pam∞ti ROM code: A00.

Prvnφch 8 znak∙ (znak 0 a╛ 7) je mo╛no nadefinovat u╛ivatelem t°eba jako ΦeskΘ znaky nebo r∙znΘ symboly. Dßle je mo╛no zobrazit kurzor, nastavit blikßnφ kurzoru, definovat posouvßnφ zobrazen²ch znak∙, smazat displej, zobrazovat na konkrΘtnφ pozici apod.

Displej se vyrßbφ v n∞kolika variantßch, kterΘ se li╣φ poΦtem sloupc∙ a °ßdk∙. 8x2, 10x2, 16x1, 16x2, 16x4, 20x2, 20x4, 24x2, 40x2, 40x4 (sloupce x °ßdky). Moduly se vyrßbφ s podsvφcenφm LED nebo v²bojkou.

Zapojenφ v²vod∙

Komunikace s modulem

Komunikace s modulem probφhß 8-bitov∞ (DB0-DB7) nebo 4-bitov∞ (DB4-DB7). Nastavenφ na 4bity se provßdφ v ·vodnφ inicializaci displeje.

Instrukce

Instrukce k≤d Popis Φas provß- d∞nφ **
RS R/W DB 7 DB 6 DB 5 DB 4 DB 3 DB 2 DB 1 DB 0
Smazat displej 0 0 0 0 0 0 0 0 0 1 Sma╛e displej a nastavφ adresu DDRAM na 0. 1.64ms
Nßvrat na pozici 0 0 0 0 0 0 0 0 0 1 * Nastavφ adresu DDRAM na 0. Vrßtφ kurzor na pozici 0 a posune displej zp∞t do p∙vodnφ pozice. Obsah DDRAM z∙stane zachovßn. 1.64ms
Nastavenφ m≤du 0 0 0 0 0 0 0 1 I/D S Nastavφ sm∞r pohybu kurzoru, a specifikuje posun displeje. Operace jsou provßd∞ny b∞hem zßpisu a Φtenφ dat. 40us
Displej zap/vyp 0 0 0 0 0 0 1 D C B Zapne/vypne displej (D), zapne/vypne kurzor (C) a blikßnφ pozice kurzoru (B). 40us
Posun kurzoru, displeje 0 0 0 0 0 1 S/C R/L * * Pohyb kurzoru a posun displeje bez zm∞ny obsahu DDRAM. 40us
Nastavenφ funkce 0 0 0 0 1 DL N F * * Nastavenφ dΘlku rozhranφ (DL), poΦet °ßdek displeje (N) a font (F). 40us
Nastavenφ adresy CGRAM 0 0 0 1 CGRAM adresa Nastavφ adresu CGRAM. CGRAM data jsou p°enesena po tomto nastavenφ. 40us
Nastavenφ adresy DDRAM 0 0 1 DDRAM adresa Nastavφ adresu DDRAM. DDRAM data jsou p°enesena po tomto nastavenφ. 40us
╚tenφ p°φznaku Busy Flag a adresy 0 1 BF CGRAM / DDRAM adresa ╚te p°φznak (BF), kter² indikuje provßd∞nφ vnit°nφch operacφ a Φte adresu CGRAM nebo DDRAM (v zßvislosti na p°edchozφ instrukci). 0us
Zapi╣ data do CGRAM nebo DDRAM 1 0 zßpis dat Zapφ╣e data do CGRAM nebo DDRAM. 40us
╚ti data z CGRAM nebo DDRAM 1 1 Φtenφ dat P°eΦte data z CGRAM nebo DDRAM. 40us

Vysv∞tlivky:

DDRAM - Display Data RAM. (pam∞╗ zobrazovan²ch znak∙)
CGRAM - Character Generator RAM.(pam∞╗ pro ulo╛enφ vlastnφho znaku)
* - Na hodnot∞ nezßle╛φ.
** - Frekvence oscilßtoru 270KHz.

Nßzev bitu Popis
I/D 0 - Snφ╛enφ 1 - Zv²╣enφ
S 0 - Nenφ posun displeje 1 - Posun displeje p°i zßpisu dat
D 0 - Vypnout displej 1 - Zapnout displej
C 0 - Vypnout kurzor 1 - Zapnout kurzor
B 0 - Vypnout blikßnφ kurzoru 1 - Zapnout blikßnφ kurzoru
S/C 0 - Posun kurzoru 1 - Posun displeje
R/L 0 - Posun doleva 1 - Posun doprava
DL 0 - 4bitovß komunikace 1 - 8bitovß komunikace
N 0 - 1 °ßdek 1 - 2 °ßdky
F 0 - 5x8 bod∙ 1 - 5x10 bod∙
BF 0 - Operace je ukonΦena 1 - Operace probφhß

 

Popis instrukcφ

Sma╛e displej. Zapφ╣e k≤d 20H (k≤d 20H je prßzndn² znak) do v╣ech adres DDRAM. Potom nastav² DDRAM  adresu 0 adresovΘho ΦφtaΦe a nßvrat displej k jeho originßlnφmu stavu, jestli╛e byl posunut². Jin²mi Slovy, displej zmizφ a kurzor nebo blikßnφ sm∞°uje displej doleva (v 1°ßdce 2°ßdkovΘho displeje). To takΘ nastavφ I / D na 1 (zv²╣enφ) v nastavovacφm m≤du. S se v m≤du nastavenφ nezm∞nφ.

Vrßtφ se na zaΦßtek. Nastavφ adresu DDRAM na 0 a vrßtφ displej do jeho originßlnφmu stavu jestli╛e byl posunut. Nezm∞nφ se obsah DDRAM. Kurzor nebo blikßnφ sm∞°uje displej doleva (v 1°ßdce 2°ßdkovΘho displeje).

I / D: Zv∞t╣φ (I / D = 1) nebo zmen╣φ (I / D = 0) adresu DDRAM o 1, kdy╛ k≤d znaku je zapsßn  do nebo Φten z DDRAM. Kurzor nebo blikajφcφ pohyby doprava zv∞t╣en o 1 a doleva zmen╣en² o 1. StejnΘ platφ p°i zßpisu a Φtenφ z CGRAM.

S: Posune cel² displej o jeden znak doprava (I / D = 0) nebo doleva (I / D = 1) kdy╛ S je 1. Displej se neposune jestli╛e S je 0. Jestli╛e S je 1, bude se zdßt jako by se kurzor nepohyboval ale displej pracuje. Displej se neposune, kdy╛ Φte z DDRAM. TakΘ psanφ do nebo Φtenφ z vn∞j╣φ CGRAM displej neposune.

D: Displej zapnut kdy╛ D je 1 a vypnut kdy╛ D je 0. Kdy╛ je vypnut, data displeje z∙stanou v DDRAM, ale m∙╛ou b²t zobrazena okam╛it∞ tφm, ╛e D je 1.

C: Kurzor je zobrazen kdy╛ C je 1 a nezobrazen kdy╛ C je 0. Dokonce jestli╛e kurzor zmizφ, funkce I / D nebo jinΘ specifikace nebudou se m∞nit b∞hem zßpisu dat  displeje. Kurzor je zobrazen pomocφ 5 teΦek v 8-mΘ °ßdce pro 5x8 bod∙ a v 11-tΘ °ßdce pro 5x10 bod∙.

B: Znak ukßzan² kurzorem blikß kdy╛ B je 1. Blikßnφ je zobrazovßno jako p°epφnß mezi cel²m prßzdn²m mφstem a zobrazovan²m znakem rychlostφ 409,6 ms, kdy╛ fcp nebo fosc je 250 kHz. Kurzor a blikßnφ m∙╛e b²t zobrazovßno souΦasn∞. (Frekvence blikßnφ podle fosc nebo podobn² z fcp . Nap°φklad, kdy╛ fcp je 270 kHz, 409,6 x 250 / 270  = 379,2 ms.)

Posun kurzoru nebo displeje zm∞nφ mφsto kurzoru nebo displeje doprava nebo doleva bez psanφ nebo Φtenφ zobrazovan²ch dat. Tato funkce opravuje nebo hledß na displeji. Na 2°ßdek se kurzor p°emφstφ z 1°ßdky, kdy╛ bude p°es 40-tΘ Φφslo 1 °ady. Poznamenßvßm, ╛e prvnφ a druhß °ßdka displeje se posouvß zßrove≥. Kdy╛ zobrazovanß data jsou posouvßna opakovan∞ ka╛dß °ßdka se pohybuje jenom vodorovn∞. Z druhΘ °ßdky se neposune do prvnφ °ßdky. ╚φtaΦ adres (AC) nebude m∞nit obsah jestli╛e se jenom vykonanß posun displeje.

DL: Nastavφ dΘlku datovΘho rozhranφ. Data jsou poslanß nebo p°ijatß 8-bitov∞ (DB7 - DB0) kdy╛ DL je 1, a 4-bitov∞ (DB7 k DB4) kdy╛ DL 0. P°i vybrßnφ 4-bitovΘ dΘlky, data musφ b²t poslßna nebo p°ijata dvakrßt.

N: Nastavφ poΦet °ßdk∙ displeje.

F: Nastavφ velikost znaku.

Poznßmka: Provßd∞t Funkci u hlavy programu p°edtφm, ne╛ vykonal n∞jakß instrukce (krom∞ Φtenφ busy flag a instrukce adres). Od tohoto bodu, nastavenφ funkce instrukcφ nem∙╛e b²t vykonßna zm∞na dΘlky datovΘho rozhranφ.

Nastavenφm adresy CGRAM dß CGRAM binßrnφ adresu AAAAAA do adresovΘho ΦφtaΦe. Data jsou pak zapsßna nebo Φtena od MPU pro CGRAM.

Nastavenφm adresy DDRAM dß DDRAM binßrnφ adresu AAAAAAA do adresovΘho ΦφtaΦe. Data jsou pak zapsßna nebo Φtena od MPU pro DDRAM. NicmΘn∞, kdy╛ N je 0 (1-°ßdkov² displej), AAAAAAA m∙╛e b²t 00H - 4FH. Kdy╛ N je 1 (2-°ßdkov² displej ), AAAAAAA m∙╛e b²t 00H - 27H pro 1 °ßdek a 40H - 67H pro 2 °ßdek.

╚tenφ busy flag a Φtenφ adresy busy flag (BF) ukazuje, ╛e systΘm vnit°n∞ pracuje na p°edchozφ p°ijatΘ instrukci. Jestli╛e BF je 1, vnit°nφ operace je v b∞hu. P°φ╣tφ instrukce nebude p°ijata do okam╛iku ne╛ BF je 0. Kontrolovat BF stav p°ed p°φ╣tφm zßpisem operace. U stejn² Φas, hodnota adresov² ΦφtaΦ v binßrnφ AAAAAAA je Φten ven. Tento adresov² ΦφtaΦ je pou╛it² u obou CG a DDRAM adresy a jeho hodnota je p°edurΦenß p°edchozφ instrukcφ. Adresov² obsah je stejn² pokud jde o instrukce nastavenφ adresy CGRAM a nastavenφ adresy DDRAM.

 Zapisuje data do DDRAM nebo CGRAM.

 ╚te data z CGRAM nebo DDRAM.

Poznßmka:

Popis instrukcφ p°elo╛en z originßlnφ dokumentace obvodu HD44780U.

Zobrazenφ znak∙

Nßzorn∞ si ukß╛eme zobrazenφ znak∙ na displeji 2x16 znak∙. Data, kterß se majφ zobrazit jsou ulo╛ena v pam∞ti DDRAM. Ka╛d² zobrazovan² znak mß svojφ adresu. Ve skuteΦnosti je adresa posazena o 80H vφ╣ (tabulka naho°e). Hodnota pro 1 °ßdek 1znak je 080H pro 2 °ßdek 1 znak je C0H.

DDRAM bez posuvu

pozice LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
adresa DDRAM 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
adresa DDRAM 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

Pokud je nastaven posun displeje doleva , bude po provedenφ posunu zobrazeny nßsledujφcφ adresy.

Posun doleva

pozice LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
adresa DDRAM 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10
adresa DDRAM 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50

Pokud je nastaven posun displeje doprava , bude po provedenφ posunu zobrazeny nßsledujφcφ adresy.

Posun doprava

pozice LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
adresa DDRAM 27 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
adresa DDRAM 67 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E

CARA

Poslednφ zm∞na: 9. °φjna 2000
Copyright DOVEDA BOYS© 1998 - 2000