. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Ovládání znakových LCD s řadičem HD44780 – 1. díl

Ovládání znakových LCD s řadičem HD44780 – 1. díl

Základní informace o řadiči HD44780. Dále představení displejů založených na tomto obvodu a způsob jejich řízení.

Naprostá většina znakových displejů je v dnešní době založena na totožném integrovaném obvodu a to čipu HD44780 či s ním kompatibilním. Jedná se o LCD (liquid crystal display) kontrolér firmy Hitachi kombinovaný samozřejmě s další potřebnou logikou. Všechny prvky potřebné pro činnost LCD kontroléru, tedy paměť RAM, znakový generátor, analogová elektronika potřebná pro buzení samotného displeje i samozřejmě veškerá logika je tak integrována na jediném čipu. Obvod umožňuje pohodlné řízení znakových displejů libovolným mikrokontrolérem a to prostřednictvím 4-, nebo 8-bitové paralelní sběrnice.
Samotný obvod je určen pro řízení maximálně dvouřádkového znakového displeje (max. 80 znaků) s osmi řádky bodů na znak. Napájecí napětí obvodu je 2,7V až 5,5V.


Obr. 1: Blokové schéma obvodu HD44780

Znakové displeje vybavené i více kusy tohoto obvodu jsou běžně dostupné v provedení od 1x8 znaků do 4x40 znaků. Pro připojení displeje k mikrokontroléru je poté k dispozici vyvedená 4-, 8-bitová paralelní datová sběrnice doplněná o piny jako je Enable, R/W a RS. U displejů obsahujících více než 80 znaků (především typ 4x40) jsou poté obvody HD44780 použity dva, přičemž všechny piny mají společné, až na piny Enable. Ty jsou vyvedeny odděleně a umožňují ovládání vždy vybrané poloviny displeje.

Znaková sada
Přímo v displeji, konkrétně v paměti CGROM (Character Generator ROM) integrované na čipu HD44780 je již k dispozici kompletní znaková sada. Ta podle použité řady čipů HD44780 obsahuje vždy základní abecedně-číselné znaky, doplněné o řadu speciálních znaků či písem. Jednotlivé řady obvodů se liší právě především dostupnou znakovou řadou, především pak dostupnými speciálními znaky. Pro každý displej jednotlivě je tedy potřeba zjistit u výrobce z jeho označení přesnou řadu použitého čipu a tím i dostupnou mapu znaků.
Na následujících obrázcích je tak porovnání dvou znakových sad displejů typu 4x20.


Obr. 2: Znaková sada A00
 
Obr. 3: Znaková sada A02

Dále je navíc k dispozici celkem osm uživatelských znaků. Ty jsou dostupné na adresách 00h až 07h (s obrazem na adresách 08h až 0Fh). Do těch je možné kdykoliv v průběhu práce a opakovaně uložit libovolné speciální symboly, potřebné zobrazit na displeji. Při přepsání aktuálně zobrazovaného uživatelského znaku dojde okamžitě k jeho nahrazení na displeji.

Rozložení pinů displeje
V následujících tabulkách je obvyklé rozložení pinů displeje s méně než 80 znaky a vpravo poté s více než 80 znaky. Pokud je displej vybaven LED podsvětlením, je obvykle vyvedeno na dalších dvou pinech. Podsvětlení realizované elektroluminiscenční fólií je z důvodu potřeby vyššího napětí vyvedeno samostatně na protější hraně displeje.
Opět se však nejedná o standard a tak je potřeba zjistit rozložení pinů pro konkrétní displej u jeho výrobce.

Číslo pinu Označení Úroveň I/O Význam
1 GND - - Zem
2 Vcc - - Napájecí napětí +5V
3 Vee - - Nastavení kontrastu
4 RS 0/1 I 0 = Zápis instrukcí
1 = Zápis dat
5 R/W 0/1 I 0 = Zápis do LCD
1 = Čtení z LCD
6 E 1, 1->0 I Povolení přenosu
7 DB0 0/1 I/O Data 0 (LSB)
8 DB1 0/1 I/O Data 1
9 DB2 0/1 I/O Data 2
10 DB3 0/1 I/O Data 3
11 DB4 0/1 I/O Data 4
12 DB5 0/1 I/O Data 5
13 DB6 0/1 I/O Data 6
14 DB7 0/1 I/O Data 7 (MSB)
 
Číslo pinu Označení Úroveň I/O Význam
1 GND - - Zem
2 Vcc - - Napájecí napětí +5V
3 Vee - - Nastavení kontrastu
4 RS 0/1 I 0 = Zápis instrukcí
1 = Zápis dat
5 R/W 0/1 I 0 = Zápis do LCD
1 = Čtení z LCD
6 E1 1, 1->0 I Povolení přenosu (řádek 0 a 1)
7 DB0 0/1 I/O Data 0 (LSB)
8 DB1 0/1 I/O Data 1
9 DB2 0/1 I/O Data 2
10 DB3 0/1 I/O Data 3
11 DB4 0/1 I/O Data 4
12 DB5 0/1 I/O Data 5
13 DB6 0/1 I/O Data 6
14 DB7 0/1 I/O Data 7 (MSB)
15 E2 1, 1->0 I Povolení přenosu (řádek 2 a 3)
16 n.c.      
Tab. 1: Rozložení pinu displeje <80 znaků   Tab. 2: Rozložení pinu displeje >80 znaků

Komunikace s displejem
Komunikace s displejem probíhá po paralelní datové sběrnici, přičemž může mít šířku osm či čtyři bity. Šířka použité sběrnice a samozřejmě i způsob komunikace se nastavuje pomocí speciálního algoritmu vždy po zapnutí displeje.

Komunikace osmibitovou sběrnicí:
Je výchozí komunikační mód displeje zvolený automaticky vždy po jeho zapnutí. V tomto režimu je k přenosu dat využito všech 8 datových pinů (DB0 až DB7). Podle pinů RS a R/W je nejprve potřeba určit, zda se jedná o znaková data (RS=1) či instrukce (RS=0) a zda se bude do displeje zapisovat (R/W=0) či z něho vyčítat (R/W=1). Data jsou následně na sběrnici platná vždy při sestupné hraně pinu E, jak popisuje i následující časový diagram.


Obr. 4: Princip komunikace s displejem

Komunikace čtyřbitovou sběrnicí:
Při tomto druhu komunikace jsou využity jen horní čtyři datové piny (DB4 až DB7), ostatní jsou uzemněny. Způsob komunikace s displejem je totožný jako v předchozím případě, jen je potřeba po zapnutí displeje provést speciální inicializaci a následně veškerá data posílat do displeje nadvakrát, jak znázorňuje následující zjednodušený diagram.


Obr. 5: Čtyřbitová komunikace

Nastavení čtyřbitové komunikace se po zapnutí displeje provede odesláním pouze horní poloviny instrukce „Function set“ (uveden níže v tabulce instrukcí), tedy vždy hodnoty 03h a jediného tiku na pinu E. Následně se tento registr pošle do displeje znovu, ovšem již celý a klasickým čtyřbitovým komunikačním formátem.

Instrukce
Pro ovládání i zápis znaků do displeje je k dispozici celkem 11 následujících instrukcí:

Instrukce Pin Popis instrukce Čas vykonání
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Clear display 0 0 0 0 0 0 0 0 0 1 Smaže displej a kurzor nastaví na první pozici 1.64mS
Cursor home 0 0 0 0 0 0 0 0 1 * Nastaví kurzor na první pozici, příp. vynuluje posunutí displeje 1.64mS
Entry mode set 0 0 0 0 0 0 0 1 I/D S Směr posuvu kurzoru (I/D), posun textu (S) 40uS
Display On/Off control 0 0 0 0 0 0 1 D C B Zapne displej (D), zapne kurzor (C), zapne blikání kurzoru (B) 40uS
Cursor/display shift 0 0 0 0 0 1 S/C R/L * * Posune kurzor/text (S/C) směrem (R/L) o jeden znak - DDRAM zůstává bezezměny 40uS
Function set 0 0 0 0 1 DL N F * * Výběr komunikace (DL), počet řádků na displeji (N) a typ velikost fontu (F) 40uS
Set CGRAM address 0 0 0 1 CGRAM address Přepnutí na zápis do CGRAM 40uS
Set DDRAM address 0 0 1 DDRAM address Přepnutí na zápis do DDRAM 40uS
Read busy-flag and address counter 0 1 BF CGRAM / DDRAM address Čtení příznaku Busy-flag (BF) indikujícím probíhající interní operaci a čtení adresy CGRAM či DDRAM 0uS
Write to CGRAM or DDRAM 1 0 write data Zápis dat do CGRAM nebo DDRAM 40uS
Read from CGRAM or DDRAM 1 1 read data Čtení dat z CGRAM nebo DDRAM 40uS

Poznámky:
DDRAM = Paměť s obsahem displeje
CGRAM = Znaková paměť
* = Bez významu
** = Základní údaj pro Fosc = 250kHz.

Tabulka speciálních bitů instrukcí:

Označení bitu Funkce / status
I/D 0 = Posun kurzoru vlevo 1 = Posun kurzoru vpravo
S 0 = Neposouvat text 1 = Posouvat celý text
D 0 = Vypnutí displeje 1 = Zapnutí displeje
C 0 = Vypnutí kurzoru 1 = Zapnutí kurzoru
B 0 = Vypnutí blikání kurzoru 1 = Zapnutí blikání kurzoru
S/C 0 = Posun kurzoru 1 = Posun displeje
R/L 0 = Vlevo 1 = Vpravo
DL 0 = 4-bit interface 1 = 8-bit interface
N 0 = jednořádkový displej 1 = dvouřádkový displej
F 0 = 5x7 font (základní) 1 = 5x10 font
BF 0 = Displej připraven 1 = Právě probíhající interní operace

Použitá literatura:
HD44780 (Dot Matrix Liquid Crystal Display Controller/Driver) - Hitachi

Odkazy & Download:
Datasheet HD44780







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (28):

Zobrazit starší 30 dnů (28)...

host
28. Dne 28. 04. 2011 v 15:03 zaslal host
Bez titulku
Díky za odkaz . Vypadá to velmi zajimavě. Musím ho vyzkoušet


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PLA8 MICRO - Logický analyzátor pro USB
Logický analyzátor pro USB 2.0, klon Saleae, 8-bitová verze s 10 GS a integrovanou analýzou rozhraní.
Skladem od 825 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007