Fórum témák

» Több friss téma
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: 26833, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   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 !

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

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);


gtk, 2007.06.11

--

Az első változat után több módosítás történt.

Utolsó módosítás:  2011.02.04

A driver letölthető :  >>link<<

Következő: »»   1 / 1
É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