Zdeněk Krejčí

Zdeněk Krejčí

Stránky na téma programování v C++
*************************************************************************
Knihovna lcd_8 a lcd_4 pro Atmega16

Knihovna je psaná pro Atmega16 použití na PORTC další verzi napíšu více universálně aby se dala lechce použít pro jaký koli mikroprocessor.
Obě knihovny jsou určené pro komunikaci s 4x20 LCD displejem a funguje pro vetšinu řadičů (jelikož vlastně většina řadičů funkuje stejně).
jediný rozdíl mezi těmito dvěma knihovnami je že lcd_8 je pro 8 bitovou komunikaci a lcd_4 pro čtyř bitovou komunikaci což výrazně šetří PINY mikrokontroléru ale tím taktéž prodlužuje čas komunikace jelikož se neposílá slovo na jendou ale na dvakrát tj. prvně horní polovina a potom dolní polovina.
U těchto dvou knihoven jsem zjistil malou chybu v nastavení hardwaeru před inicializací displeje,  kterou brzy odstraním.
Řešení chyby:
Před prvním použití funkce lcd_init se ujistěte že daný port na kterým daná knihovna bude operovat je celý na urovni H.

Jazyk:
C
soubory: lcd_8.h;lcd_8.c pro 8 bitovou komunikaci
soubory: lcd_4.h;lcd_4.c pro 4 bitovou

Defaultní obsazení pinů lcd_4:
Piny řídící:
RS         7
RW        6
EN         5
Piny datové:
define B1        0
define B2        1
define B3        2
define B4        3

Náhled funkcí:

Inicializuje display...
lcd_init(void);

Pošle text
void lcd_text("text");

Pošle čislo
void lcd_number(123);

Maže displej
void clr_lcd();

Nastavi kurzor na řádek,pozici řádku
void write_lcd_adress(int line,int pos);
Poznámka:
V další verzy obou knihoven budou rozšířené funkce pro inteligentnější zapisování čísel, znaků a stringů a to tak že si kód zapamatuje to co je na display zapsáno příklad když na prvním řádku bude slovo o 5 znacích "mezera" a druhé slovo o x znacích a my mu pošleme pro zápis nové slovo na začátek řádku také o délce 5 znaků tak  prostě jen přepíše staré slovo.Pokud bude nové slovo delší jak staré tak posune to co je za starým slovem a přepíše staré slovo, když nové slovo bude kratší tak to co bylo za starým slovem přisune znovu o potřebnou délku atd... To samé bude platit pro čísla. Takže tím dostaneme čistější efekt a větší čitelnost při rychlejších změnách textu.
8bit com  1.52kB
8bitová komunikace
4bit com  1.88kB
4bitová komunikace
Name
Email
Comment
Or visit this link or this one