Fórum témák
» Több friss téma |
Cikkek » Az intelligens LCD modulok használata - II. rész Az intelligens LCD modulok használata - II. rész
Szerző: Topi, idő: Máj 2, 2005, Olvasva: 43793, Oldal olvasási idő: kb. 3 perc
Felhasználói grafikák
01000000-tól 01111111-ig ($40-$7F) terjedő parancsokkal a felhasználói grafikákat lehet beállítani. Ezt a legegyszerűbben úgy tanulhatod meg, ha a kijelzőn egyből látod, amit csinálsz. Ez a következőképp fog kinézni: A szokászos beállító, kijelző bekapcsoló, kurzor beállító parancsok beírása után küldj el még egy kijelző törlés parancsot is (Ha esetleg már volt valami a kijelzőn, vagy a $00-ás pozició nem a bal felső volt, akkor ez a parancs korrigálja ezeket a hibákat.) Most nézd meg, hogy a felhasználói grafikák heléyn mi van. Írd be, hogy a 00000000-00000007 kódú ($00-$07) karaktereket nézd meg. Valószínűleg csíkokat fogsz látni, vagy valami összevisszaságot, vagy ki tudja mit . Most állítsd be a CGRAM címét $00-ra. Ezt a 01000000 ($40) paranccsal teheted meg. A kurzor a kijelző második sorára fog ugrani, de ezt most nyugodtan figyelmen kívül hagyhatod. Mostantól a beírt adatok a CGRAM-ba íródnak. Írd be a következő adatsort: 00001110, 00010001, 00001110, 00000100, 00011111, 00000100, 00001010, 00010001 ($0E,$11,$0E,$04,$1F,$04,$0A,$11). Az RS vonal közben karakterbeviteli módban legyen (logikai 1). Egy pálcikaember fog megjelenni, aminek a lábai lelügnak az aláhúzás sorába. A következő 8 byte beírásával a CGRAM második karakterét állíthatod be, és így tovább. A kódok és a pixelek közötti összefüggést a kettes ábrán láthatod. Összesen 8 karaktert írhatsz be, amik aztán bekerülnek a karakterkészletbe, és ugyanúgy hívhatók első mint a többi karakter. Ezután a 00000000-00000007 ($00-$07) címen lehet elérni őket. (Az ezután következő 8 címen újra ezeket a karaktereket találhatod meg.) Látható hogy egy mező 8 pixel magas, de a karakterek általában csak a felső 7-et használják, mivel az alsőban jelenik meg az aláhúzás. Mivel a karakterek csupán 5 pixel szélesek, ezért a beállított adatnak csak a 0-4ig tartó bitje az érdekesek (Magyarul a bal oldalon lévő 3 bit akármi lehet) A CGRAM memóriája a táp megszűntével elveszik. Szóval például egy mikroprocesszoros használat esetén a processzor egyből betöltheti ezeket a karaktereket az EPROM-jából. 4 bites adatátvitel A HD44780-as chip, ami a legtöbb LCD-ben megtalálható, úgy lett megtervezve, hogy kompatibilis legyen a 4 bites mikroprocesszorokkal. Ez a mód azonban mikrokontrolleres használat esetén is nagyon hasznos tud lenni. A mikrokontrollerek I/O lábaiból sosem elég . Mindig van valami, sok a kapcsoló, vagy a kimenet. Persze mindig van nagyobb is, de célunk a miniatürizáció, és persze az ár sem elhanyagolható. Miután a kijelzőt 4 bites módba tettük a Funkciók paranccsal, minden kódot két fél-kódként (nibble) kell elküldeni. A nibble nevet néhány lelkes számítástechnikus találta ki Amerikában, és a jelentése: fél byte. Mivel nincs rá igazán magyar szó, ezért én is ezt fogom használni. 4 bites módban csak a D4-D7 adatvonalak használhatók. A tesztáramkörön a többi kapcsolót (D0-D3) tedd logikai 0 állásba. Normál használat közben ezeket a lábakat lehet hagyni "lógni", vagy valamelyik potenciálra kötni egy ellenállással. Értéke valahol 4K7 és 47K között legyen. Ha az LCD-ből olvasni is szeretnél majd, akkor szigorúan tilos közvetlen a testre vagy a Vcc-re kötni, hiszen ilyenkor megjelenhet rajta az ellenkező potenciál és ez zárlatot okozhat. Bekapcsoláskor az LCD 8 bites módba áll be. A Funkciók paranccsal először is ezen kell változtatni. De akad egy kis gond: Az alsó négy bithez (D0-D3) nem férünk hozzá. Természetesen a 4/8 bites mód beállítását szolgáló bit nem itt helyezkedik el. A 0010000 ($20) paranccsal a kijelzőt 4 bites módba tettük. Most küldhetjük a következő parancsot, kapcsoljuk be a kétsoros módot. Ehhez a 00101000 ($28) kódot kell használnunk. Ez továbbra is 4 bites módban tartja az LCD-t. Mostantól a parancsokat két részletben kell elküldeni. Először a felső 4 bitet, majd az alsókat. Tehát előszöris a D7-D4 biteken állítsd be a 8 bites kód "bal felét", vagyis 0010 ($2) és nyomd meg az E-t. Ezután jön a másik fele, 1000 ($8), megint nyomd meg az E-t. Embereknek jóval nehezebb ez a módszer, de egy mikrokontrollernek nem okoz problémát. Írj be még néhány parancsot, majd néhány karaktert 4 bites módban, gyakorlásképp. Egy utolsó megjegyzés A HD44780 adatlapja arra figyelmeztet, hogy táp ráadásakor ha a Vdd lassan éri el az értékét, akkor az LCD rosszul indulhat. Ezért bekapcsoláskor célszerű kiadni háromszor egymás után egy 0011XXXX ($3X) parancsot. Legmegfelelőbb a $30. Ez garantálja, hogy a kijelző 8 bites módban működik. Ezután már nyugodtan át lehet váltani 4 bites módba. Innen letölthető az eredeti angol doksi. Végszó Nos, ennyi. Megcsináltad. Mostmár mindent tudsz az LCD-ről. Illetve majdnem mindent. Természetesen a következő lépésben már mikrokontrollerrel fogjuk a modult vezérelni. Én egészen konkrétan egy PIC-hez fogom kötni. Várok mindenkit, találkozunk akkor... Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |