Wszystkie znaki na wyświetlaczu LCD 1x16 - kod i sekwencje inicjalizacji?

problem z wyswietlaczem LCD 1x16





Poprzedni Następny
Wiadomość
Spis treści
From: "KS" <pokajok_at_nospam_interia.pl>
Subject: problem z wyswietlaczem LCD 1x16
Date: Wed, 9 Nov 2005 19:21:32 +0100


Witam,

Mam problem z zaprogramowaniem wyswietlacza LCD 1x16 znaków.
Wyświetlacz wyświetla pierwsze 8 znaków. Kilka tygodni temu opisywałem ten
problem i poradzono mi żebym szukał swoich znaków w drugiej linii.
Próbowałem inicjalizować wyswietlacz na rózne sposoby (1 linia i dwie linie)
ale wciaż mam tylko 8 znaków (nawet jakwysyłam znaki w nieskończonej pętli).
Wyswietlacz jest raczej dobry bo dwa od róznych dostawców zachowuja sie tak
samo (choć dwa od innych dostawców pracują poprawnie). Czy ktoś z moze mi
wysłać sekwencje rozkazów jakie powinienem wysłac do wyswietlacza aby ten
wyświetlał wszystkie 16 znaków?
Ponizej dodałem kawałek swojego kodu.
Dzięki za wszelka pomoc.

KS



Delay(100);
LCDiout(56);
Delay(550);
LCDiout(56);
Delay(550);
LCDiout(2);
Delay(550);
LCDiout(100);
Delay(550);
LCDiout(12);
Delay(550);
LCDiout(2);
Delay(25);
put_messagee("moj tekst ");
Delay(100);

procedura LCDiout wyglada następująco

LCDiout:
CLR LCDDAT ;linia wybierająca znak/instrukcja
MOV P2,R7 ;wyświetlacz podłączony na 8 liniach do portu P2
SETB LCDPULS ;sygnał Enable
LCALL DELAY
CLR LCDPULS
LCALL DELAY
RET





Poprzedni Następny
Wiadomość
Spis treści
From: Tomasz Piasecki <mtbrider_at_nospam_poczta.__nospam__.onet.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 09 Nov 2005 20:17:06 +0100


KS wrote:

Czy ktoś z moze mi
wysłać sekwencje rozkazów jakie powinienem wysłac do wyswietlacza aby ten
wyświetlał wszystkie 16 znaków?
Jeśli to jest taki udawany wyświetlacz 2x8, to po 8 znakach musisz
przestawić kursor do pierwszego znaku drugiego wiersza i pisać dalej.

TP.

--
| _ _ _ |
| _____ _| |_| | __ (o) | | __ __ _at_nospam_poczta.onet.pl |
| | \ | | |o \| \| |/o |/ _\| \ |
| |_|_|_| \_| |__/|_| |_|\__|\__||_| Tomasz Piasecki |

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek Sz." <zumek_at_nospam_gazeta.SKASUJ-TO.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 9 Nov 2005 19:20:13 +0000 (UTC)


KS <pokajok_at_nospam_interia.pl> napisał(a):

Witam,

Mam problem z zaprogramowaniem wyswietlacza LCD 1x16 znaków.
Wyświetlacz wyświetla pierwsze 8 znaków. Kilka tygodni temu opisywałem ten
problem i poradzono mi żebym szukał swoich znaków w drugiej linii.
Próbowałem inicjalizować wyswietlacz na rózne sposoby (1 linia i dwie linie)
ale wciaż mam tylko 8 znaków (nawet jakwysyłam znaki w nieskończonej pętli).
Wyswietlacz jest raczej dobry bo dwa od róznych dostawców zachowuja sie tak
samo (choć dwa od innych dostawców pracują poprawnie). Czy ktoś z moze mi
wysłać sekwencje rozkazów jakie powinienem wysłac do wyswietlacza aby ten
wyświetlał wszystkie 16 znaków?
Ponizej dodałem kawałek swojego kodu.
Dzięki za wszelka pomoc.

KS
...
Trzeba "poprosić" LCD-ka , by zechciał wyświetlać znaki w 2 linii , sam na to
nie wpadnie ;)
Należy wysłać kod sterujący , a będzie to prawdopodobnie 0xC0.
Gdybyś chciał powrócić do 1 linjii , to należy wysłac 0x80 , bądź Cls czy Home.

Piotrek


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: BartekK <sibi_at_nospam_drut.org>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 09 Nov 2005 20:20:33 +0100


KS napisał(a):
Mam problem z zaprogramowaniem wyswietlacza LCD 1x16 znaków.
Wyświetlacz wyświetla pierwsze 8 znaków. Kilka tygodni temu opisywałem ten
problem i poradzono mi żebym szukał swoich znaków w drugiej linii.
Po prostu wyslij znaki do drugiej lini! wiele wyswietlaczy 1x16 to
wyswietlacze 2x8 ale drugi wiersz jest "w jednym ciagu" z pierwszym,
wiec inicjalizujesz wyswietlacz jako 2x8 (lub 2x16), i wyswietlasz w 2
wierszach, a ogladasz w jednym


--
| Bartlomiej Kuzniewski
| sibi_at_nospam_drut.org GG:23319 tel +48 696455098
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Poprzedni Następny
Wiadomość
Spis treści
From: "KS" <pokajok_at_nospam_interia.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 9 Nov 2005 20:34:50 +0100


Dzięki za odpowiedzi,


Własnie wpisałem instrukcje LCDiout(192);
i niestety dalej nic.





Poprzedni Następny
Wiadomość
Spis treści
From: "Ukaniu" <L99UkaszWYWALTO_at_nospam_gazeta.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 9 Nov 2005 20:45:26 +0100



Użytkownik "KS" <pokajok_at_nospam_interia.pl> napisał w wiadomości
news:dktena$i0f$1_at_nospam_news.dialog.net.pl...
Witam,

Mam problem z zaprogramowaniem wyswietlacza LCD 1x16 znaków.
Wyświetlacz wyświetla pierwsze 8 znaków. Kilka tygodni temu opisywałem ten

Jeśli walisz w niego znaki non stop, a on wyświetla tylko 8 znaczy że jest
źle zainicjowany,
Być może Twoja procedura inicjowania nie jest taka jaką przewidział
producent?


--
Pozdrawiam Łukasz
Aktualnie: poszukujący pracy :-)
Ciekawej !


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek Sz." <zumek_at_nospam_gazeta.SKASUJ-TO.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Wed, 9 Nov 2005 21:37:10 +0000 (UTC)


KS <pokajok_at_nospam_interia.pl> napisał(a):

Witam,

...

Delay(100);
LCDiout(56); //Function Set (0x38)
Delay(550);
LCDiout(56);//Function Set (0x38)
Delay(550);
LCDiout(2);//Home (0x02) ???
Delay(550);
LCDiout(100);//Set CGRAM (0x64) ???
Delay(550);
LCDiout(12);//Display Control - ON
Delay(550);
LCDiout(2);//Home
Delay(25);
A gdzie Entry Mode Set ???
A Cls ???
put_messagee("moj tekst ");
Delay(100);
...
Mam nadzieję , że ten Twój LCD jest na sterowniku HD44780 ?
Jeśli tak , to napisz co robi Twoja funkcja inicjująca LCD , bo mi coś w niej
nie gra :( A funkcja Delay(x) , to w jakich jednostkach "wyskalowana" uS,mS,
czy może jeszcze cos innego ?
Spróbuj może tak zainicjować LCD:
..
LCDiout(56);
Delay(550);
LCDiout(12);
Delay(550);
LCDiout(6);
Delay(550);
LCDiout(1);
Delay(550);
LCDiout(192);
Delay(25);
..
Teoretycznie powinien wyświetlić napis od 9-go znaku.

Piotrek

PS
Warto używać zapisu szesnastkowego liczb, jest bardziej czytelny.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: "Ukaniu" <L99UkaszWYWALTO_at_nospam_gazeta.pl>
Subject: Re: problem z wyswietlaczem LCD 1x16
Date: Thu, 10 Nov 2005 18:51:22 +0100



Użytkownik "mpal" <mpal_at_nospam_mat.dodajh.uni.wroc.pl> napisał w wiadomości
news:dkvvnh$ll6$1_at_nospam_nemesis.news.tpi.pl...
Nie jestem specem, ale sam mialem podobne problemy z takim wyswietlaczem.
Okazalo sie, ze dawalem mu za malo czasu na inicjalizacje. Moj uklad nie
sprawdzal linii BUSY, tylko troche czekal po kazdej komendzie. Okazalo
sie,
ze inicjalizacja zajmuje bardzo duzo czasu (chyba ponad 1,5 ms). Byc moze
masz ten sam problem.

Podczas inicjowania linia busy jest nie aktywna, trzeba dokładnie zachować
minimalne wymagania czasowe


--
Pozdrawiam Łukasz
Aktualnie: poszukujący pracy :-)
Ciekawej !


Poprzedni Następny
Wiadomość
Spis treści
From: "mpal" <mpal_at_nospam_mat.dodajh.uni.wroc.pl>
Subject: Odp: problem z wyswietlaczem LCD 1x16
Date: Thu, 10 Nov 2005 18:25:34 +0100


Nie jestem specem, ale sam mialem podobne problemy z takim wyswietlaczem.
Okazalo sie, ze dawalem mu za malo czasu na inicjalizacje. Moj uklad nie
sprawdzal linii BUSY, tylko troche czekal po kazdej komendzie. Okazalo sie,
ze inicjalizacja zajmuje bardzo duzo czasu (chyba ponad 1,5 ms). Byc moze
masz ten sam problem.
Pozdrowienia,
MAciej