Fórum témák
» Több friss téma |
Cikkek » Grafikus kijelzők vezérlése Grafikus kijelzők vezérlése
Szerző: Pali79, idő: Márc 31, 2015, Olvasva: 17402, Oldal olvasási idő: kb. 1 perc
Ha a kép pixeleinek megfelelő bájtokat egy táblázatban letároljuk, és sorban adjuk a kijelzőre, akkor egy viszonylag rövid programmal megoldható a kijelzés. A programot nem magyarázom végig, a forrást igyekeztem úgy felkommentezni, hogy világos legyen minden. A metodikát azért elmondom:
A képeket akár meg is rajzolhatjuk magunk paint-ben, csak ügyelni kell rá, hogy az alap, amiben dolgozunk, 128×64 pixel méretű legyen. Bekapcsoljuk a rácsvonalakat, felnagyítjuk, és máris látjuk a pixeleket. Ezután a ceruza eszközzel feketére színezzük a kívánt pixeleket. Persze ezzel még dolgozni kell, hogy felhasználható adat legyen belőle, de így gyakorlatilag bármit meg tudunk rajzolni. Az így létrehozott fájlt BMP formátumban kell elmenteni, mert az nem tartalmaz tömörítést. A BMP fájlunkat a gLCD nevű programmal tudjuk átalakítani hexadecimális számokból álló táblázattá. Az alsó részből egyszerűen kimásoljuk az adatokat, és beillesztjük a forrásba. Egy picit alakítani kell rajta. A sorok elején lévő DB direktívát cseréljük DT-re, és az adatsorok elején lévő vesszőket töröljük! Figyelem! A szövegszerkesztőkben használatos "csere" parancs használata hibákat okozhat ha nem figyelmesen hajtjuk végre! Ugyanis a DB nem csak a sor elején lévő direktíva lehet hanem 0xDB (b'11011011') érték is! A gLCD program ingyenes, innen letölthetitek. Nem nagy matek kiszámolni, hogy egy kép 1 kB adatmennyiséget jelent (128×8=1024). A 16F628A-nak összesen 2 kB a memóriája. Mivel a programnak is kell némi hely, összesen 1 teljes képet tudnuk eltárolni. Persze lehet külső adattárolással növelni, de ez más téma. A program forrását itt, a hex-et itt találjátok. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |