Keresés: 
 Saját menü
Üzenetek
Tartalom szerkesztés
Apróhirdetéseim
Kedvencek
Nyitott témáim
Értesítések
Felhasználók
Beállítások
Kijelentkezés
 Fórum témák
» Több téma
 Frissek
RSS hírforrások
  Hírek.rss
  Fórum.rss
  Frissek.rss
  2010. Nov, 20. Szo
11:16:59
  Jelenleg 544 fő olvassa az oldalt
  Online tagok:
  Online moderátorok:
köbzoli, Sebi, szabi83
Cikkek » Egyszerű driver AVR-re HD44780 kompatibilis LCD kijelzőkhöz »
Egyszerű driver AVR-re HD44780 kompatibilis LCD kijelzőkhöz
Szerző: gtk, idő: Jún 12, 2007, Olvasva: 14471
Oszd meg másokkal is ezt a Facebook-on!
Tartalom: 1/1  
 
Szeretnék közzé tenni egy általam fejlesztett HD44780 alapú LCD drivert, amely jól használható AVR mikrovezérlőkön.
 

Egyszerű driver AVR -procikra,
        HD44780 kompatibilis LCD kijelzőkhöz


 

Szeretnék közzé tenni egy általam fejlesztett HD44780 alapú LCD drivert, amely AVR mikrovezérlőkön használható.
Egy időben sok idő töltöttem azzal, hogy LCD drivert keresgéltem AVR procira a neten. Igaz ami igaz, olyat ami könnyen működésre birható lett volna, meg a CGRAM-ot is kezeli, nem találtam. Ekkor kezdtem el fejleszteni a saját verziót.

Mint tudjuk a HD44780 alapú LCD kijelzők vezérelhetők 4 -és 8 bites módban is.
Ez a driver 4 bites módban való vezérlésre alkalmas, ezért mindössze 6 db I/O-ra van szükség az LCD vezérléséhez. Az I/O bekötésekhez lásd a simple_driver.h állományt. Továbbá itt állítható át szükség szerint a megfelelő I/O.
A driver csak írni tud a kijelzőre, következésképp az LCD:RW lábat GND-re kell kötni.
Kezeli a CGRAM-ot, így saját karakterek megjelenítésére, animálására is használható. 8 karakteres "vertical scroll"-t is tud.
A mellékletben található példaprogramok ATmega8 AVR-en voltak sikeresen tesztelve.
Fontos megemlíteni, hogy a példaprogik tesztelésénél az AVR belső 8MHz-es oszcillátoráról müködött. Eszerint vannak az időosztások számolva !
A main2.c példaprogram "vertical scroll" -ra, a main.c pedig saját karakterek egyszerű animálására mutat példát.

A driver C nyelven lett fejlesztve (avr-gcc). Az általa nyújtott API a simple_driver.c állományban van leírva.
Használat előtt mindenképp olvasd el a mellékletben található OLVASSEL állományt !

Használható API:

void lcd_delay (unsigned int p);
void lcd_toggle_E ();
void lcd_cls ();
void lcd_home ();
void lcd_control (uint8_t disonoff, uint8_t curonoff, uint8_t curblink);
void lcd_set_CGRAM_addr (uint8_t addr);
void lcd_set_DDRAM_addr (uint8_t mesto);
uint8_t lcd_put_custom_char (uint8_t charnum, const uint8_t * values);
void lcd_vertical_scroll (const void *__custom_chars, uint8_t __NUM,
       uint16_t __verti_delay_ms, uint16_t __horiz_delay_ms,
       uint8_t ddram_addr, uint8_t __clear);
void lcd_clear_CRGAM ();
void lcd_putch (uint8_t data);
void lcd_putstr (const uint8_t * data, uint8_t addr);
void lcd_init (void);

Az LCD kijelzők vezérléséhez szükséges alapismeretekről itt olvashatsz. 

A driver letölthető innen.

gtk, 2007.06.11

---

Visszajelzések voltak a driverrel kapcsolatban, hogy az AVR felprogramozása után mindig újra kell indítani a HW-t, különben nem müködik a kijelző.

"Nekem az volt a gond a driver-el, hogy programozás után mindig áramtalanítani kellett mindent, majd újbóli bekapcsoláskor működött csak rendesen.
De kiegészítettem a kódot, a kijelző inicializálásnál először 8 bitesre kapcsolom, és csak aztán 4 bitesre, így programozás befejeztével mindig jól kapcsol be az LCD."
Idézet: Vzoole

A javított driver letölthető innen: lcd_driver_12.zip

gtk. 2009_03_31

--

Közben újabb hiba lett javítva az LCD I/O - bekötés sorrenddel kapcsolatban.

Itt az 1v3 változat. (Csak a driver fájlok)

2010.11.04

 
Folytatás: 1/1  

Értékeld az írást:
Szavazatok: 14 db, Átlag: 4.8
 HEStore.hu
 Figyelő
 Kedvenceim
HozzáadásLista
 Hirdetés
TrainModules.hu