előzmény o folytatás

Az LCD kompatibilis vákuum flouresszensz kijelző modulok.
Bozó Balázs

A kijelző modulok.
Mennyire kompatibilis?
A csatlakozó bekötése
Az utasítás készlet
Felhasználása: számítógép előlapi kijelzőként
Felhasználása: ébresztős óra
A KIT

Az LCD kompatibilis modulok utasítás készlete
(A hitachi HD44780 LCD modul kontroller utasításai).

Az eredeti "angol" elnevezéseket megtartottam így könnyebb kiigazodni és összehasonlítani a leírásokat.

Utasítás
Kód
Leírás
RSR/_WDB7DB6DB5DB4DB3DB2DB1RB0
Display Clear
0
0
0
0
0
0
0
0
0
0
Törli a kijelzőt és 0-ára állítja a DD-RAM cím számlálóját
Cursor Home
0
0
0
0
0
0
0
0
1
X
A DD-RAM cím számlálóját törli és a shiftelési poziciót alapállapotba hozza. (A kijelzési kép érintetlen)
Entry Mode Set
0
0
0
0
0
0
0
1
I/D
S
Beviteli mód beállítás. Definálja a kurzor irányát és a kijelzési kép shiftelését
Display On/Off Control
0
0
0
0
0
0
1
D
C
B
Az egész kijelző (D) Be/Ki kapcsolása, a kurzor (C) Be/Ki kapcsolása, valamint a kurzor villogásának Be/Ki kapcsolása
Cursor or Display Shift
0
0
0
0
0
1
S/C
R/L
X
X
A kurzor vagy a kijelző shiftelése a DD-RAM poziciójának megtartásával
Function Set
0
0
0
0
1
IF
N
X
BR1
BR0
Az adat hossz beállítása (IF), a kijelző sorainak száma (N), a fényerő állítása (BR)
CG-RAM address setting
0
0
0
1
ACG
A CG-RAM cím számlálóját állítja be
DD-RAM address setting
0
0
1
ADD
A DD-RAM cím számlálóját állítja be
Busy flag & Address reading
0
1
BF
ADD
A (BF) foglaltság jelző olvasása és a címszámláló olvasása
Data writing to CG or DD-RAM
1
0
Adat írása
Adat írása a CG- vagy a DD-RAM-ba
Data reading to CG or DD-RAM
1
1
Olvasott adat
Adat olvasása a CG- vagy a DD-RAM-ból
Rövidítések I/D = 1: Inkrement (növekvő)
I/D = 0: Dekrement (csökkenő)

S = 1: Kijelző shiftelése engedélyezett
S = 0: Kurzor shiftelése engedélyezett

S/C = 1: Kijelző shiftelődik
S/C = 0: Kurzor mozogása

R/L = 1: Jobbra shiftelődik
R/L = 0: Balra shiftelődik

IF = 1: 8 bites mód
IF = 0: 4 bites mód

N = 1: 2 soros mód
N = 0: 1 soros mód

BR1, BR0 = 00:100% fényerő
           01: 75%
           10: 50%
           11: 25%

BF = 1: Foglalt (belső működés)
BF = 0: Nem foglalt

X mindegy milyen állapotú.
DD-RAM: Kijelző adat RAM
CG-RAM: karakter generátor RAM

ACG: CG-RAM cím
ADG: DD-RAM cím

ACC: címszámláló

Az említett eltérések a karakter generátorban vannak. A modul karakterei teljesen megegyeznek (J jelzés esetén) az LCD-knél megszokattakkal, azaz a felhasználó által definiált karakterek a $00 és $07 között találhatóak, illeteve $08 - $0f-ig ugyanezek a karakterek találhatóak ismét. Az eltérés olyan helyen ütheti tehát fel fejét, amit az LCD-k üresen szoktak hagyni és ez a $10-$1f-ig terjedő terület. Ide pár olyan karakter is került, amely segítségével egyszerűen készíthetünk kijelzőnkből bárgráfot ($10-$18) és még pár egyébb karaktert. A latinbetűs kódtábla és a japán kódók közé ismét ékelődhettek ($80-$9f) olyan karakterek, amik az LCD-k esetében nincsenek. Jó hír lehet nekünk is, hiszen így már megtalálható az á ($83), illetve az Ö($86), ö ($87), Ü ($8a) és az ü($8b) is. A többi ékezetes betűt az LCD-knél megszokott módon definiálhatjuk, de így az előre definiált és feltöltött betűket nem kell (on the fly) röptében átdefiniálni, hogy egyszerre mind használható legyen.

Felhasználás: Számítógépes előlapi kijelzőként.
A karakteres VFD és LCD modulok felhasználása elég széleskörű, én két alkalmazását ismertetném (az átlagos felhasználó számára). Az első esetben a mostanában divatos számítógép moddingolás (átépítés) során szinte megkövetelt dolog, hogy a számítógép kinézetét ne csak passzív eszközökkel alakítsuk hanem aktív, mozgó, információk sokaságát megjelenítő kijelzőkel is. A HTPC-knél (Házi Mozi PC) pedig egyenesen nélkülözhetetlen, ilyen kijelzővel ellátva pedig a HiFi tornyunkba illeszthetővé válik. Sok gyári HTPC házban is már eleve ilyen kijelzőket találhatunk, igen gyakran pont ezt a modult is. Erre a célra, tehát ideálisak a tárgyalt kijelző modulok. A számítógépünk álltalában egyébbként is kínál rengeteg olyan fontos információt, amely az említett célnak megfelelő, és egy sor olyat is ami kellő megjelenést biztosít ugyan, bár nem annyira fontos. Nem célom csoportosítani őket, pusztán azt venném be cikkembe, hogyan tehetünk szert ilyen kijelzőkre, illetve miképpen lehet ezeket működésre, vagyis együttműködésre serkenteni a számítógépünkel. A feladat kettős, egyrészt hardveresen kell illeszteni, hogy a kijelző meg kaphassa a működéséhez szükséges jeleket, míg szoftveres oldalról biztosítani kell az információk megjelentetését.
Az első részt, a hardveres részt, tényleg olyan gyorsan és egyszerűen lehet elkövetni amint azt itt leírom. Be kell vallanom, hogy a VFD-ket még egyszerűbben mint az LCD-ket. - Bár, azok sem túl bonyolultak. Ez nagyrészt annak köszönhető, hogy a VFD-k nem ígényelnek kontraszt feszültséget így a csatlakozójuk (3)-as lába szabadon hagyható. (Az LCD-knél ide egy a Vcc és a Vss közé kötött 10k-s potenciométer csuszkájáról jövő vezetéket kötik.) A kijelző modul csatlakozói, tehát a számítógép párhuzamos (nyomtató) portjának megfelelő pontjaihoz vannak kötve. Közéjük semmilyen alkatrészre nincs szükség. A kijelző modul számára a párhuzamos port nem képes elegendő tápfeszültség szolgáltatására, ezért azt külön forrásból kell megoldani. Legegyszerűbben ezt a számítógép tápjáról oldhatjuk meg. Az egyik floppy vagy HDD tápcsatlakozónak fekete vezetékét vágjuk el, majd toldjuk úgy össze, hogy "Y" szerűen csatlakoztassunk hozzá egy a kijelző (1) lábára csatlakozó vezetéket. Ez a vezeték lesz a GND. A biztos kontaktus miatt jó lenne ha ez a toldás, forrasztott kivitelben készülne. A következő lépésben vágjuk el és toldjunk be "Y" formában egy vezetéket a tápcsatlakozó piros vezetékébe is (+5V), de ezt a kijelző (2) lábához vezessük. Amikor ezzel készen vagyunk és mindent megfelelően csináltunk a fajsúlyos részén már túl is vagyunk.

JelVFD/LCDPárhuzamos port
GND
1
18...25
+5V
2
-
Vld
3
-
RS
4
16
R/_W
5
14
E
6
1
DB0
7
2
DB1
8
3
DB2
9
4
DB3
10
5
DB4
11
6
DB5
12
7
DB6
13
8
DB7
14
9
Készítsük el az adatvezetékeket. Ehhez szükségünk lesz egy apa (dugó) DB25-ös csatlakozóra és a hozzá tartozó műanyag házra, ha adunk az esztétikára is, vagy csak nem szeretnénk forrasztásunkat indokolatlan mechanikai igénybevételnek kitenni. A kérdés persze megoldható egy nyomtató kábel elvágásával is. Ekkor figyeljünk oda, hogy a kábel hossza ne haladja meg a kijelző és a gép között az 50cm-t. Készítsük el, a táblázatnak megfelelő összeköttetést.
Amint az összekötésekkel megvagyunk, a hardveres részével kész is lettünk. Persze, érdemes leellenőrizni mindent, mégegyszer. Ne feledkezzünk meg arról, hogy ha a kijelzőnknek külső áramforrást használunk annak közös (-) pontját csatlakoztassuk a számítógép GND pontjához. (Ez ugyan, reményeim szerint automatikusan meg kell, hogy valósuljon az álltal, hogy a párhuzamos port 18...25 lábait a kijelző (1) lábához kötöttük, ami egyébként ha a számítógép tápja adja a szükséges feszültségeket nem lenne szükséges!)

Jelen estben csak a párhuzamos portos illsztést tárgyaltuk meg. Ez ugyan meglehetősen egyszerű és jó megoldás, de azzal a kényelmetlenséggel járhat, hogy egyrészt foglalja a gép párhuzamos portját, másrészt ha gépünket átépítjük akkor komoly probléma szokott lenni, hogy a gép végéből a párhuzamosportról egy vezeték visszkanyarodik a gép belsejébe. Ezeket a problémákat meg oldhatjuk ha ellátjuk gépünket egy további párhuzamos port kártyával amin a párhuzamos port belől is kivezetett, így az odakötött kijelző kivűlről nem is látszik. A másik megoldás az USB illetve soros porti illesztés. A kijelző gyártók kínálják kijelzőiket soros portos változatban is, sőt álltalában a nem LCD kompatibilis modulok eleve eláttottak a párhuzamos interfész mellett sorossal is. Szinte minden modulnak létezik USB változata is, de ebben a speciális felhasználásban melyben a számítógéphet illesztjük sok külső gyártó is készített USB illesztőt LCD kijelzőkhöz, ami szintén ajánlható, sőt a számítógépes szoftrverek ezeket jobban is ismerik.

Ezután jöhet a szoftveres rész. Sok nagyon magas színvonalú program, ingyenesen letölthető, ezen feladat elvégzésére. Mielőtt azonban idáig juthatnánk meg kell teremtenünk azt a környezetet, amellyel együtt képesek dolgozni a felsorolt programok. Az operációs rendszer nem szereti, ha felhasználói programok a feje felett turkálnak hardveres eszközöket - még ha az csak a párhuzamos port is. Egy valamire való oprendszer ezt nem engedheti meg. Ennek a problémának a kikerülésére, érdemes letölteni egy programocskát és telpíteni azt, amit a felsort programok java része, el is vár. Ez a program win esetén a port95NT. A kezelő szoftverek tehát - a teljesség igénye nélkül párat felsorolok. Ilyen például a jaLCDs ami kiváló szolgáltatásaival az élre került. Ne tévesszen meg senkit a nevében szereplő LCD a kompatibilitás miatt a csatlakoztatott VFD-k egy HD44780, vagy KS0066 (a két vezérlő ebből a szempontból azonos) alapú LCD modulnak látszik, konfigurálásnál, beállításnál ezt kell beállítani! Vannak direkt VFD-hez írt programok is, mint a VFDThinger ilyen esetben például a Hitachi kontrollerrel kompatibilis VFD-t kell választanunk, mint például a Noritake CU24025ECPB-U1J VFD-jét és így a kihasználhatjuk a modulunk többlet képességeit is (sajnos ez csak közel azonos, így a felső sor üresen marad). A program különösen azoknak ajánlható akiknek nem LCD kompatibilis moduljaik vannak, mert ők nagyon kevés programot használhatnak. Tudom ajánlani továbbá az LCDHype vagy az LCDStudio-t, ami a grafikus VFD/LCD modulokon szép. Ha linuxot (is) használunk érdemes megnézni az igen jól fejlődő LCDSamartie-t is. (Van belőle Win-es is) Én ezt ajánlom egyszerűen és széleskörűen, valamint kézenfekvően kezelhető. Saját WinAmp pluginje révén képes Spectrum Analizátorra is! Ha médialejátszónkat szeretnénk kijelzővel ellátni, maguk a médialejátszók is rendelkeznek az ehhez szükséges plugin-al, pl. WinAMP LCD Plugin, bár egyenlőre csak 4 soros kijelzőn képes Spectrum Analizátort megjeleníteni. Ezekről látható itt, pár kép:

LCDSmartie
LCDSmartie WinAmp Plugin: Spectrum Analizer
LCDSmartie: WinAMPLCDSmartie: Main
LCDSmartie: Disk spaceVFD Thinger: Mátrix
LCD Hype: LogoPSC S221 kék szűrővelLCDSmartieLCDSmartie WinAmp Plugin:
Spectrum Analizer

Az utolsó képen, illetve az LCDSmartie-t bemutató animban látható amint VFD szűrő kerül a kijelző modul elé, demonstrálva, hogy milyen egyszerűen lehet annak színét változtatni. A speciális szűrőkkel azonban nem csak a színe hanem kontrasztossága illetve csillanás mentessége is fokozható.

Saját számítógép modom-nál is felhasználtam ilyen kijelzőt is. Az előzőekhez képest a különbség pusztán annyi, hogy a kijelzőt nem a számítógép kezeli, hanem mikrokontroller segítségével készítettem a számítógép számára egy felügyeleti rendszert. Erre azért volt szükség, mert ha a számítógép lefagyna attól függetlenül is működnie kell a hűtéséről gondoskodó szivattyúnak, illetve a felügyeleti gép megpróbálkozhat az újra indításával. Ezzel a megoldással megvalósítható egy teljesen emberi felügyelettől mentes működés. Akit érdekel, a teljes MOD ezen a linken keresztűl elérhető. Link

A nixie órához képest az eltérés a felhasznált mikrokontroller, ami itt a nagyobb lábszámú és több memóriával rendelkező 16F876A típus. A több lábra nem annyira volt szükség mint inkább a nagyobb memóriára. A programban az LCD-knél ajánlott és megszokott módon inicializálom a kijelzőt, amint az a mellékelt forrásban is jól látszik. Hogy teljesen komplett legyen a kijelző kezelő rutinjait is közlöm, így tényleg gyorsan alkalmazhatjuk saját feljesztéseinkben. (Figyelem! A forrás szabadon felhasználható saját célra, vagy saját publikációba a forrás és a szerző jól látható feltüntetésével! Üzleti felhasználása csak a szerző írásos beleegyezésével lehetséges!)

Az óra kapcsolási rajza, panelterve, és programja innen letölthető:
kapcsolási rajzaaz ébresztő rész rajzapanelterveprogramja

Felhasznált irodalom:
[1] Samsung20T202DA1-J Specification
[2] Dr. Madarász László:Cél-mikrovezérlők az elektronikus készülékekben 2. (Rádiótechnika Évkönyve '94/87.oldal)
Az LCD modulokkal foglalkozó oldalak 
  a hitachi HD44780 adatlapja
 Christopher Burien's LCD Technical FAQ: HD44780 faq.
 8051 és PIC-es példák is
Számítógépes meghajtó programok 
 LCD modulok, vagy azokkal kompatibilis modulok számára
 LCD kezelő programok gyűjteménye

KIT-ek / Készülékek

vissza a lap tetejére

VFDLCD - KIT 2250-tól