EdW 03.98 Alfanumeryczne wyświetlacze LCD cz.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