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.
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 | 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ß |
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.
Poznßmka:╚te data z CGRAM nebo DDRAM.
Popis instrukcφ p°elo╛en z originßlnφ dokumentace obvodu HD44780U.
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 |