RTV forum PL | NewsGroups PL

Jak ustawić tryb 4-bitowy na wyświetlaczu LCD HD44780 po resecie procesora?

Dziwne zachowanie wyświetlacza na HD44780 - sterowanie 4 bit

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak ustawić tryb 4-bitowy na wyświetlaczu LCD HD44780 po resecie procesora?

kk
Guest

Sat Jan 11, 2014 10:44 pm   



Dziwna sprawa ...
Jest wyświetlacz LCD 4x 20 znaków na układzie HD44780 .

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Zgodnie z instrukcją ze str 46 po właczeniu zasilania wyświetlacz ustawia
się w trybie 8-bitowym.
Aby przejść na 4 bity jest opisana procedurka.
Wszystko działa.
Znaczy się : włączam zasilanie, procesor przestawia toto na 4 bity i śmiga.

Ale ...

Po wykonaniu resetu procesora bez wyłączania zasilania
opisana w pdf-ku procedura przełącza wyświetlacz na tryb 8-bitowy.
I pokazują się krzaczki.
Kolejny reset i mamy ponownie tryb 4-bitowy.
I tak w kółko.

Czy to normalne czy ja coś porąbałem ?
A może jest sposób aby sprawdzić w jakim trybie aktualnie pracuje
wyświetlacz ?

kk

AlexY
Guest

Sun Jan 12, 2014 1:20 am   



Użytkownik kk napisał:
Quote:
Dziwna sprawa ...
Jest wyświetlacz LCD 4x 20 znaków na układzie HD44780 .

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Zgodnie z instrukcją ze str 46 po właczeniu zasilania wyświetlacz
ustawia się w trybie 8-bitowym.
Aby przejść na 4 bity jest opisana procedurka.
Wszystko działa.
Znaczy się : włączam zasilanie, procesor przestawia toto na 4 bity i śmiga.

Ale ...

Po wykonaniu resetu procesora bez wyłączania zasilania
opisana w pdf-ku procedura przełącza wyświetlacz na tryb 8-bitowy.
I pokazują się krzaczki.
Kolejny reset i mamy ponownie tryb 4-bitowy.
I tak w kółko.

Czy to normalne czy ja coś porąbałem ?
A może jest sposób aby sprawdzić w jakim trybie aktualnie pracuje
wyświetlacz ?

Nie bardzo rozumiem na czym polega problem, HD'ki inicjuje się zawsze po
podaniu zasilania lub ich resetowaniu niezależnie czy transmisja jest 4
czy 8 bitowa.


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

kk
Guest

Sun Jan 12, 2014 10:09 am   



Quote:
Nie bardzo rozumiem na czym polega problem, HD'ki inicjuje się zawsze po
podaniu zasilania lub ich resetowaniu niezależnie czy transmisja jest 4
czy 8 bitowa.

Problem polega na tym, że gdy zresetuję procesor bez wyłączania zasilania
wyświetlacz przehodzi w tryb 8-bitowy.
Muszę wtedy zrobić ponowny restart i mam znowu 4 bity.
Kolejny reset - 8 bitów , kolejny ... itd.

Ale sprawa nieco się wyjasniła (albo jeszcze bardziej zagmatwała)

Podmieniłem wtświetlacz na starszy i wszystko jest OK.

kk

Marek
Guest

Sun Jan 12, 2014 11:09 am   



On Sun, 12 Jan 2014 10:09:13 +0100, "kk" <a@a.pl> wrote:
Quote:
Problem polega na tym, że gdy zresetuję procesor bez wyłączania
zasilania
wyświetlacz przehodzi w tryb 8-bitowy.

Kiedyś uruchamianiełem wyświetlaczac cog, który zgodny z hd 44780,
przy komunikacji bez sprawdzania busy bit wymagał dłuższych czasów
niż inne lcd w tym standardzie bo inaczej krzaczkował. Napisałeś
trochę za mało aby postawić diagnozę.
Nie napisałeś czy korzystasz z busy bit czy czekasz wymagane
opóźnienie wykonywania instrukcji lcd.
Nie napisałeś w jakich warunkach jest ten reset, być może jest w
trakcie transmisji z lcd, reset w takim przypadku może coś psuć w
komunikacji.
Na jakiej podstawie stwierdziłeś, że lcd przyłączył się w tryb 8bit -
lcd jest podłączony również 8bitowo do mcu aby zweryfikować
komunikację? Wyświetlanie krzaczków nie oznacza jednoznacznie, że
jest w 8bit.

Podsumowując, nie spotkałem się z lcd, który by się dziwnie
zachowywał przy wielokrotnym przestawianiu go w tryb 4bit bo nie jest
czymś wyjątkowym, np. podczas flashowania układu zasilanie
najczęściej jest z zewnątrz i tylko mcu się resetuje.

--
Marek

AlexY
Guest

Sun Jan 12, 2014 5:06 pm   



Użytkownik kk napisał:
Quote:

Nie bardzo rozumiem na czym polega problem, HD'ki inicjuje się zawsze po
podaniu zasilania lub ich resetowaniu niezależnie czy transmisja jest
4 czy 8 bitowa.

Problem polega na tym, że gdy zresetuję procesor bez wyłączania zasilania
wyświetlacz przehodzi w tryb 8-bitowy.
Muszę wtedy zrobić ponowny restart i mam znowu 4 bity.
Kolejny reset - 8 bitów , kolejny ... itd.

To wstaw inicjalizację LCD aby robiła się na początku programu bo
rozumiem że obecnie masz to robione "na żądanie". I tego nie pojmuje,
jeśli LCD nie stracił zasilania to jakim cudem reset proca go resetuje?

Quote:
Ale sprawa nieco się wyjasniła (albo jeszcze bardziej zagmatwała)

Podmieniłem wtświetlacz na starszy i wszystko jest OK.


--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html

kk
Guest

Sun Jan 12, 2014 5:51 pm   



Quote:
To wstaw inicjalizację LCD aby robiła się na początku programu bo
rozumiem że obecnie masz to robione "na żądanie". I tego nie pojmuje,
jeśli LCD nie stracił zasilania to jakim cudem reset proca go resetuje?


Właśnie nie restetuje.
Jedynie przestawia tryb pracy z 8bit na 4 i odwrotnie.
W przypadku gdy LCD nie utracił zasilania po restarcie procka wraca z trybu
4 bit na 8.
W kolejnym resecie przestawia się ponownie z 8 na 4.
Co tu rozumieć ...

Jeżeli wyłączę zasilanie jest ok. Start 8 bit -> 4 bit i tak ma być.

Po przejrzeniu zasobów sieciowych
doszedłem do wniosku, że ten LCD to wcale nie jest na HD44780 a Samsung
KS0066.

Marek
Guest

Sun Jan 12, 2014 11:09 pm   



On Sun, 12 Jan 2014 16:06:29 +0000, AlexY <alexy@irc.pl> wrote:
Quote:
rozumiem że obecnie masz to robione "na żądanie". I tego nie
pojmuje,


Jemu chudzi o to że wysyłanie w kółko polecenia "ustaw interfejs
4bit" powoduje przestawianie interfejsu 4bit/8bit/4bit/8bit itd.

--
Marek

Michał Lankosz
Guest

Sun Jan 12, 2014 11:18 pm   



W dniu 2014-01-12 17:51, kk pisze:
Quote:
Po przejrzeniu zasobów sieciowych
doszedłem do wniosku, że ten LCD to wcale nie jest na HD44780 a Samsung
KS0066.

Podobno odpowiednik. Rób inicjalizację wyświetlacza po każdym restarcie
uC. Sprawdź, czy w każdym kroku dajesz opóźnienie wskazane w
dokumentacji. Na wszelki wypadek wydłuż wszystkie czasy 4-10 krotnie.
Jeśli zadziała to znaczy, że za szybko gadasz z nim, nie zachowałeś
timingów. SPRAWDŹ.

--
Michał

__Maciek
Guest

Mon Jan 13, 2014 10:25 pm   



Sun, 12 Jan 2014 23:09:32 +0100 Marek <fake@fakeemail.com> napisał:

Quote:
Jemu chudzi o to że wysyłanie w kółko polecenia "ustaw interfejs
4bit" powoduje przestawianie interfejsu 4bit/8bit/4bit/8bit itd.

Przecież kody ustawiające odpowiednią szerokość szyny są różne dla obu
trybów. W "nie do końca zgodny" odpowiednik HD44780 z aż takim błędem
nie chce mi się wierzyć, zostałoby to wcześniej wychwycone.
Wyświetlacz na jakimś KSS0-coś obsługiwałem wieki temu (jeszcze na
'51) szyną 4-bitową i działał jak należy. Obstawiam na 98% błąd w
kodzie na uC, ewentualnie jakieś niedopatrzenie w układzie. A to że po
każdym resecie uC należy inicjalizować wyświetlacz to oczywista
oczywistość Smile

Guest

Tue Jan 14, 2014 12:56 am   



W dniu sobota, 11 stycznia 2014 22:44:32 UTC+1 użytkownik kk napisał:
Quote:
Dziwna sprawa ...

Jest wy�wietlacz LCD 4x 20 znak�w na uk�adzie HD44780 .



https://www.sparkfun.com/datasheets/LCD/HD44780.pdf



Zgodnie z instrukcj� ze str 46 po w�aczeniu zasilania wy�wietlacz ustawia

siďż˝ w trybie 8-bitowym.

Aby przej�� na 4 bity jest opisana procedurka.

Wszystko dzia�a.

Znaczy si� : w��czam zasilanie, procesor przestawia toto na 4 bity i �miga.



Ale ...



Po wykonaniu resetu procesora bez wy��czania zasilania

opisana w pdf-ku procedura prze��cza wy�wietlacz na tryb 8-bitowy.

I pokazujďż˝ siďż˝ krzaczki.

Kolejny reset i mamy ponownie tryb 4-bitowy.

I tak w k�ko.



Czy to normalne czy ja co� por�ba�em ?

A mo�e jest spos�b aby sprawdzi� w jakim trybie aktualnie pracuje

wy�wietlacz ?




Problem może być w timingu. Klonów HD'ka jest do diabła i trochę. Jeżeli masz LCD'ka Made in China, wszystko raczej powinno być OK. Jeżeli masz Made in Germany, to różnie z tym bywa. Jeżeli dziargasz soft w assemblerze, to o pomyłkę nietrudno. Osobiście polecam odwiedzenie stronki www.mikroe.com, mają w sensownych cenach kompilatory C i Pascala na różne uC. I co istotne, kupę różnistych, bajeranckich bibliotek bardzo przyjaznych w obsłudze. Osobiście nie spotkałem się z bardziej przyjaznym środowiskiem projektowym pod uC. W opisie bibliotek są nawet załączone schematy. Wszelakie bajery na LCD/GLCD/TFT robi się w parę minut "na kolanie". Polecam !!

elektroda NewsGroups Forum Index - Elektronika Polska - Jak ustawić tryb 4-bitowy na wyświetlaczu LCD HD44780 po resecie procesora?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map