LCD (HD44780) v rezime 5x10?
Miroslav Sinko
sinkomiro@rocketmail.com
Neděle Červenec 29 17:36:35 CEST 2007
No tak najprv citat datasheet... nasiel som priamo od T7934 (konkretny
radic, na tej fotke zo spodu je pod plochym kablom).
1) font 5x10 musi byt pouzity len v kombinacii s 1-riadkom
2) po inicializacii toto uz menit nejde
3) inicializacia prebieha inac, ako ma implementovane AVRLib
Prerobil som podla datasheetu, ale aj tak to zobrazuje len 5x7...
miro
--- Miroslav Sinko <sinkomiro@rocketmail.com> wrote:
> Dobry den,
>
> mam display 1x40 znakov, vyska znaku je 11 pixelov. Neviem ho vsak
> donutit zobrazovat 10 pixelov vysoke znaky. Stale zobrazuje takto:
> http://www.za.gaya.sk/~sinkom/tmp/HD44780/DSC08799_r.jpg
>
> (zadna strana s oznacenim:
> http://www.za.gaya.sk/~sinkom/tmp/HD44780/DSC08804_r.jpg)
>
> Obsluzny program pisem v GCC pre AVR s pouzitim Procyon AVRLib.
> Standardne je display inicializovany na "FUNCTION" 4-bit rezim a
> 2-riadkove adresovanie. Po kompletnej inicializacii zmenim "FUNCTION"
> rezim na 4-bit; 2-riadky; 5x10 font. Ale bez zmeny stale vypisuje
> znaky
> 5x7. Tiez, ked som zmenil na 4-bit; 1-riaok; 5x10 font. Tu sa
> rozhodilo
> umiestnenie znakov, co je logicke.
>
> Pripajam zdrojak, ak by niekto prisiel na to, kde robim chybu...
>
> miro
>
>
> #include "string.h"
> #include "global.h"
> #include "lcd.h"
>
> int main(void){
> char sprava1[]="0123456789012345678901234567890123456789";
> char sprava2[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn";
>
> lcdInit();
> lcdControlWrite(1<<LCD_FUNCTION | 1<<LCD_FUNCTION_10DOTS |
> 1<<LCD_FUNCTION_2LINES);
>
> lcdPrintData(sprava1, strlen(sprava1));
>
> //tu je prvy riadok napisany na disp fontom 5x7, co sa mi nepaci..
>
> lcdGotoXY(0,1);
> lcdPrintData(sprava2, strlen(sprava2));
>
> while(1){
> asm volatile ("nop");
> }
> return 0;
> }
____________________________________________________________________________________
Pinpoint customers who are looking for what you sell.
http://searchmarketing.yahoo.com/
Další informace o konferenci Hw-list