LCD 2 x 16 A 2 x 20 ZNAKŮ NA I2C S PCF8574

Vágner Vlastimil

     Přípravek umožňuje ovládat a hlavně jednoduše odzkoušet znakové LCD displeje s řadičem HD44780 nebo jeho ekvivalenty, pro komunikaci jsem zvolil sběrnici I2C, z důvodu jednoduchého programového ovládání po této sběrnici. Přípravek se připojuje na sériový port počítače PC nebo pomocí redukce USB/COM. Tato musí podporovat všechny I/O klasického sériového portu PC. Počítač je připojen k redukci COM - I2C, přípravek si neklade za cíl konkurovat továrním zapojením může posloužit pro vlastní inspiraci při podobných pokusech.

    

POPIS PŘÍPRAVKU

     Přípravek je napájen napětím 5VDC na ovládání LCD displejů 2 x 16 a 2 x 20 znaků je využito integrovaného obvodu PCF8574 jehož I/O linky jsou rozděleny na datové bity a řídící bity. Bity D0 – D3 jsou využity na vysílání jak instrukcí, tak i dat, bity D4 – D7 jsou využity na ovládání řídících signálů pro LCD. Bit D4 ovládá signál EN, bit D5 ovládá signál R/W(trvale je na logické nule), bit D6 ovládá signál RS (REGISTER SELECT) a bit D7 ovládá led podsvícení LCD displeje. Na obrázku č. 02 je schéma zapojení přípravku připojeného k LCD displeji. Převodník COM – I2C je použit v odzkoušeném zapojení pro komunikaci na sběrnici I2C s moduly uveřejněnými zde na webu jeho zapojení je na obrázku č. 01. Vývody LCD displeje bity D0 – D3 jsou na přípravku spojeny se zemí GND, bity D4 – D7 LCD jsou propojeny s bity D0 – D3 obvodu PCF8574, převodník, přípravek i znakový LCD displej je napájen stabilizátorem 7805.

 

STRUČNÝ POPIS KOMUNIKACE

    Počítač komunikuje s PCF8574 po sběrnici I2C a PCF8574 s LCD displejem komunikuje po 4-bitové sběrnici. Po zapnutí napájení je LCD displej vnitřně resetován a automaticky je inicializován při této inicializaci  je provedeno :  jako první krok je smazán displej, v druhém kroku je provedeno nastavení funkce kdy je nastavena  8-bitová komunikace, nastaven jeden řádek, velikost znaku 5 x 8 bodů, v třetím kroku je provedena kontrola displeje kdy je displej, kursor blikání vypnuto, ve čtvrtém kroku je provedeno nastavení modu kdy I/D je nastaveno na přičítání (zvětšení adresy DDRAM) a S je vypnuto jde o posun displeje. Nastavení a popis instrukcí včetně inicializace LCD je podrobně popsáno v datasheetu k IO HD44780. Po zapnutí a vnitřním resetu LCD je třeba nastavit s LCD čtyřbitovou komunikaci, počet řádků (2), smazat displej (nastaví kurzor na pozici 1řádek, 1pozice znaku), I/D na přičítání, zapnout displej, kursor a blikání kursoru. Komunikace ve 4-bitovém modu probíhá tak že je potřeba vysílanou instrukci tak i data vysílat nadvakrát, jako první se vyšlou vyšší 4bity a potvrdí se signálem ENABLE. Poté se vyšlou nižší 4bity a opět se potvrdí signálem ENABLE. V případě že se vysílají data musí  být tyto potvrzeny také signálem ENABLE a také signálem RS, tento signál rozlišuje, zda se vysílají data nebo instrukce. V tomto zapojení probíhá komunikace tak že po připojení napájecího napětí se provede automaticky reset LCD tak jak je psáno výše, po spuštění programu LCD.EXE je proveden reset IO obvodu PCF8574 po tomto resetu automaticky proběhne inicializace LCD displeje a je možné provádět zápis znaků nebo číslic. Při inicializaci LCD je v proceduře pro inicializaci adresován jako první obvod PCF8574 adresou (64), poté je zapnut signál ENABLE hodnota (16) hodnota (16) odpovídá bitu D4, následuje časová prodleva 3µS a jsou vyslány první  vyšší 4bity ke kterým se přičte hodnota signálu ENABLE(16). Následuje časová prodleva 3µS a vypnutí signálu ENABLE, dále je opět zapnut signál ENABLE následuje časová prodleva 3µS a vyslání spodních 4bitů ke kterým je přičten signál ENABLE hodnota (16). Opět následuje časová prodleva 3µS a vypnutí signálu ENABLE. Procedura pro vysílání dat je shodná s procedurou pro vysílání instrukcí pouze se k hodnotě signálu ENABLE hodnota (16) ještě přičte hodnota signálu  RS  hodnota (64) což je hodnota bitu D6. Bit D7 ovládá bázi tranzistoru T1 a je trvale v logické nule tím je tranzistor T1 po inicializaci PCF8574 trvale sepnutý stejně tak i bit D5 který ovládá signál R/W je také trvale v logické nule. Při inicializaci LCD je použito  instrukcí  první je nastavení  4-bitového  modu, nastavení dvou řádků současně se zvolí i znak o velikosti 5 x 8 bodů, smazání displeje, nastavení posunu displeje doprava, I/D = 1 zvětšení adresy DDRAM, zapnutí displeje, zapnutí kursoru, zapnutí blikání kursoru, konec inicializace.

 

POPIS PROGRAMŮ

    Program pro ovládání LCD displeje má název LCD.EXE je odladěn v TP7 jde spustit pod OS DOS, WINDOWS 95/98, WINDOWS 2000, WINDOWS XP, WINDOWS 7 STARTÉR. Pod OS WINDOWS 2000 až WINDOWS 7 STARTÉR jde program spustit pouze z příkazové řádky pokud  jsou uvedené OS nainstalovány ve 32-bitové verzi. Po spuštění programu je, jako první volba sériového portu kde je připojen převodník I2C volbu volíme stiskem klávesy s číslicemi 1 – 4, stiskem klávesy s číslicí 1volíme sériový port COM1, stiskem klávesy s číslicí 2 volíme sériový port COM2, atd. Po volbě portu s připojeným přípravkem se na monitoru zobrazí volba LCD displeje 2 x <S>ESTNÁCT , 2 x <D>VACET ZNAKU. Stiskem klávesy s písmenem „S“ volíme LCD displej s šestnácti znaky na řádce, stiskem klávesy s písmenem „D“ volíme LCD displej s dvaceti znaky na řádce. Po volbě LCD displeje se na monitoru zobrazí PROVEDEN RESET PCF POKRAČUJ STISKEM KLÁVESY ŠIPKA VLEVO, po stisku uvedené klávesy se na monitoru již zobrazí nabídka pro psaní znaků nebo číslic na LCD. Po zadaní znaků jejich počet je určen, zda jde o LCD s 2x16 nebo 2x20 znaků stiskneme klávesu ENTER a zapsané znaky na monitoru PC se přenesou na LCD displej. Nové zadání znaků provedeme  po stisku klávesy MEZERNÍK poté zadáme nové znaky a opět stiskneme klávesu ENTER. Program ukončíme stiskem klávesy ESC po zadání znaku (ů). Program po ukončení smaže monitor počítače a současně i LCD displej. Pokud je program spuštěn na počítači s redukcí USB/COM je zápis na LCD displej pomalejší než při spuštění na počítači který má přímo sériový port COM.

    Program PREVOD.EXE po spuštění programu se na monitoru počítače zobrazí zadej hodnotu po jejím zadání stiskneme ENTER, zobrazí se další položka zadej hodnotu za E sem zadáváme hodnotu bitu kde je připojený signál ENABLE po jejím zadání stiskneme klávesu ENTER. Zobrazí se další položka zadej hodnotu za RS sem zadáváme hodnotu bitu kde je připojený signál RS, po jejím zadání stiskneme klávesu ENTER, nyní se na monitoru zobrazí binární hodnota všech zadaných hodnot. Dále se zobrazí vyšší hodnota jde o vyšší 4bity ze zadaných hodnot, pod touto hodnotou se zobrazí binární hodnota vyšších 4bitů a dále se na monitoru zobrazí nižší hodnota 4bitů ze zadaných hodnot a pod touto hodnotou se zobrazí binární hodnota nižších 4bitů. Novou hodnotu zadáme po stisku klávesy MEZERNÍKU, program ukončíme stiskem klávesy ESC. Program simuluje zasílání hodnot na LCD displej z IO PCF8574 stejně tak jako program LCD.EXE.

     PŘÍKLAD: zadáme hodnotu velké „A“ tj. 65 za hodnotu E zadáme „0“, za hodnotu RS zadáme „0“. V položce binární hodnota se zobrazí 10000001, v položce vyšší hodnota se zobrazí 4, v položce binární hodnota se zobrazí 100. V další položce nižší hodnota se zobrazí 1, v položce binární hodnota se zobrazí 1. Program má stejné omezení spouštění pod různými OS  jako program LCD.EXE.

 

                  

                 Obr      

Ob   

                Obr.č.02 schéma zapojení přípravku pro ovládání LCD

 

   Bližší informace:

   vagnervlastimil@seznam.cz

   Použité prameny:

   Martin Kvoch PROGRAMOVÁNÍ V TP7, RADIO PLUS KTE 2002/2,

   DATASHEET k IO HD44780

 

P1250113

Připojení LCD k počítači s COM portem

P1250104

Zadání znaků na monitoru počítače OS WINDOWS XP příkazový řádek

P1250108

Zobrazení zadaných znaků na LCD

P1250117

Zadání znaků na monitoru počítače OS WINDOWS XP příkazový řádek

P1250120

Zobrazení zadaných znaků na LCD displeji OS WINDOWS XP

P1250131

Spuštěný program LCD.EXE na počítači s USB/COM redukcí

OS WINDOWS 7 STARTÉR příkazový řádek

P1250135

Připojení převodníku s LCD displejem k redukci USB/COM

P1250168

Zadané znaky na monitoru PC OS WINDOWS7 STARTÉR příkazový řádek

P1250140

Spuštěný program LCD.EXE volba LCD 2x16 , 2x20 znaků příkazový řádek

P1250134

Zobrazení znaků na LCD displeji ovládání POČÍTAČEM OS WINDOWS 7 STARTÉR

REDUKCE USB/COM

vagnervlastimil@seznam.cz