David Matouek
PRÁCE S INTELIGENTNÍMI LCD DISPLEJI
Praha 2005
Komerèní vyuití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD-ROM mající pøímo vztah ke knize, tj. obsah adresáøe PROGRAMY, nejsou volnì iøitelné.
David Matouek
PRÁCE S INTELIGENTNÍMI LCD DISPLEJI
Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost titìných materiálù. Pøedkládaná zapojení a informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vekerá práva vyhrazena. © Ing. David Matouek, 2006 © Nakladatelství BEN technická literatura, Vìínova 5, Praha 10 David Matouek: Práce s inteligentními LCD displeji BEN technická literatura, Praha 2006 1. vydání ISBN 80-7300-121-7
OBSAH O KNIZE 1
PRINCIP A VLASTNOSTI LCD ................................. 9
1.1
Princip funkce LCD ......................................................................... 10
1.2
Rozdìlení a znaèení LCD displejù ................................................. 11
2
POPIS LCD MODULU EL1602 ............................... 13
2.1
Øadiè HD44780 ................................................................................ 14
2.1.1 2.1.2 2.1.3 2.1.4
Popis komunikace ......................................................................................... 14 DD RAM a CG RAM ..................................................................................... 15 Pøíkazy .......................................................................................................... 17 Inicializaèní sekvence ................................................................................... 19
2.2
Obvody pro nastavení kontrastu ................................................... 20
2.3
Podsvícení ........................................................................................ 21
2.4
Pøípravek ATLCDTX2 ....................................................................... 21
2.5
Editor znakù pro CG RAM .............................................................. 24
3
OVLÁDÁNÍ ØÁDKOVÉHO DISPLEJE POMOCÍ PARALELNÍHO PORTU PC .................................... 25
3.1
Pøípravek LPT2PSL ......................................................................... 26
3.2
Propojovací kabely .......................................................................... 28
3.3
Tøída TATLCDTX2BASE .................................................................. 28
3.4
Tøída TATLCDTX2LPT ..................................................................... 33
3.5
Test pøípravku ATLCDTX2 .............................................................. 36
4
OVLÁDÁNÍ ØÁDKOVÉHO DISPLEJE POMOCÍ SÉRIOVÉHO PORTU PC ........................................ 43
4.1
Pøípravek COM2PSL ........................................................................ 44
4.2
Propojovací kabely .......................................................................... 46
4.3
Tøída TATLCDTX2COM .................................................................... 46
4.4
Test pøípravku .................................................................................. 49
5
OVLÁDÁNÍ ØÁDKOVÉHO DISPLEJE POMOCÍ SBÌRNICE USB ..................................................... 55
5.1
Pøípravek FT232TST ........................................................................ 56
5.2
Propojovací kabely .......................................................................... 58
5.3
Naprogramování pøípravku FT232TST .......................................... 58
A
D. MATOUEK: PRÁCE
S INTELIGENTNÍMI
LCD
DISPLEJI
3
5.4
Tøída TATLCDTX2USB .................................................................... 59
5.5
Test pøípravku .................................................................................. 61
6
OVLÁDÁNÍ ØÁDKOVÉHO DISPLEJE POMOCÍ MIKROKONTROLÉRÙ ØADY 8051 A AVR ............. 67
6.1
Pøípravek ATLCDTX1 ....................................................................... 68
6.1.1 6.1.2
Schéma zapojení .......................................................................................... 68 Konstrukce pøípravku .................................................................................... 70
6.2
Pouití mikrokontroléru AT89S8252 .............................................. 71
6.2.1 6.2.2 6.2.3
Vývojový kit SDK8252 a vývojové prostøedí AT8252 .................................... 71 Øízení pøípravku ATLCDTX1 mikrokontrolérem AT89S8252 ........................ 74 Øízení pøípravku ATLCDTX2 mikrokontrolérem AT89S8252 ........................ 82
6.3
Pouití mikrokontroléru ATtiny2313 .............................................. 93
6.3.1 6.3.2 6.3.3
AVR Studio a vývojový kit SDK2313 ............................................................. 93 Øízení pøípravku ATLCDTX1 mikrokontrolérem ATtiny2313 ......................... 96 Øízení pøípravku ATLCDTX2 mikrokontrolérem ATtiny2313 ....................... 103
7
POPIS MODULU GDM12864A ............................. 115
7.1
Vývody a funkce ............................................................................ 116
7.2
Klíèové pojmy ................................................................................ 118
7.3
Instrukce pro øízení displeje ......................................................... 120
7.4
Pøípravek ATLCDGR ...................................................................... 120
8
OVLÁDÁNÍ GRAFICKÉHO DISPLEJE POMOCÍ PARALELNÍHO PORTU PC .. 125
8.1
Pøipojení pøípravku ATLCDGR k paralelnímu portu PC ............. 126
8.2
Tøída TATLCDGRLPT .................................................................... 126
8.3
Test pøípravku ATLCDGR .............................................................. 134
9
OVLÁDÁNÍ GRAFICKÉHO DISPLEJE POMOCÍ MIKROKONTROLÉRÙ ØADY 8051 A AVR ........... 141
9.1
Pomocné programy ....................................................................... 142
9.1.1 9.1.2
BMPCONV konvertor bitmap na obrazová data ...................................... 142 CHRCONV konvertor Windows fontù na obrazce znakù ......................... 143
9.2
Øízení pøípravku ATLCDGR mikrokontrolérem AT89S8252 ...... 145
9.2.1 9.2.2
ATLCDGR.INC ovládací rutiny ................................................................. 145 TEST.ASM pøíklad .................................................................................... 154
9.3
Øízení pøípravku ATLCDGR mikrokontrolérem ATtiny2313 ...... 157
9.3.1 9.3.2
ATLCDGR.INC ovládací rutiny ................................................................. 157 TEST.ASM pøíklad .................................................................................... 167
4
D. MATOUEK: PRÁCE S
INTELIGENTNÍMI
LCD
DISPLEJI
A
10
POPIS LCD MODULU EL16032A ......................... 171
10.1
Základní vlastnosti ........................................................................ 172
10.1.1 10.1.2 10.1.3
Konfigurace desky ...................................................................................... 173 Struèný pøehled øídicích pøíkazù ................................................................. 174 Sériový pøenos dat ...................................................................................... 176
10.2
Pøípravek ATLCDTXS .................................................................... 177
11
OVLÁDÁNÍ MODULU EL16032A POMOCÍ PARALELNÍHO PORTU ....................................... 179
11.1
Pøipojení pøípravku ATLCDTXS k paralelnímu portu PC ........... 180
11.2
Tøída TATLCDTXSLPT ................................................................... 180
11.3
Test pøípravku ATLCDTXS ............................................................ 188
12
OVLÁDÁNÍ PØÍPRAVKU ATLCDTXS POMOCÍ MIKROKONTROLÉRÙ ØADY 8051 A AVR ......................................................... 195
12.1
Øízení pøípravku ATLCDTXS mikrokontrolérem AT89S8252 ...................................................... 196
12.1.1 12.1.2
ATLCDTXS.INC ovládací rutiny ............................................................... 196 TEST.ASM pøíklad .................................................................................... 201
12.2
Øízení pøípravku ATLCDTXS mikrokontrolérem ATtiny2313 ..... 205
12.2.1 12.2.2
ATLCDTXS.INC ovládací rutiny ............................................................... 205 TEST.ASM pøíklad .................................................................................... 210
PØÍLOHA (DISPLEJE OD FIRMY ELATEC) .......... 212 KONTAKT NA AUTORA ....................................... 214 PØEHLED PØÍPRAVKÙ........................................ 215 PLONÉ SPOJE .................................................. 215 LITERATURA ...................................................... 216
A
D. MATOUEK: PRÁCE
S INTELIGENTNÍMI
LCD
DISPLEJI
5
O KNIZE Tato kniha je urèena ètenáøù, kteøí se chtìjí nauèit pouívat LCD displeje. Pro popis a praktické ukázky byly zvoleny tøi typy LCD modulù: EL1602 (øádkový displej), GDM12864A (grafický displej) a EL16032A (øádkový/grafický displej). V knize najdete pøípravky osazené tìmito moduly, které lze pouívat pro testy. Pro první pøiblíení problematiky jsou uvedeny ovládací programy pro PC (jsou vytvoøeny ve vývojovém prostøedí Delphi 7.0), které dovolují pøipojovat pøípravky k paralelnímu portu poèítaèe (pro modul EL1602 je také zajitìno ovládání pøes sériový port èi sbìrnici USB). Dále jsou uvedeny ovládací rutiny pro mikrokontroléry øady 8051 a AVR. První kapitola krátce shrnuje princip funkce LCD displeje. Je velmi struèná, protoe je zaøazena pouze pro úplnost. Druhá kapitola popisuje LCD modul EL1602, který obsahuje 2øádkový displej s 16 znaky. Jedná se o standardnì pouívaný typ displeje. Také jsou vysvìtleny odlinosti v ovládání 1øádkových, 2øádkových a 4øádkových displejù. Tøetí, ètvrtá a pátá kapitola ukazují, jak lze pøípravek ATLCDTX2 (osazený LCD modulem EL1602) øídit poèítaèem. Dává tedy velmi názornou pøedstavu, jak se vlastnì LCD modul ovládá. Jedná se o 4bitovou komunikaci, øízení je provedeno pøes paralelní port, sériový port a sbìrnici USB. está kapitola uvádí pøípravek ATLCDTX1 (osazený LCD modulem EL1602) s 8bitovým formátem komunikace. Dále jsou uvedeny rutiny pro øízení pøípravkù ATLCDTX1 a ATLCDTX2 mikrokontroléry øady 8051 a AVR. Je ukázán výpis textových øetìzcù, ale i èíselných hodnot (pøevodní rutina). Sedmá kapitola je vìnována popisu LCD modulu GDM12864, který pøedstavuje grafický LCD displej 128 × 64 bodù. Osmá kapitola ukazuje, jak lze pøípravek ATLCDGR (osazený LCD modulem GDM12864A) øídit paralelním portem poèítaèe. Vzhledem ke znaènému poètu ovládacích linek pouitého LCD modulu, musel být pouit posuvný registr 4094 (data jsou posílána sériovì). Devátá kapitola uvádí rutiny pro øízení pøípravku ATLCDGR mikrokontroléry øady 8051 a AVR. Je ukázáno zobrazování bitmap a výpis textu. Desátá kapitola popisuje LCD modul EL16032A, který lze pouívat buï v textovém nebo grafickém reimu. Komunikace mùe probíhat paralelnì (4 nebo 8 bitù) èi sériovì (èím se uetøí ovládací vývody). V této kapitole je také uveden pøípravek ATLCDTXS (osazený LCD modulem EL16032A). Jedenáctá kapitola ukazuje, jak øídit pøípravek ATLCDTXS pomocí paralelního portu poèítaèe. Dvanáctá kapitola uvádí rutiny pro øízení pøípravku ATLCDTXS mikrokontroléry øady 8051 a AVR.
6
D. MATOUEK: PRÁCE S
INTELIGENTNÍMI
LCD
DISPLEJI
A