Fórum témák

» Több friss téma
Cikkek » Soros LCD vezérlőpanel használata AVR-rel
Soros LCD vezérlőpanel használata AVR-rel
Szerző: Fizikus, idő: Jún 20, 2010, Olvasva: 35300, Oldal olvasási idő: kb. 2 perc
Lapozás: OK   1 / 6
Egy hagyományos, HD44780 alapú, alfanumerikus LCD kijelző vezéréséhez 8 bites módban minimálisan 10 db I/O láb kell. Ha az LCD támogatja a 4 bites módot, akkor 6 db láb is elég. Ezzel szemben a soros LCD vezérlőpanelek használata esetén egyetlen I/O láb is elegendő. Ebben a cikkemben erre mutatok egy példát.

A robotom fejlesztése során nagyon hasznos lett volna, ha rendelkezik egy LCD kijelzővel, amelyen különböző adatokat és szövegeket tudtam volna megjeleníteni.

Gondoltam jobban megismerkedem az LCD kijelzők használatával, mert elhatároztam, hogy a következő robotomra biztosan rakok egyet. (egy LCD kijelző WILL-I-re nem nagyon férne rá, hacsak nem így:  )


 

Egy hagyományos, HD44780 alapú, alfanumerikus LCD kijelző vezéréséhez, ha csak írni akarunk a kijelzőre, 10 I/O láb kell (8 adat + 2 vezérlő). Ha az LCD támogatja a 4 bites módot, akkor 6 db láb is elég a vezérléshez (4 adat + 2 vezérlő). (Az LCD kijelzők vezérléséhez szükséges alapismeretekről ITT és ITT olvashatsz.)
 
De még ez a 6 is túl sok, nincs ennyi szabad I/O láb a robotvezérlő panelemen (elhasználtam a motorvézerlésre, nyomógombra, mikrokapcsolókra a szervó vezérlésére és az ADC-re a távolságmérő jeleinek méréséhez).

Azon gondolkodtam meg lehetne-e oldani azt, hogy csak 1 db I/O lábat használjak fel az LCD-vel történő kommunikációra. A netet böngészve felfedeztem az alább belinkelt soros LCD vezérlőpaneleket. Ezekkel az LCD-k nagyon könnyen vezérelhetők, csak a megjelenítendő karaktereket és az LCD parancsokat kell a soros porton (UART) keresztül a vezérlőpanelnek elküldeni. Ráadásul olcsón beszerezhetők, vagy akár mi is építhetünk egy alfanumerikus vagy grafikus LCD vezérlőt, az utolsó két Sparkfun panelhez tartozó kapcsolási rajz és programkód segítségével.
 

Moderndevice soros Alfanumerikus LCD vezérlőpanel (kattints a képre):

Longtech soros Alfanumerikus LCD vezérlőpanel (kattints a képre):

Sparkfun soros Alfanumerikus LCD vezérlőpanel (PIC 16F688-ra épül)(kattints a képre):

adatlap
kapcsrajz
forróskód (Asm, C, hex)

Sparkfun soros Grafikus LCD vezérlőpanel (ATMega168-ra épül)(kattints a képre):

adatlap
kapcsrajz 
WinAVR C forráskód 
 

Én egy alfanumerikus 16x2-es LCD kijelzővel rendelkezem, és mivel nincsenek a PIC mikrovezérlők fejlesztéséhez és a nyákkészítéshez szükséges eszközeim, ezért számomra a legegyszerűbb és leggyorsabb megoldás a ModernDevice féle vezérlőpanel beszerzése volt. A továbbiakban ezt fogom használni.

A következő problémám az volt, hogy az Atmeg8-as hardveres UART-ját a robot és a PC között történő kommunikációra akarom majd használni (később tervezem egy TTL-Bluetooth adapter beszerzését). Ezért az AVR beépített hardveres UART-ja helyett valami mást kell használni. Nincs mese, szoftveresen kell megoldani a soros kommunikációt. Mint azt már a korábbi cikkemben leírtam (LINK), a soros kommunikációhoz nagyon pontos időzítés kell. Ahhoz hogy ezt szoftveresen meg tudjuk valósítani, az AVR beépített Timer-jeit kell használni.

Az ATmega8 három Timerrel rendelkezik: 2 db 8 bites (Timer0 és Timer2) és egy 16 bites Timerrel (Timer1).
A Timer1 és a Timer2 rendelkezik Output Compare Regiszterrel is. Ennél fogva alkalmas arra, hogy PWM jelet állítson elő a hozzá tartozó I/O lábon. Ezért a Timer1-et korábban már felhasznaltam a robotomon a motorvezérléshez, a Timer2-t pedig a távolságmérő szenzort forgató szervó vezérléséhez.

Látható, hogy csak a Timer0 maradt szabad. Ezt kellett használnom a szoftveres soros kommunikáció időzítéséhez.

A mintafeladat az előző cikkemben szereplő feladat(LINK) egy kicsit módosított változata. Most is a PC5-ös analóg lábra kötött fotoellenállással megmérjük a fényerősséget, majd az LCD-n megjelenítjük az eredményt a PC0-ás lábra kötött soros LCDvezérlőpanel segítségével.

Nézzük meg hogyan!

 


A cikk még nem ért véget, lapozz!
Következő: »»   1 / 6
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem