4.pdf

(138 KB) Pobierz
1265529 UNPDF
Podręczny poradnik elektronika
Alfanumeryczne
wyświetlacze LCD
część IV
Po miesięcznej przerwie kończymy opis alfanumerycznych wyświetlaczy LCD. Dzięki tej
przerwie miałem okazję zapoznać się z wieloma listami w których pytacie, drodzy Czytel−
nicy, o praktyczne sposoby sterowania tymi jakże ciekawymi elementami. W niniejszej ostatniej
części postaram się w kilku prostych przykładach to wyjaśnić. Podam też istotne wskazówki do−
tyczące miejsc zakupu oraz przybliżone ceny wyświetlaczy w zależności od typu i producenta.
Dzięki tej garści informacji każdy z Was będzie mógł zastosować te interesujące podzespoły elek−
troniczne w swoich projektach.
W poprzednich trzech częściach artyku−
łu zapoznaliśmy się praktycznie ze wszys−
tkimi możliwościami jakie oferują nam in−
teligentne moduły LCD. Wiemy już że
większość z takich wyświetlaczy posiada
standardową listę instrukcji , a to dzięki te−
mu, że korzystają one z takiego samego
sterownika (mikroprocesora) umieszczo−
nego na płytce modułu. Najczęściej jest to
układ firmy Hitachi oznaczony symbolem.
HD44780. W nazwie mogą na końcu lub
początku występować dodatkowe litery,
jednak jeżeli kupując moduł z niepewnego
źródła zobaczycie na jego tylnej części
wlutowany układ z takim właśnie symbo−
lem, to prawie pewne że wyświetlacz bę−
dzie można wysterować tak jak typowe
układy tej rodziny, korzystając z instrukcji
podanych w tym artykule (cz. I i II).
Na początek podam kilka praktycznych
sposobów na ujarzmienie modułów LCD.
do wyświetlenia, czy instrukcję. I wresz−
cie najważniejszą linię E („enable”) dołą−
czono poprzez prosty układ eliminujący
stany nie ustalone, do przełącznika chwi−
lowego, dzięki któremu możliwe jest po
ustawieniu linii D0...D7 oraz RS, uaktyw−
nienie modułu i wymuszenie odczytania
informacji z linii sterujących. W tym przy−
padku włącznik powinien być chwilowy.
Stała czasowa układu eliminacji drgań ze−
styków została dobrana w przybliżeniu,
tak aby zapewnić wystarczająco długi
czas generacji impulsu E przy jednoczes−
nej eliminacji dodatkowych zakłóceń me−
chanicznych styku włącznika. W praktyce
w roli przełączników 2 −poz. autor użył ty−
powych komputerowych jumperów a do
linii E dołączony został tzw. mikroswicz.
Jeżeli ktoś z was pokusi się o wykona−
nie takiego prostego układu testującego,
powinien opcjonalnie, w zależności od
potrzeby zasilić wyświetlacz napięciem
ujemnym lub nie, korzystając chociażby
z układu konwertera, którego rysunek
znalazł się w poprzednich częściach arty−
kułu (rysunek 3 – układ z ICL7660). Nie
należy zapomnieć także o rezystorze
montażowym do regulacji kontrastu. Po
wykonaniu proponowanego „ręcznego”
układu sterowania proponuję wykonać
przedstawiony poniżej ciąg instrukcji.
Wykonując kolejne polecenia należy naj−
pierw ustawić przełącznikami D0...D7,
RS odpowiednie stany zgodnie z tabelą,
a następnie na krótką chwilę nacisnąć
przycisk E. W ten sposób już po dwóch
poleceniach wyświetlacz powinien ożyć.
Jeżeli po wykonaniu drugiego kroku
kursor nie będzie nadal widoczny, radzę
sprawdzić:
– jakość połączeń
– wyregulować kontrast wyświetlacza
Przykłady zastosowania
Najprostszy, choć mało elegancki spo−
sób sterowania wyświetlaczem pokaza−
no na rrysunku 11.
Jak widać z rysunku, do linii danych
D0...D7 dołączono przełączniki dwupozy−
cyjne, tak aby można było wymusić na
nich stan wysoki lub niski – będzie to nam
potrzebne do przesyłania danych lub in−
strukcji do sterownika wyświetlacza. Linia
R/W została zwarta do masy dla uprosz−
czenia sterowania bowiem będziemy je−
dynie zapisywać dane i instrukcje do wy−
świetlacza. W tym przypadku ręcznego
sterowania modułem nie jest oczywiście
konieczne sprawdzanie stanu zajętości
wyświetlacza (poprzez odczyt „busy flag”)
bo czas pomiędzy kolejnymi zapisami do
modułu jest z reguły wystarczająco długi.
Linia RS także dołączona jest do prze−
łącznika 2−pozycyjnego, bowiem zgodnie
z tabelą 2 linia ta informuje wewnętrzny
sterownik modułu, czy zapisujemy daną
Rys.. 11.. Sterowaniie modułłem LCD za pomocą przełłączniików mechaniicznych
42
E LEKTRONIKA DLA WSZYSTKICH 3/98
1265529.007.png 1265529.008.png
Podręczny poradnik elektronika
Tabella 1
Dla przykładu podam sekwencję instruk−
cji w języku Turbo Pascal, która powodu−
je zapisanie jednego znaku do modułu
wyświetlacza.
W miejsce „kod_znaku”, należy oczy−
wiście wpisać żądaną literę, np. chcąc
wyświetlić literę „A” należy linię (3) zapi−
sać w postaci:
port[LPT+$00]:=ord(‘A ) { zapis znaku na
linie D0...D7}
Wszyscy elektronicy−użytkownicy kom−
puterów z łatwością napiszą resztę pro−
gramu, tak aby sterować dowolnie wy−
świetlaczem.
krrok RS D7 ...... D0 wyświiettllacz co robiimy......
1. 0 0 0 1 1 0 0 0 0 instrukcja wstępna
2. 0 0 0 0 0 1 1 1 0 _ włączenie wyświetlacza
i zapalenie kursora
3. 0 0 0 0 0 0 1 1 0 _ ustaw tryb inkrementacji adresu
4. 1 0 1 0 0 0 1 0 0 D_ wpisanie znaku „D”
5. 1 0 1 0 0 1 0 0 1 D I _ wpisanie znaku „I”
6. 1 0 1 0 1 0 0 1 1 D I S_ wpisanie znaku „S”
7. 1 0 1 0 1 0 0 0 0 D I S P_ wpisanie znaku „P”
8. 1 0 1 0 0 1 1 0 0 D I S P L_ wpisanie znaku „L”
9. 1 0 1 0 0 0 1 0 1 D I S P L E_ wpisanie znaku „E”
10. 1 0 1 0 0 1 0 1 0 D I S P L E J_ wpisanie znaku „J”
11. 0 0 0 0 0 0 0 1 0 D I S P L E J powrót kursora na pozycję
początkową
– w przypadku modułów zasilanych po−
dwójnym napięciem (+/−5V) sprawdzić
poziom ujemnego.
Wskazówka 1:: jeżeli po włączeniu zasi−
lania wszystkie punkty pola odczytowego
są zapalone, oznacza to, że ustawiony pr−
kiem kontrast jest za duży. Jeżeli przy po−
mocy pr−ka pokazanego na rysunku 3 nie
daje się ich wygasić do takiego poziomu
aby były lekko widoczne, oznacza to że
wyświetlacz nie wymaga zasilania napię−
ciem ujemnym (jeżeli takie oczywiście do−
łączyliście). Skręcanie potencjometrem
w kierunku masy powinno stopniowo wy−
gaszać wszystkie matryce znaków, kręce−
nie w przeciwną stronę – rozświecać.
A teraz prosty sposób na sterowanie
modułem dla wszystkich tych którzy ma−
ją w domu komputery i to niekoniecznie
PC−ty. Na rrysunku 12 pokazano sposób
dołączenia modułu wyświetlacza wprost
Tabella 2
port[LPT+$02]:=$08;
{ ustawienie sygnału E=0 }
port[LPT+$02]:=$09;
{ ustawienie RS=1, R/W=0 }
port[LPT+$00]:=kod_znaku;
{ zapis znaku na linie D0...D7}
port[LPT+$02]:=$01;
{ E=1 }
port[LPT+$02]:=$08;
{ E=0 koniec zapisu znaku }
delay(1);
{ poczekaj na wykonanie instrukcji }
dane. Sygnał odblokowania E modułu po−
łączono z linią „Device Select”. Teraz aby
wysterować odpowiednio moduł trzeba
określić adresy rejestrów danych i steru−
jących portu równoległego komputera.
Dla maszyn typu PC adres bazowy rejes−
trów znajduje się pod adresami:
378h dla LPT1,
278h dla LPT2,
3BCh dla LPT3,
2BCh dla LPT4.
Rejestr bazowy łącza jest jednocześnie
rejestrem danych, czyli zapis do niego baj−
tu powoduje odpowiednie
ustawienie linii D0...D7 portu.
Rejestr sterujący pozio−
mem napięcia na końcówce
„Strobe” ma przesunięcie
+1 względem adresu bazo−
wego – bit nr 7 (najstarszy).
Należy pamiętać że poziom
napięcia na tej końcówce
jest w rzeczywistości zane−
gowany, dlatego też aby
ustawić poziom niski na pi−
nie Strobe, należy ustawić
bit 7 w rejestrze +1.
Pod adresem równym (re−
jestr bazowy + 2) znajduje się
rejestr, którego bit nr 3 (także
zanegowany) steruje pozio−
mem napięcia na końcówce
17 portu
drukarko−
wego, czyli w naszym
przypadku sygnałem
E modułu.
Aby prawidłowo
wysterować moduł
należy do podanych
portów w odpowied−
niej, znanej już kolej−
ności, wpisać dane.
Sterowanie modułem za pomocą
komputera i to w dodatku z wykorzysta−
niem portu drukarkowego wydać się mo−
że bezcelowe, no bo w końcu mamy do
dyspozycji ekran monitora, jednak przy
rozpoczynaniu zabawy z inteligentnymi
modułami LCD, korzystanie z dobro−
dziejstw komputera zaoszczędza nam
zmartwień związanych z montażem 9−ciu
przełączników (jak z przykładu 1).
Aby w pełni wykorzystać zalety modu−
łów tekstowych LCD najlepiej jest wyste−
rować układ za pomocą prostego sterow−
nika opartego na pamięci EPROM lub
bardziej wyrafinowanego z mikroproce−
sorem. Na łamach EdW ukazała się kon−
strukcja modułu wykorzystująca te pierw−
sze rozwiązanie. Mankamentem takiego
rozwiązania jest ograniczona liczba komu−
nikatów i mała swoboda sterowania mo−
dułem. Wszystkie zalety wyświetlaczy
ujawniają się przy podłączeniu modułu do
układu mikroprocesorowego.
Na rrysunku 13 pokazano najprostszy
sposób dołączenia modułu do dowolnego
systemu mikroprocesorowego zawierają−
cego typowe sygnały:
/RD : odczytu z zewnętrznej przestrzeni
adresowej
/WR: zapisu z zewnętrznej przestrzeni ad−
resowej
A0, A1: najmłodsze linie adresowe
Rys.. 12.. Dołłączeniie ukłładu do portu
drukarkowego komputera
Rys.. 13..
do portu równoległego komputera PC
(lub każdego innego wyposażonego
w port Centronics).
Jak widać z rysunku linie danych
D0...D7 modułu dołączono do szyny da−
nych portu równoległego. Linię sterującą:
RS do końcówki „Strobe” portu, zaś RW
zwarto do masy, bowiem dla uproszcze−
nia będziemy do modułu tylko zapisywać
E LEKTRONIKA DLA WSZYSTKICH 3/98
43
1265529.009.png 1265529.010.png 1265529.001.png 1265529.002.png 1265529.003.png 1265529.004.png
 
Podręczny poradnik elektronika
D0...D7 : szyna danych systemu mikro−
procesorowego
/CS :sygnał zdekodera adresowego systemu
Bez żadnych przeróbek układ ten nadaje
się do zastosowania w system z mikrokon−
trolerem z serii MCS−51 np. 8051. Opis ta−
kiego układu znalazł się na łamach EdW
w zeszłym roku, jako kit AVT−2250. Wspo−
mniany system zawiera wszystkie niezbęd−
ne sygnały do dołączenia układu z rysunku
13. Zapraszam więc do lektury poprzednich
numerów Elektroniki dla Wszystkich .
Zastosowane w przykładzie z rysun−
ku 13 bramki są niezbędne do wygenero−
wania odpowiednich opóźnień względem
pomiędzy sygnałami RW, RS i E modułu.
W układzie takim przy zastosowaniu bra−
mek serii LS lub HCT maksymalna częstot−
liwość pracy systemu mikroprocesorowe−
go, gwarantująca prawidłową obsługę wy−
świetlacza to ponad 12 MHz. Dla ułatwienia
podaję adresy a właściwie przesunięcia
względem adresu sygnału /CS dla poszcze−
gólnych operacji zapisu i odczytu modułu:
offffsett ffunkcjja
+0 zapis instrukcji (RW=0, RS=0)
+1 odczyt „busy flag” i adresu
(RW=1, RS=0)
+2 zapis danej (RW=0, RS=1)
+3 odczyt danej spod bieżącego
adresu (RW=1, RS=1)
W jednym z kolejnych odcinków wspo−
mnianego cyklu przedstawię sposób do−
łączenia modułu do systemu AVT−2250
oraz zamieszczę listing podprogramów
realizujących podstawowe funkcje zwią−
zane ze sterowaniem wyświetlacza.
Bywają jednak wyjątki. Autor w swojej
praktyce spotkał model wyświetlacza
LCD, zresztą bardzo taniego, który od kil−
ku lat pojawia się w różnych sklepach
elektronicznych. Na zdjęciu w artykule
wyróżnia się on dość dziwnie powycina−
ną płytką bazową , na której nieznany pro−
ducent umieścił pole odczytowe 1 linia
z 24 znakami. Sam moduł jest bardzo
dobry, nie potrzebuje ujemnego zasilania,
a dodatkowo dzięki umieszczonemu fab−
rycznie na płytce potencjometrowi regu−
lacji kontrastu, nie ma potrzeby dołącza−
nia końcówki 3 modułu do układów ze−
wnętrznych. Moduł posiada złącze 2−rzę−
dowe w sumie z 16 pinami. Ich znaczenie
odbiega niestety od przyjętego standar−
du, dlatego poniżej zamieszczam opis
końcówek. Numeracja złącza jest taka sa−
ma jak poprzednio.
piin sygnałł
1 Vcc (+5V)
14 GND (0V)
2 E (Enable)
3 RS
9 R/W
10,7,11,6,12,5,13,4 w kolejności:
D0...D7
Praktyczne wskazówki
I na koniec garść informacji dotyczą−
cych ewentualnych zakupów tekstowych
wyświetlaczy LCD.
a) najwięcej informacji o obudowach i wy−
prowadzeniach można znaleźć w katalo−
gu Hitachi – „Liquid Crystal Character
Display Modules”. Jeżeli nie masz do−
stępu do tego katalogu, nie przejmuj
się, w niniejszym artykule (i poprzednich
częściach) przedstawiono wszystko co
jest potrzebne do rozpoczęcia pracy.
b)w ttabellii 3 znajduje się numeracja i zna−
czenie końcówek większości typów wy−
świetlaczy LCD.
Jeżeli masz wątpliwości, co do swego
egzemplarza modułu powinieneś popro−
sić sprzedawcę o opis końcówek, jeżeli
go nie ma to lepiej jest zrezygnować
z zakupu.
c) elementy podświetlające (diody LED)
zasilane są z reguły napięciem +5V,
lecz aby przedłużyć ich trwałość produ−
cenci często zalecają modulować te
napięcie z częstotliwością kilkuset Hz
(zwykle 300...400Hz) . Podświetlony
stałym napięciem 5V wyświetlacz po−
biera znaczne ilości prądu (>300mA),
co przy poborze prądu przez moduł rzę−
du 1..2mA jest wartością olbrzymią.
d)przy zakupie pamiętaj o dokładnym
obejrzeniu modułu z każdej strony,
sprawdzeniu czy nie posiada uszko−
dzeń mechanicznych, oraz czy zawiera
„na pokładzie” znany ci sterownik
HD44780.
e)w handlu bywa wiele rodzajów wy−
świetlaczy, ale prawie wszystkie posia−
dają oznaczenie
pierwszej koń−
cówki złącza, do−
prowadzającego
sygnały sterujący
oraz danych. Kie−
rując się tabelą
powyżej, łatwo
jest zlokalizować
końcówki RS,
RW, E D0...D7,
zasilanie, kont−
rast i masę. W za−
leżności od typu
złącza są jedno
lub dwurzędowe.
W przypadku 2−
rzędowych nu−
meracja jest stan−
dardowa, jak dla
złączy typu ZFC.
8,15,16
nie dołączone
f) ceny modułów spotykane w handlu
wahają się w granicach od kilku złotych
dla nie standardowego modelu wspo−
mnianego ostatnio przez autora, do kil−
kudziesięciu dla markowych typów (Hi−
tachi, Nec) z 2 linami po 40 znaków.
Poniżej podaję kilka najbardziej popu−
larnych oznaczeń z ilością linii oraz zna−
ków w linii, ułatwi to z pewnością
orientację przy okazji zakupu. Najlep−
sze miejsca do zakupu modułów, to
sklepy ze układani mikroelektroniczny−
mi oraz oczywiście giełdy np. warszaw−
ska Wolumen przy ul. Kasprowicza.
Także wiele firm wysyłkowych oferuje
różne typy modułów, lecz w przypadku
zamawiania zawsze należy poprosić
kartę katalogowa zamawianego podze−
społu oraz upewnić się , czy moduł jest
oparty o standard HD44780.
ttyp lliiniie x znakii uwagii
LM016 2 x 16
LM015 1 x 16
LM092 2 x 40 z podświetle−
niem LED
Tak więc jeżeli sygnał /CS przyjmuje
stan aktywny (niski) przy adresowaniu ob−
szaru o adresach np. 8000h...8FFFh, to
kolejne funkcje można wywołać adresu−
jąc następujące komórki w zewnętrznej
przestrzeni: 8000h, 8001h, 8002h, 8003h.
Wszystkich zainteresowanych przykła−
dami programowania mikroprocesorów
do celów obsługi wyświetlaczy teksto−
wych LCD, informuję że w prowadzonym
w EdW cyklu „Mikroprocesory – to takie
proste”, zajmiemy się tym tematem – za−
chęcam więc wszystkich do lektury.
Tabella 3
Numerr Symboll Poziiom Znaczeniie
końcówkii
1 GND − masa zasilania
2
Vcc − zasilanie +5V
3
Vo
kontrast wyświetlacza (czasem −5V)
4
RS H/L „data/instruction select” –
– rodzaj informacji na wejściu D0...D7
„H” gdy instrukcja
„L” gdy dana (znak do wyświetlenia)
5 R/W H/L „read/write” −
– sygnał odcztu lub zapisu do modułu
„H” gdy odczyt
„L” gdy zapis
6 E (EN) L−>H−>L „enable signal” –
uaktywnienie wyświetlacza
LM018 2 x 40
LM041 4 x 16
LM044 4 x20
LM060 2 x 24
LM017 2 x 32
7
D0 H/L
8
D1 H/L
Na koniec życzę sukcesów w ujarz−
mianiu inteligentnych wyświetlaczy LCD
oraz wiele satysfakcji z używania ich
w swoich układach.
9
D2 H/L
10
D3 H/L linie danych D0...D7
11
D4 H/L
12
D5 H/L
13
D6 H/L
Słławomiirr Surrowiińskii
14
D7 H/L
44
E LEKTRONIKA DLA WSZYSTKICH 3/98
1265529.005.png 1265529.006.png
Zgłoś jeśli naruszono regulamin