A könyvtár használata az lcd hd44780 - mikrokontrollerek és technológiák használatával

Ebben a cikkben megmutatom, hogyan használhatok egy meglehetősen közös könyvtárat a HD44780 vezérlő alján lévő LCD-kijelző kezeléséhez és a kimeneti információkhoz. A könyvtár két lcd_lib.h és lcd_lib.c fájlból áll, amelyeket egy négy bites adatbuszon lévő kijelzővel lehet használni. A fejlécfájl felsorolja a vezérlőhöz tartozó megjelenítési kapcsolati beállításokat, amelyeket Ön saját belátása szerint módosíthat, valamint változókat és funkciókat.

Az alábbiakban bemutatjuk az LCD funkcióval kapcsolatos információk vezérlésének és megjelenítésének alapvető funkcióit.

lcd_com - parancs küldése az LCD-nek

például:
lcd_com (0x01); // törölje a kijelzőt
lcd_com (0x38); // interfész 8 bit 2 sor

lcd_dat - egyetlen karaktert ad az aktuális pozícióhoz

például:
lcd_dat ("U"); // kiadja az "U" karaktert
lcd_dat (0xB0); // az "Y" szimbólum kimenete (a kijelző szimbólumainak táblázata szerint)

lcd_init - LCD Inicializálás

Az alábbiakban egy példát mutatunk be az LCD kezdeti beállítására: 0x38, 0xOC, 0x06.
A 0x38 2 soros megjelenítési módot állít be 5 x 8 képpontos mátrixral, és 8 bites adatbuszon dolgozik;
0xOC bekapcsolja az LCD mozyulya kijelzőjét, anélkül, hogy megjeleníti a kurzorokat;
A 0x06 beállítja az automatikus kurzor mozgását az egyes karakterek kimenete után balról jobbra.

lcd_clr - Az LCD tisztítása

lcd_home - a kurzort az elejére mozgatja

lcd_string - a megadott hosszúság stringjét adja ki az aktuális pozícióhoz

Példa: lcd_string ("TEST", 4); // nyomtasson egy 4 karakteres próbatestet

lcd_gotoxy - a kurzort a megadott pozícióba helyezi

Példa: lcd_gotoxy (12, 1); // kurzor a második sor tizenharmadik pozíciójában

lcd_definechar - ír egy egyedi karakterképet a kijelző memóriájába

Megjelenítéséhez a képernyő saját karaktert meg kell tudni, hogy a karakter kódját, regisztrálja a kódot a memóriában a mikrokontroller szoftver (PROGMEM), majd tegye a szabad LCD memória cella (CGRAM), és megjeleníti azt a képernyőn lcd_dat () függvényt.

Egy szimbólum létrehozása kényelmesebb bináris formátumban, például egy téglalap szimbólumot hozunk létre, a kód a következő lesz:

lcd_shift_right - A kép a megadott számú karakterre jobbra van mozgatva

lcd_shift_Left - A képet a megadott számú karakterre mozgatja balra

lcd_cursor_on - Engedélyezi a kurzor aláhúzását

lcd_cursor_blink - bekapcsolja a villogó kurzort

lcd_cursor_off - kikapcsolja a kurzort

lcd_blank - letiltja a képet, de nem törli

lcd_visible - tartalmazza a képet

lcd_cursor_left - A kurzor mozgatása a megadott számú karakterre balra

lcd_cursor_right - Mozgassa a kurzort a megadott számú karakterre jobbra

lcd_progress_bar - lehetővé teszi dinamikus skála megjelenítését, többet beszélünk erről a funkcióról gyakorlati példában.

lcd_num_to_str - legfeljebb 4 számjegyű változót jelenít meg

Példa: void lcd_num_to_str (ADC, 4); // Megjeleníti a 4 bites ADC változót

Hogy a projekt „Analog voltmérő”, amelyben az információkat a mért feszültség jelenik meg, mint egy vízszintes dinamikus skála. A mért feszültséget az ADC0 bemenetre, legfeljebb 5V-ra kell beállítani. megosztó használata nélkül. Használjuk a projekt mikrokontroller atmega8, amely órajele a belső oszcillátor frekvenciáját 8MHz. A kijelző egy 4 bites buszra csatlakozik az lcd_lib.h fájl beállításai szerint. Amikor létrehoz egy projektet 2 AVRSTUDIO másolja könyvtárfájlját a projekt mappában a projekt fa hozzá ezeket a fájlokat (lcd_lib.c és lcd_lib.h).

Kimeneti dinamikus skála megfelel lcd_progress_bar funkció (uint8_t fejlődéshez uint8_t maxprogress, uint8_t hossz). állapotától függően változók ezt a funkciót, a skála megváltoztatja szinten, a haladás - a szint 0 és 255, maxprogress - a maximális szint korlátozza egy szám 0-tól 255 hossza - a hossza skálán 0 és 16 sejteket (attól függően, hogy milyen típusú kijelző). Mivel a maximális feszültség a ADC bemeneti érték 1024, elosztjuk ezt az értéket a 4., és rendelje hozzá a változó „u”, és a változó „u” a kimeneti függvény void haladás dinamikus skála ().

Az alább felsorolt ​​program teljes szövege:

Kapcsolódó cikkek