LCD 2x16 czemu wyswietla tylko 8 znakow w...
T oR - 18-02-2007 15:45
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
--
Wysłano z serwisu OnetNiusy:
http://niusy.onet.pl
PC - 18-02-2007 16:45
Są warianty lcd z indexem A w typie. Poczytaj o sterowaniu bo róznią się
nieznacznie. Zawsze myślałem, że dotyczy to 1x16 bo 1x16A to po prostu 2x8 w
jednej linii i zachowuje się tak jak opisałeś.
PC
ToR - 18-02-2007 16:45
> Są warianty lcd z indexem A w typie. Poczytaj o sterowaniu bo róznią się
> nieznacznie. Zawsze myślałem, że dotyczy to 1x16 bo 1x16A to po prostu 2x8 w
> jednej linii i zachowuje się tak jak opisałeś.
>
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
--
Wysłano z serwisu OnetNiusy:
http://niusy.onet.pl
BLE_Maciek - 18-02-2007 20:45
18 Feb 2007 15:44:19 +0100 jednostka biologiczna o nazwie "T oR"
<ToR_kulaWYTNIJTO@o2.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:
>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?
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.
Greg\(G.Kasprowicz\) - 19-02-2007 09:45
>
> 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??
nastepne 8 znakow - dodaj offset 0x80 w pamieci
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl