LCD 2x16 czemu wyswietla tylko 8 znakow w...

Witam!

Mam pytanie bo oprogramowywuje wyswietlacz 2x16 (Atmega8, WinAVR,C) ale mam problem, gdyz w trybie komunikacji 4-bitowej wyswietla mi tylko 8 znakow..

Jesli chce aby wyswietlil wiecej czyli np 16 to musze kursor dac do nastepnej lini (i wtedy jest 2 razy po 8 znnakow) -czy ktos wie czemu sie tak dzieje?

Ja nie wiem co jest grane bo wszytko dobrze dziala w trybie 8 bitowym..

PS1:Wklejam swoje ustawienia w pliku '.h':

#define _4LCD_Function_set 0x28 //00101000 sterowanie 4-bitowe, dwie linie wyswietlacza, matryca 5x7

#define LCD_Entry_Mode_Set 0x06 //00000110 tryb wprowadzania znakow inkrementacja DD RAM

#define LCD_On 0x0C //00001100 wlaczenie wyswietlacza, kursora, miganie kursora

#define LCD_CLR 0x01 //00000001 czyszczenie lcd

PS2: Sterownik KS0070B

Pozdrawiam, Rafal Kula

Reply to
T oR
Loading thread data ...

Hmm no ok, ale w trybie 8 danowym dziala mi dobrze czyli to co piszesz tyczy sie wylacznie trybu 4-danowego?

Moj wyswietlacz to DEM 16217 SYH...Czegos tu nie rozumiem bo jesli ten LCD mialby wyswietlac dane po 2x8 to poco mu dlugosc 2x16? Czyli jak wyswietlic dane na calej dlugosci lini??

Pozdarwiam i dzieki za szybki odzew ;) Rafa kula

Reply to
ToR
18 Feb 2007 15:44:19 +0100 jednostka biologiczna o nazwie "T oR" <ToR snipped-for-privacy@o2.pl wyslala do portu 119 jednego z serwerow news nastepujace dane:

Bo tak producent zorganizował pamięć tego wyświetlacza, nic nie poradzisz.

Napewno dostępna do pisania jest cała matryca tylko że odpowiadające poszczególnym połówkom linii obszary pamięci są różnie rozmieszczone w pamięci.

Napisz program który zapisze jakimś znakiem całą pamięć danych w wyświetlaczu, zobaczysz jak to jest zorganizowane, albo lepiej metodą prób i błędów znajdź gdzie zaczyna się i kończy każdy z czterech obszarów odpowiadających połówkom linii. Odstęp między tymi obszarami jest zazwyczaj stały.

AFAIR zwykle niestety jest tak, że najpierw jest pierwsza połówka pierwszej lini, później pierwsza połówka drugiej i następnie (też w jakimś odstępie w pamięci) druga połówka pierwszej i druga drugiej.

Reply to
BLE_Maciek

nastepne 8 znakow - dodaj offset 0x80 w pamieci

Reply to
Greg(G.Kasprowicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.