angel
Guest
Fri Apr 02, 2004 8:26 am
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.
--
GG: 833104
Mariusz, MMX
Andy
Guest
Fri Apr 02, 2004 10:17 am
Użytkownik "angel" <mmxREMOVEME@szas.z.pl> napisał w wiadomości
news:c4jbli$iqi$1@atlantis.news.tpi.pl...
Quote:
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 ?
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
--
Andrzej
angel
Guest
Fri Apr 02, 2004 10:35 am
"Andy" <anokWYTNIJ@ceti.pl> wrote in message
news:c4jhqp$iph$1@atlantis.news.tpi.pl...
Quote:
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 ?
--
GG: 833104
Mariusz, MMX
Sruba
Guest
Fri Apr 02, 2004 11:55 am
Użytkownik "angel" <mmxREMOVEME@szas.z.pl> napisał w wiadomości
news:c4jjbf$mn0$1@nemesis.news.tpi.pl...
Quote:
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 ?
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().
Quote:
Jesli chcialbym uzyc metody z RAM'em to jakiego dekodera adresowego uzyc ?
GAL16V8D ?
Wiesz moze gdzie znajde jakis prosty schemat polaczen ?
Ż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ć ;)
--
Marek
BLE_Maciek
Guest
Fri Apr 02, 2004 12:25 pm
Fri, 2 Apr 2004 14:55:26 +0200 jednostka biologiczna o nazwie "Sruba"
<srubajki@poczta.onet.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:
Quote:
Nie znając tego wyświetlacza, podejrzewam, że jest to jakiś klon hd44780
(duże prawdopodobieństwo).
AFAIK T6963 to sterownik wyswietlaczy graficznych.
angel
Guest
Fri Apr 02, 2004 1:13 pm
"BLE_Maciek" <i80c586@cyberspace_NO_SPAM_.org> wrote in message
Quote:
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 ?
--
GG: 833104
Mariusz, MMX
Sruba
Guest
Fri Apr 02, 2004 1:54 pm
Użytkownik "BLE_Maciek" <i80c586@cyberspace_NO_SPAM_.org> napisał w
wiadomości news:b6qq60pg5o9v0dg8cr49vgulemg58qh3qq@4ax.com...
Quote:
Nie znając tego wyświetlacza, podejrzewam, że jest to jakiś klon hd44780
(duże prawdopodobieństwo).
AFAIK T6963 to sterownik wyswietlaczy graficznych.
W takim razie prawdopodobieństwo tym razem zawiodło :(
--
Marek
BLE_Maciek
Guest
Fri Apr 02, 2004 5:39 pm
Fri, 2 Apr 2004 16:13:03 +0200 jednostka biologiczna o nazwie "angel"
<mmxREMOVEME@szas.z.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:
Quote:
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 ?
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.
QmX
Guest
Mon Apr 05, 2004 5:11 am
Użytkownik "angel" <mmxREMOVEME@szas.z.pl> napisał w wiadomości
news:c4jjbf$mn0$1@nemesis.news.tpi.pl...
Quote:
Czyli jest to uproszczona metoda sterowania zamiast dlubania na
poszczegolnych portach uc ?
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.
Quote:
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 ?
Tak można, ale muszą jeszcze być sygnały RD, WR i CE.
Quote:
Jesli chcialbym uzyc metody z RAM'em to jakiego dekodera adresowego uzyc ?
GAL16V8D ?
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.