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.č.02 schéma zapojení
přípravku pro ovládání LCD
Bližší informace:
Použité prameny:
Martin Kvoch PROGRAMOVÁNÍ V TP7, RADIO
PLUS KTE 2002/2,
DATASHEET k IO HD44780
Připojení
LCD k počítači s COM portem
Zadání
znaků na monitoru počítače OS WINDOWS XP příkazový řádek
Zobrazení
zadaných znaků na LCD
Zadání
znaků na monitoru počítače OS WINDOWS XP příkazový řádek
Zobrazení
zadaných znaků na LCD displeji OS WINDOWS XP
Spuštěný
program LCD.EXE na počítači s USB/COM redukcí
OS
WINDOWS 7 STARTÉR příkazový řádek
Připojení
převodníku s LCD displejem k redukci USB/COM
Zadané
znaky na monitoru PC OS WINDOWS7 STARTÉR příkazový řádek
Spuštěný
program LCD.EXE volba LCD 2x16 , 2x20 znaků příkazový řádek
Zobrazení
znaků na LCD displeji ovládání POČÍTAČEM OS WINDOWS 7 STARTÉR
REDUKCE
USB/COM