Hello!
(If you don't speak Hungarian but still, want to learn about this LCD display module, just contact me. I am not an expert at all, but I will help you if I can...)
Ezen az oldalon a címben jelzett LCD kijelző használatáról szeretnék néhány szót szólni
azokhoz, akik hozzám hasonlóan elektronikával foglalkoznak, és valamilyen mikroprocesszoros
környezetben akaják használni a modult. Sajnos a hivatalos gyártói dokumentáció eléggé hiányos,
ráadásul az angol helyesírással is vannak még gondjaik. Úgy gondolom, talán másnak is hasznos lesz
ez a néhány info, amit egynapos használat után el tudok mondani.
A modul eredeti dokumentációját, illetve egyéb doksikat is erről az oldalról tudtok letölteni:
http://www.displaytech.com.hk/pdf/char/
204B
ezt mindenképp töltsétek le és olvassátok át, bár mint írtam, nem tökéletes.
A modul kivezetései (pinout) | ||
Kivezetés | Megnevezés | Funkció |
1 | Vss | Tápfeszültség, GND |
2 | Vdd | Tápfeszültség, +5V |
3 | Vo | (??)Az LCD egység engedélyezése* |
4 | RS | Adat (H)/parancs (L) választó jel |
5 | R/W | Olvasás (H)/Írás (L) |
6 | E | Beírás engedélyető (aktív H)* |
7..14 | D0..D7 | Adatbusz |
15 | A | A háttérvilágítás anódja* |
16 | K | A háttérvilágítás katódja* |
* Ez a vonal nincs részletesen leírva a doksiban, így próbálgatnom kellett, hogy mit is akar
csinálni. Végül azt találtam, hogy földpotenciálra kell húzni ahhoz, hogy valami egyáltalán
megjelenjen. Én egy 2K2 ellenálláson keresztül kötöttem GND-re.
* Eltérően a legtöbb eszköztől, aktív szintje H, H->L átmenetre ír/olvas a modul.
* A háttérvilágítás nekem 12V feszültségről ment jól, itt kb 330-470 ohm közötti ellenállást kell
használni, bár a 330-al már vigyázni kell, mert ekkor az áramfelvétel 25mA felett van, és ez a doksi
szerint a felső határérték.
Az itt található kis DOS-os (Borland Pascal 7.0) program a párhuzamos porton keresztül programozza az egységet. Kétirányú port esetében a modul olvasása is megvalósítható a BF (busy flag) miatt, de ezt ebben a programban nem alkalmaztam. A parancskészlet benne van a doksiban, az alkalmazott összekötés pedig meglehetősen egyszerű:
PC - 204B LCD modul összekötése | ||
204B kivezetés | PC kivezetés | |
Vss | Drive tápkébel, GND (fekete)* | |
Vdd | Drive tápkábel, +5V (piros)* | |
Vo | Mint fentebb írtam, egy 2K2 ellenálláson keresztül GND-re | |
RS | Párhuzamos port, -STROBE jel | |
R/W | Párhuzamos port, -AUTO FD jel | |
E | Párhuzamos port, -SEL IN jel | |
D0..D7 | Párhuzamos port, D0..D7 |
* A tápfeszültség sajnos nincs kivezetve a párhuzamos porton, ezért azt a drive tápról vettem.
Még néhány dolog a modulról, csak úgy találomra, ahogyan eszembe jut. Ha valami a gyári
dokumentáció alapján nem világos, talán ezek az infók segítenek:
* A modul szoftveres inicializálása a következő (egy lehetséges megoldás):
Set function parancs: 8 bites interfész, két soros display, 5x7-es mátrix beállítása,
Entry mode set parancs: I/D=H címnövelés, SH=L a kép nem tolódik,
Display Clear parancs: képtörlés,
Cursor Home parancs,
Display On parancs: display on, cursor off, blinking off,
Set DDRAM address parancs: a DD RAM számlálót 00-ra állítjuk, így az
első kiírt karakter a bal felső sarokban jelenik majd meg.
* CG RAM: Character Graphics RAM, a modulban 64 bájt található 8 darab felhasználói
karakter számára. Ezek egyenként 8 bájtot igényelnek, mivel a szegmensek 5x8 pixel szervezésűek,
a beírt bájtok alsó 5 bitje jeleik meg. A fenti pascal programban van példa a karakterek
definiálására (DefChar eljárás)
* DD RAM: Display Data RAM, a kijelző karaktereinek memóriája. A kijelző 4 sor/20 oszlop szervezésű,
a memóriacímeket az eredeti doksi megadja. A szervezése tulajdonképpen 2x40 címfolytonos pozíció,
az első és a harmadik, valamint a második és a negyedik karaktersor logikailag egy-egy tartomány.
* A Write Data parancs minden esetben egy adatot ír a megfelelő pozícióba, majd az Entry Mode Set
parancs I/D bitjének megfelelően egy belső címszámlálót növel vagy csökkent. Ennek megfeleően
a karaktereket sorban lehet kiírni a kijelzőre, de az első karakter előtt a címet a Set DDRAM Address
paranccsal meg kell adni. (Lásd a példaprogramban)
* Cursor: Ki-/bekapcsolható, valamint villogni is tud. A pozíciója automatikusan változik
az Entry Mode Set parancs I/D bitjének megfelelően. A kurzort a Display on/off
parancs állítja be.