LCD+51

Apr 02, 2004 8 Replies

Witam, znalazlem jakis przyklad sterowania wyswietlaczem LCD na t6963 kawalek wyglada tak:



xdata at 0x7FFE unsigned char t6963data; xdata at 0x7FFF unsigned char t6963ctrl;



void WriteCommand(unsigned char command) { CheckBusy(); //StatusBits STA0,1 checken t6963ctrl=command; //Kommando schreiben }



//set display mode = OR WriteCommand(0x80); //Text and graphic display !! WriteCommand(0x9C);


Wszystko to wyglada niby przejrzyscie wywolanie writecommand powoduje przekazanie parametru command do komorki pamieci 0x7FFF tylko... jak to niby wplywa na wyswietlacz ze dane tam umieszczane sa przez niego interpretowane ? W jaki sposob wyswietlacz korzysta z tej pamieci ? Spotykam sie tez z zastosowaniem w takowych ukladach 74LS373 w jakim celu ?



Pzdr.


U¿ytkownik "angel" snipped-for-privacy@szas.z.pl> napisa³ w wiadomo¶ci news:c4jbli$iqi$ snipped-for-privacy@atlantis.news.tpi.pl...

interpretowane

w przestrzeni adresowej RAM'u jest widziany wyswietlacz a konkretnie jego dwa rejstry

0x7FFE - rejsetr danych 0x7FFF - rejestr do sterowania czegostam bo nie znam tego wyswietlacza

musi byc odpowiednio zbudowany dekoder adresowy

wiec zapis do komorki 0x7FFE zapisuje wprost do rejestru wyswietlacza

Czyli jest to uproszczona metoda sterowania zamiast dlubania na poszczegolnych portach uc ? Wyswietlacz rozroznia dane/komeny poprzez wejscie C/D jesli H komenda jesli L dane. Moge wiec zastapic to: P2.1 -> C/D, P0.0-7 -> D0-7 i teraz jesli P2.1 H to D0-7 bity sterujace jesli P2.1 L to D0-7 bity danych ? Jesli chcialbym uzyc metody z RAM'em to jakiego dekodera adresowego uzyc ? GAL16V8D ? Wiesz moze gdzie znajde jakis prosty schemat polaczen ?

U¿ytkownik "angel" snipped-for-privacy@szas.z.pl> napisa³ w wiadomo¶ci news:c4jjbf$mn0$ snipped-for-privacy@nemesis.news.tpi.pl...

Nie znaj±c tego wy¶wietlacza, podejrzewam, ¿e jest to jaki¶ klon hd44780 (du¿e prawdopodobieñstwo). Tak wiêc musisz równie¿ wysterowaæ R/W (zapis/odczyt) i E (enable - co¶ jak wyzwolenie zapisu/odczytu), w przypadku po³±czenia przez dekoder adresów dekoder steruje tymi liniami. BTW odczyt jest prawdopodobnie wykorzystany w funkcji CheckBusy().

¯eby siê nie rozpisywaæ, poszukaj na google pdf'a hd44780, tam znajdziesz wszystkie zale¿no¶ci czasowe i sposób pod³aczenia do procka. Ale jakby co zawsze mo¿na pytaæ ;)

Fri, 2 Apr 2004 14:55:26 +0200 jednostka biologiczna o nazwie "Sruba" snipped-for-privacy@poczta.onet.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

AFAIK T6963 to sterownik wyswietlaczy graficznych.

Dokladnie tak. Czytam i czytam i narazie wyczytalem ze procka informuje sie o korzystaniu z zewnetrznej pamieci/dekodera adresow poprzez ALE i PSEN. Do komunikacji uzywa sie AD0-7 czyli podlacza sie dekoder do portow P0.0 - P0.7 uc ALE -> LE i to wszystko ?

U¿ytkownik "BLE_Maciek" <i80c586@cyberspace_NO_SPAM_.org> napisa³ w wiadomo¶ci news: snipped-for-privacy@4ax.com...

W takim razie prawdopodobieñstwo tym razem zawiod³o :(

Fri, 2 Apr 2004 16:13:03 +0200 jednostka biologiczna o nazwie "angel" snipped-for-privacy@szas.z.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Nie. ALE to Address Latch Enable czyli sterowanie zatrzaskiem adresowym. Popatrz sobie na schemat dowolnego systemu z 51 ka gdzie program jest w zewnetrznie dolaczonym EPROMie. PSEN wybiera odczyt z zewn. pamieci programu.

U¿ytkownik "angel" snipped-for-privacy@szas.z.pl> napisa³ w wiadomo¶ci news:c4jjbf$mn0$ snipped-for-privacy@nemesis.news.tpi.pl...

Nie wiem, czy tak bardzo uproszczona, bo wymaga od projektuj±cego nieco wiedzy na temat magistral zewnêtrznych procesora i sposobu komunikacji z wy¶wietlaczem, ale transfer danych bêdzie przebiega³ du¿o szybciej, no i zajmie mniej kodu programu.

Tak mo¿na, ale musz± jeszcze byæ sygna³y RD, WR i CE.

Dekoder adresu jest zwykle potrzebny, je¶li masz na magistrali procesora kilka urz±dzeñ. Je¶li chcesz umie¶ciæ wy¶wietlacz w przestrzeni adresowej zewnêtrznej pamiêci RAM, a nie u¿ywasz zewnêtrznego RAMu ani ROMu, to bez problemu zrobisz to bez ¿adnego dekodera, stosuj±c tzw. dekodowanie niepe³ne (IMO bardzo niepe³ne :-)). Dekodowanie niepe³ne zazwyczaj, daje taki efekt, ¿e widzisz LCD pod wieloma adresami (adresy powtarzaj± siê). Tu nawet poszed³bym dalej, twierdz±c, ¿e nie bêdzie Ci potrzebny nawet ten zatrzask (np. 573) u¿ywany jako demultiplexer m³odszej czê¶ci adresu.

Moja propozycja pod³±czenia: P0.0-P0.7 - szyna danych do/z wy¶wietlacza P2.0 - C/D P3.6/WR - WR P3.7/RD - RD CE w wy¶wietlaczu np. na sta³e do masy. Teraz np. pod adresem 0x0000 masz rejestr danych, a pod adresem 0x0100 rejestr komend. Ale te adresy bêd± siê powtarzaæ i rejestr danych bêdziesz mia³ pod dowolnym adresem, w którym bit nr 8 bêdzie równy 0, a rej. steruj±cy pod dowolnym adresem, w którym bit nr 8 = 1.

Pozdr., QmX.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required