LCD do LPT

Dec 24, 2005 7 Replies

Podłączyłem zwyczajny LCD 2x16 hm.. próbowałem go jakoś wysterować, ale nie reaguje na procedury tylko wciąż jedno - wyświetla się cały pierwszy rząd. Czy może coś jest uszkodzone? Zresztą gdy nie jest podłączony do kompa też tak się dzieje. Jak to uruchomić?


U¿ytkownik "Ktos" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:doian9$1pq$ snipped-for-privacy@nemesis.news.tpi.pl...

Je¿eli siê ¶wieci ca³y rz±d to najprawdopodobniej nie by³o albo ¼le przeprowadzona inicjalizacja LCD.

Jarosław S napisał(a):

Hm.. więc musi być jakaś inicjalizacja przeprowadzona ;) Ja myślałem, że źle zrozumiałem układ pinów. W dokumentacji jest pokazany 1 i 14 pin Tak to wygląda:

1 . . . . . . . . . . . .14

1-8 : DB7-DB0

9 : E 10 : R/W 11 : RS 12,13,14 : V0,VSS,VDD

i zastanawiałem się czy to jest w takim układzie

1 2 3 4 5 6 itp

czy takim:

1 8 2 9 3 10 itp ;)

Wybrałem ten pierwszy sposób i tak zbudowałem kabel do LPT w sumie jeszcze nie wiem do końca jak to zaprogramować Np chciałem wysłać rozkaz czyszczenia ekranu Ustawiam kolejno E=0; RS=0; R/W=0; no i ustawiam dane na Dane=1 i potem E=1; Oczywiście nic się nie dzieje.

Próbowałem jakieś pętle opóźnienia wprowadzić i być może źle to robię... W dokumentacji było podane Execution time (fosc=270kHz) i na instrukcję Clear Display 1,52 ms, w sumie to zlekceważyłem i uznałem za nieistotne, ale może trzeba uwzględnić te czasy. Też nie wiem czy z tymi pinami nie jest pomerdane.

pozdrawiam

raczej ten ale zoabcz jak ida sciezki, masa, podswietlnie itp

10 x sprawdz czy dobrze podlaczyles do LPT

oczywiscie czytales kursy sterowania LCD (po pl w EdW byly, nawet fajne) a co podstawowe odpaliles gotowe programy do sterowania LCD podpietego do kompa... smatie lcd i podobne?

czasy sa wazne jak nie czytasz flagi zajetosci! Daj sleep > max (wszystkie poszczegolne execution time) sleep(25) da rade np.

Krzysiek. napisał(a):

Oczywiście Nie, ale zaraz coś może znajdę w necie o tym.

Hm... poszukam tych programów, mam nadzieję że da się ustalić pod który pin w LPT co jest podłączone.

Ja mam dane podłączone od LPT od 2-9 pinu (Data port - 0x378)

14 - E, 1 - R/W, 16 - RS (control port 0x37A)

procedurka wygląda tak: void clear() { _asm{ cli mov eax,udalo mov edx,0x378 // data register out dx,al

mov eax,7 mov edx,0x37A // control register out dx,al sti mov ecx, 0x18000 lB: loop lB cli mov eax,5 mov edx,0x37A // control register out dx,al sti

retn } }

U¿ytkownik "Ktos" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:doj72m$dou$ snipped-for-privacy@nemesis.news.tpi.pl...

Chyba ¿artujesz - nie robisz inicjalizacji ?

Najlepiej sprawd¼, który ze skrajnych pinów jest GND i to bêdzie pin nr 1. Wiêkszo¶æ LCD ma dwu albo jedno-rzêdowy rozk³ad pinów. Je¿eli dwurzêdowy to najprawdopodobniej jest tak :

14 13 12 11 10 9 8 7 6 5 4 3 2 1 (Patrz±c na wprost wy¶wietlacza numeracja pinów zaczyna siê od prawego dolnego pinu)

Je¿eli masz ju¿ dobrze pod³±czone to teraz musisz zainicjalizowaæ LCD. Sekwencja danych jest niestety uzale¿niona od trybu pracy (1 linia, 2 linie, interfejs 4 lub 8 bitowy.... kursor...itp.) Potem dopiero mo¿na wpisywaæ znaki na LCD.

jest mnostwo softu obslugujacego LCD podczepione do LPT

formatting link
sprawdz, jak zadziala, bierz sie za wlasne pisanie

Jarosław S napisał(a):

Oki dzięki narazie udało mi się sterować kursorem. Miałem źle podkręcony kontrast bo dopiero pod kątem zobaczyłem że coś tam się jednak steruje, podkręciłem kontrast i został tylko migający kursor, no i mogę nim poruszać ;)

pozdrawiam wszystkich

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required