Fórum témák

» Több friss téma
Cikkek » Az intelligens LCD modulok használata - I. rész
Az intelligens LCD modulok használata - I. rész
Szerző: Topi, idő: Ápr 12, 2005, Olvasva: 83208
Lapozás: OK   4 / 4
Pergés

A probléma nagyon egyszerű. Amikor megnyomod az E gombot, akkor az nem tisztán, egyszer érintkezik, hanem csúszik a két felület egymáson, meg sok egyéb tényező is belejátszik, mindenesetre a lényeg, hogy többször záródik a kapcsoló. Így az LCD egy kódot többször is beolvassa, ezért kerül ki több betű. Tehát egy pergésmentesítő áramkörre van szükségünk!



De akkor a többi parancsnál ez miért nem jelentkezett? A válasz: ott is jelentkezett, csak az LCD-nek mindegy, hogy hányszor küldöm el neki a parancsot, ha 5-ször, akkor ötször hajtja végre, de a végeredmény ugyanaz lesz. Tehát a megoldás a 3. ábrán látható. (Mentsd le, majd nyisd meg egy képnézegetővel, akkor nagyobb lesz.)
Két NAND kapuval egy flip-flop áramkört hozunk létre, szóval kiiktatjuk a pergés problémáját. IC-nek használhatod a TTL szintű 74LS00-t vagy a CMOS 74HC00-t. A kapcsoló egy SPDT kapcsoló. Ez egy kétállású, egyáramkörös kapcsoló. Miután megvan ez az kis módosítás, töröld le a kijelzőről azt a rengeteg karaktert a kijelző törlés paranccsal. Ennek a kódja 00000001 ($01). Állítsd be a kapcsolókat, az RS logikai 0-n legyen, majd kapcsold fel majd le az új E kapcsolót. A kijelző törlődik.


Pergés

Először is egy ötlet: Ha manuálisan írkálsz az LCD-be, sokkal egyszerűbb ha csak a hexadecimális kódokat kell beírnod, nem pedig a sok bináris értéket. Szóval ha valaki szeretné, akkor a DIP kapcsolót kicserélheti két hexadecimális kapcsolóra. Bár szerintem egy kicsit drágák, mindenki döntse el, hogy mit szeretne. Ezeknek a kapcsolóknak a pontos típusa: 0 állásban mind a 4 kimenete zárt legyen a közös ponttal, F állásban pedig mind a négy kimenet lógjon a levegőben.



Az elérhető karaktereket a 3. táblázat tartalmazza. Javaslom ennek is a lementését, majd képnézegetővel való megtekintését. Láthatod, hogy benne van a karakterek bináris és hexadecimális kódja is. A felső sorban a felső 4 bit van (D7-D4), az első oszlopban pedig az alsó 4 (D3-D0).
A karakterkódok többsége megfelel az ASCII szabványnak, de a japán, a görög és néhány egyéb karakter kivétel ez alól. Még mielőtt valaki azt mondaná, minek ez a rengeteg japán krakter, elárulom, hogy van a Kanji karakterkészlet, amelyben több ezer kínai karakter is van. Persze ez a te LCD-dben feltehetőleg nincs benne
A táblázatot felhasználva írj be néhány karaktert, de figyelj arra, hogy az RS logikai 1 állásban legyen. Az E gombot (kapcsolót) pedig minden egyes karakter után nyomd meg (kapcsold fel-le).
A táblázat első 16 kódja, 00000000-00001111, ($00-$0F) a CGRAM-ra hivatkozik. Ez a Character Generator Random Acces Memory rövidítése. Itt tarthatod a te egyéni karakterediet. Akár egy animáció egyes képeit is tárolhatod itt. Ha még nem állítottad be ezeket, akkor semmi használható nincs ezen kódok alatt.
00010000-00011111 ($10-$1F) kódok nem használatosak, meghívásukkor egy üres karakter jelenik meg. Ezután kezdődnek az ASCII kódok. Címük: 00100000-01111111 ($20-$7F). 10000000-10011111 ($80-$9F) kódok nem használatosak. Végül 10100000-11011111 ($A0-$DF9 alatt vannak a japcsik karakterei.
Viszont 11100000-11111111 ($E0-$FF) címek alatt levő kódok érdekesek. Itt mindenféle szimbólum, görög sőt még két magyar karakter is van. De itt vannak azok a kisbetűs karakterek, amiknek a szára lelóg (g,j,p,q,y). Ha ezeket a karaktereket teljes valójukban szeretnéd megtekinteni, akkor olyan kijelzőre lesz szüksége, ami támogatja az 5×10-es karakterek kijelzését. 5×7-es esetében az alja levágódik.Néhány egysoros modul rendelkezik 5×10 pixeles kockákkal, de emulálható a dolog 5×7-es kétsoros kijelzőn is. Ehhez tedd az RS vonalat logikai 0 szintre (parancs-mód), majd küldd el az LCD-.nek a 00110100 ($34) kódot. Kapcsold vissza az RS-t, és most írj be 5×10-es karaktereket.
Következő: »»   4 / 4
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu