23 07


Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
Alfanumeryczne
wyświetlacze LCD
część I
Inteligentne wyświetlacze alfanumeryczne LCD są elementem coraz częściej spotyka-
nym w sprzęcie powszechnego użytku: od urządzeń gospodarstwa domowego, poprzez
systemy alarmowe, na medycznym sprzęcie profesjonalnym skończywszy. Dla wielu elektroników
amatorów, chcących wykorzystać te efektowne elementy we własnych konstrukcjach są one
często tylko marzeniem. W wielu przypadkach powodem takiego stanu rzeczy nie jest bynajmniej
ich cena, lecz brak wiedzy o praktycznych sposobach na zmuszenie tego elementu do wyświetla-
nia  tego co akurat w danej chwili chcemy...
W niniejszym artykule autor w przystępny sposób stara się zapoznać Czytelników z tymi elemen-
tami budzącymi często podziw i westchnienie niejednego początkującego konstruktora.
Chyba każdy z Was zgodzi się, że bez- wyświetlaczy LCD. Producenci prześci- Wyświetlacze LCD mają też swoje
powrotnie minęły czasy, kiedy to zdoby- gają się w parametrach technicznych, wady. Zakres temperatur użytkowania
cie popularnego układu ICL7106 wraz oraz wersjach, wyposażając wyświetla- jest znacznie węższy, niż w przypadku
z niezbędnym 3,5-cyfrowym wyświetla- cze w dodatkowe elementy podwyższa- wyświetlaczy LED. Bez odpowiedniego
czem LCD graniczyło z cudem. Sam pa- jące ich funkcjonalność: np. elektrolumi- podświetlenia, informacja na nich w złych
miętam czasy, kiedy to postanowiłem sa- nescencyjne podświetlanie. warunkach oświetleniowych jest prak-
modzielnie zbudować swój pierwszy Nie wpadając jednak w zbytni zachwyt tycznie nieczytelna. Wreszcie, ze wzglę-
multimetr, po pierwsze dlatego że moja nad możliwościami współczesnej tech- du na dość  kruchą swoją budowę, wy-
stara UM-ka znudziła mi się, drugim po- nologii warto przypomnieć sobie kilka świetlacze LCD są mało odporne na
wodem była ogromna chęć posiadania podstawowych, nadal obowiązujących wstrząsy i ewentualne uszkodzenia spo-
przyrządu, może nie o wysokich paramet- prawd: wodowane np. upadkiem z wysokości.
rach technicznych, lecz o nowoczesnym  po pierwsze: wyświetlacze LCD są naj- Nie umniejsza to jednak ich funkcjo-
prawdziwie  cyfrowym wyglądzie. bardziej ekonomicznymi, pod wzglę- nalności, bowiem w wielu zastosowa-
Z łezką w oku wspominam te chwile, kie- dem zużycia energii, elementami niach są one często niezastąpione.
dy po zdobyciu na giełdzie upragnionego wskaznikowymi, ma to szczególne od-
wyświetlacza, zresztą w wersji bez koń- zwierciedlenie w przenośnych przyrzą- Charakterystyka ogólna
cówek lutowniczych, rozebrałem na dach zasilanych bateryjnie, gdzie są Od pewnego czasu coraz częściej spo-
części pierwsze swój poczciwy kalkula- bezkonkurencyjne; tyka się w handlu i na różnych wyprzeda-
tor, aby pozyskać tzw.  przewodzące  po drugie: często nie zajmują więcej żach inteligentne wyświetlacze LCD po-
gumki , niezbędne do prawidłowego miejsca niż tradycyjne wyświetlacze trafiące oprócz pokazywania podstawo-
podłączenia elementu do płytki drukowa- siedmiosegmentowe LED wych cyfr z zakresu 0...9, wyświetlać pe-
nej. Jednak mój trud i długie kazanie ro-  po trzecie: koszt zakupu wielopozycyj- łen zestaw liter alfabetu łacińskiego, cyfr
dziców (na temat zdezelowanego kalkula- nego wyświetlacza LCD jest kilkukrot- oraz dodatkowych znaków tak interpunk-
tora) opłacało się, bowiem po kilku dni- nie niższy od takiego samego modułu cyjnych jak i semigraficznych. W więk-
w
y
Å›
w
i
e
t
l
a
c
z
e
t
e
k
s
t
o
w
e
ach mogłem wpatrywać się godzinami w wersji LED, nie mówiąc o wyświet- szości są to tzw. wyświetlacze tekstowe,
w pierwszy w moim domowym laborato- laczach zdolnych wyświetlać tekst. co odróżnia je od blizniaczych i podobnie
w
y
Å›
w
i
e
t
l
a
c
z
y
g
r
a
f
i
c
z
n
y
c
h
rium przyrząd z wymarzonym wyświetla- W przypadku tych ostatnich stosunek wyglądających, wyświetlaczy graficznych
czem LCD. ceny do ilości wyświetlanych znaków LCD. Te pierwsze charakteryzują się tym
To już historia, dziś na rynku elektro- jest nieporównywalnie niższy od po- że ich pole odczytowe składa się kilku-
nicznym aż roi się od różnorodnych, mo- dobnych konstrukcji opartych o matry- nastu do kilkudziesięciu jednakowych
nochromatycznych a nawet kolorowych ce LED. pól, złożonych z matryc punktów. Za po-
24 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
mocą każdej takiej matrycy (przeważnie: i oraz liczba znaków w 1 linii.
5 na 8 punktów) możliwe jest wyświetle- I tak jeżeli mówimy że wy-
nie dowolnego znaku, jak pokazano na świetlacz jest typu 2x16,
r
y
s
u
n
k
u
1
przykładzie z rysunku 1. Poszczególne oznacza to że może on wy-
matryce w wyświetlaczach tekstowych świetlić maksymalnie 2 linie
są oddzielone przerwą tak między sobą tekstu po 16 znaków w każ-
(w kolumnie) jak i w rzędzie, w przypadku dej. Na rynku spotykane są
wyświetlaczy składających się z kilku lini- także inne wersje, mające od
i. W praktyce w omawianych dalej w ar- 1 do 8-miu linii tekstu, w każ-
tykule modułach matryca znaku składa dej z nich może być wypisa-
się z 5 x 7 pól, natomiast  dolny , ósmy nych od 8-miu znaków aż do
rząd pięciu punktów jest wykorzystywa- 40-tu, co w prawdziwych
ny do wyświetlania generowanego auto-  gigantach tej klasy daje
matycznie znaku kursora. możliwość wyświetlenia sporej wielkości = 4 matryce po 35 punktów, każda mat-
Tak więc w informacji wyświetlonej na tekstu o 320 znakach. W praktyce jednak ryca ma 5 x 7 punktów), nie licząc elek-
displeju tekstowym wszystkie litery są fi- spotykane są ograniczone wersje pozwa- trody wspólnej, to zbyt dużo jak na moż-
zycznie oddzielone małą przerwą, dzięki lające na wyświetlenie połowy lub jednej liwości przeciętnego układu elektronicz-
której poszczególne znaki nie zlewają się czwartej tej ilości, co w większości zasto- nego. Dlatego producenci inteligentnych
ze sobą, tworząc w ten sposób czytelny sowań w zupełności wystarcza. tekstowych wyświetlaczy LCD musieli
tekst. Niestety przez tą właściwość nie Inną cecha, która odróżnia poszczegól- uprościć sterowanie takim elementem,
jest możliwe np. płynne (punkt po punk- ne modele wyświetlaczy tekstowych to tworząc nie tylko sam wyświetlacz LCD
cie) przesuwanie napisu, jak to ma miejs- sposób sterowania nimi. Zanim jednak (pole odczytowe) ale cały moduł
ce np. we wszystkim znanych reklamach o niej powiem chcę Ci coś uświadomić. sterujący. W skład takiego modułu wcho-
typu  płynące napisy . Taka możliwość Jak pewnie wiesz drogi Czytelniku, dzi zazwyczaj także specjalizowany układ
istnieje w graficznych wyświetlaczach w przypadku prostych wyświetlaczy np. scalony nazywany kontrolerem sterują-
LCD, ale to temat na zupełnie inny arty- 7-segmentowych LCD każdy z segmen- cym wyświetlacza. Układ taki montowa-
kuł. Jak się okazuje w praktyce, na typo- tów danej cyfry jest sterowany, (czyli ga- ny jest fizycznie technologią montażu po-
wych wyświetlaczach tekstowych możli- szony i zapalany) oddzielnie. Najczęściej wierzchniowego na cienkiej płytce dru-
wa jest w miarę czytelna realizacja prze- taki sposób sterowania wymusza wypro- kowanej, która jednocześnie stanowi
suwania tekstów informacyjnych, może wadzenie poszczególnych segmentów  podstawę , do której za pomocą meta-
w nieco mniej efektownej formie, lecz wszystkich cyfr na zewnątrz, co zwięk- lowej klamry przymocowane jest szklane
w czytelny, a zarazem efektowny spo- sza liczbę końcówek do np. 32 w przy- pole odczytowe. Często oprócz wspo-
sób. W końcu nie tylko o  bajery nam padku wyświetlacza 4 cyfry (4 x 7 seg- mnianego sterownika, na płytce znajdują
przecież chodzi, lecz o czystą funkcjonal- mentów = 28 + 4 kropki dziesiętne się dodatkowe układy, których zadaniem
ność zastosowanego elementu. = 32). A teraz popatrz na wyświetlacz jest przechowywanie znaków wpisanych
Istnieje wiele wersji tekstowych wy- tekstowy LCD, aby np. w taki sposób przez użytkownika. Całość stanowi bar-
świetlaczy LCD, główną cechą odróżnia- wyświetlić 4 znaki, wyświetlacz musiał- dzo zwartą konstrukcję, jak widać na fo-
jąca je od siebie jest liczba lini- by mieć aż ... 140 wyprowadzeń! (140 tografii na początku artykułu i co najcie-
kawsze mimo dość dużej złożoności, po-
biera zazwyczaj mniej niż 2 miliampery
prądu przy zasilaniu 5V!. Oczywiście cały
moduł jest zmontowany fabrycznie, to-
też nie trzeba przy nim dodatkowo
 dłubać , a nabyć go można w sklepach
ze specjalistycznymi artykułami elektro-
nicznymi, firmach wysyłkowych (np. og-
Å‚aszajÄ…cych siÄ™ w pismach AVT) lub na
giełdach elektronicznych, np. na war-
szawskim Wolumenie.
Tak więc zastosowany w module tek-
stowym LCD specjalizowany układ scalo-
ny jest jakby  pomostem pomiędzy
użytkownikiem a matrycą punktów wy-
świetlacza. Redukuje on liczbę potrzeb-
nych do sterowania końcówek, do kilku,
zazwyczaj do 11-tu, wprowadzajÄ…c za to
specjalny protokół (sposób) porozumie-
wania się całego modułu wyświetlacza
ze światem zewnętrznym.
Za pomocą tych kilku sygnałów możli-
we jest nie tylko wypisywanie tekstów
ale także wykonywanie najprzeróżniej-
szych operacji np.  czyszczenia wy-
świetlacza, przesuwania tekstu w lewo
lub prawo, pokazywania  kursora ,
Rys. 1. Pole odczytowe typowego wyświetlacza tekstowego i wersji graficznej LCD
wreszcie definiowania własnych znaków
ELEKTRONIKA DLA WSZYSTKICH 11/97 25
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
użytkownika, co w przypadku naszego al- ków minus 16 znaków na HD44780 = 64 0...+5V, i drugi przypadek, kiedy to do
fabetu ma szczególne znaczenie. : 16 = 4 układy drajwerów). Przedstawio- prawidłowego wyświetlenia informacji
I tu powraca temat drugiej cechy jaka ny przykład widoczny jest także na zdję- potrzebne jest ujemne napięcie polaruzy-
odróżnia między sobą poszczególne wer- ciu, na którym widać odwrotną stronę jące wejście Vo zazwyczaj z zakresu -
sje inteligentnych wyświetlaczy LCD, modułu wyświetlacza, czyli płytkę druko- 5V...0V. Wtedy to niezbędne staje się za-
chodzi mianowicie o wspomniany spo- waną ze wspomnianymi układami steru- stosowanie przetwornicy odwracającej
sób sterowania czyli protokół transmisji jącymi. polaryzację napięcia. Oczywiście istnieją
między wyświetlaczem a światem ze- moduły nie wymagające
wnętrznym. ujemnego zasilania, jednak
Istnieje bowiem na rynku wielu produ- przy zakupie często nie-
centów takich modułów, a wśród nich kil- określonego typu warto
ka standardów określających  język poro- przewidzieć te pierwszą
zumiewania się wyświetlaczy. Najbar- możliwość. Z reguły modu-
dziej jednak rozpowszechnionym jest Å‚y w wersji z pojedynczym
standard opracowany przed laty przez ja- napięciem zasilającym są
pońską firmę Hitachi, a wdrożony w posta- droższe od wersji wymaga-
ci mikrosterownika o nazwie HD44780. jących podwójnego zasila-
Układ ten jest właśnie wspomnianym nia (+5V, -5V), tak że zdarza
 pomostem i fizycznie znajduje się na się że koszt modułu w tań-
każdym module z tego standardu. Skoro szej wersji plus koszt prze-
padło słowo  standard to znaczy że spo- twornicy jest mniejszy od
sób komunikacji wyświetlacza jest taki Jak dotąd opis modułu może wyda- ceny zakupu modułu z pojedynczym zasi-
sam niezależnie ile ma on znaków w lini- wać się nieco skomplikowany, nie należy laniem. Nie jest to jednak regułą w zależ-
i czy samych linii w polu odczytowym. się tym jednak przejmować. Z punktu wi- ności od zródła pochodzenia wyświetla-
Różne są tylko możliwości wyświetlania dzenia użytkownika do praktycznego za- cza. Regulacja kontrastu w praktyce jest
co do długości danego tekstu. stosowania wyświetlacza nie jest po- realizowana za pomocą pojedynczego po-
Jest to prawda, a jak realizuje się to trzebna znajomość jego struktury we- tencjometru montażowego umieszczo-
dokładnie w przypadku opisywanych mo- wnętrznej. nego poza modułem LCD w układzie ste-
dułów zapoznasz się za chwilę. Cały moduł porozumiewa się z otocze- rującym użytkownika. Spotykane są tez
r
y
s
u
n
k
u
2
Na rysunku 2 pokazano schemat bu- niem za pomocą widocznych na rysun- wersje modułów posiadające swój włas-
dowy typowego modułu wyświetlacza ku 2 jedenastu linii sterujących. Do tego ny  peerek przymocowany do płytki
drukowanej modułu tuż obok sterownika
HD44780.
Jeżeli taki element znajduje się w mo-
dule, oznacza to, że zewnętrzny poten-
cjometr nie jest potrzebny, oraz że koń-
cówka Vo nie jest wykorzystana przez
moduł i nie powinna być podłączana. Zda-
rzajÄ… siÄ™ jednak przypadki, kiedy pomimo
istnienia peerka na płytce modułu, nie-
zbędne jest dołączenia (zazwyczaj ujem-
nego) napięcia Vo polaryzującego pole
odczytowe LCD.
r
y
s
u
n
k
u
3
Na rysunku 3 pokazano praktyczny
sposób uniezależnienia się od
Rys. 2. Typowa budowa wewnętrzna modułu LCD
 kaprysów tekstowych wyświetlaczy
tekstowego opartego o wspomniany dochodzą także
kontroler HD44780. Zasadnicze pole od- dwa przewody za-
czytowe LCD jest sterowane za pomocÄ… silania VDD i VSS
trzech grup sygnałów. Dwie pierwsze ge- oraz jeden do re-
nerowane sÄ… przez sam kontroler, trzecia gulacji kontrastu
pochodzi od dodatkowych układów zna- Vo. O ile z reguły
jdujących się na płytce modułu zwanych moduły można za-
drajwerami. Jeden drajwer może obsłu- silać stabilizowa-
żyć maksymalnie do 16-tu matryc znako- nym napięciem
wych (16-tu znaków). Dlatego w zależ- +5V (VDD=5V,
ności od ilości wyświetlanych znaków VSS =GND), o tyle
w danym module drajwerów może być sprawa się nieco
więcej. Należy przy tym wspomnieć że komplikuje w przy-
sam kontroler HD44780 potrafi samo- padku napięcia Vo.
dzielnie obsłużyć 16 znaków. Dlatego np. Otóż istnieją dwa
dla wyświetlacza LCD 2x40 znaków na przypadki, kiedy to
płytce oprócz kontrolera HD44780 (pier- napięcie to leży
Rys. 3. Praktyczny sposób regulacji kontrastu wyświetlacza
wsze 16 znaków) znajdą się dodatkowe w zakresie napięć
poprzez przykładowy układ przetwornicy +5V / -5V
cztery układy drajwerów (2x40=80 zna- zasilających, czyli
26 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
LCD w przypadku niewiado-
mego zródła pochodzenia. Po- Starszy
0000 0010 0011 0100 0101 0110 0111 1010 1011 1100 1101 1110 1111
MÅ‚odszy
kazany schemat prostej prze-
CG
C
G
twornicy +5V / -5V składa się
RAM
R
A
M
0000 (1)
tylko z jednego niewielkiego
układu scalonego oraz 3 kon-
densatorów elektrolitycznych.
0001
Ponieważ sam scalak
ICL7660 jest dość tani i do-
datkowo umieszczony w obu-
0010
dowie DIP-8 nie powinien
sprawić dużego kłopotu kon-
struktorowi, którym jesteś
przecież Ty. Przetwornicę 0011
można zrealizować także in-
nym sposobem stosujÄ…c wy-
próbowane układy  pom-
0100
pujÄ…ce oparte zazwyczaj na
inwerterach CMOS np. serii
74HC04 lub podobnych. Przy-
0101
kładowy projekt takiego roz-
wiązania ukazał się w nume-
rze: 7/96 EdW na str. 43. Po-
0110
bór prądu z ujemnego zródła
zasilania w przypadku modu-
łów wyświetlaczy tekstowych
nie przekracza 1 mA, dzięki
0111
temu wymogi prÄ…dowe zasto-
sowanej przetwornicy sÄ… mi-
nimalne.
1000
Tyle jeżeli chodzi o sprawy
zasilania modułów. Na koniec
ogólnego przedstawienia mo-
1001
dułów informacja dotycząca
generowanych przez moduł
znaków. Otóż aby wyświetlić
1010
jakiÅ› znak np. literÄ™  K nie
trzeba  mówić modułowi,
które kropki na matrycy (5x7)
ma zapalić, wystarczy poin- 1011
formować go tylko o chęci
wyświetlenia akurat tego zna-
ku  litery. Jak zapewne
1100
wiesz wszystkie znaki alfabe-
tu łacińskiego , cyfry, oraz do-
datkowe znaki specjalne sÄ…
1101
ponumerowane i noszÄ… tzw.
kody (kody ASCII, czytaj:
aski), czyli każdemu znakowi
1110
odpowiada liczba, akurat
w tym przypadku z zakresu
0...255. Jak pewnie zauważy-
1111
Å‚eÅ› jest to liczba 8-bitowa
(28  1 = 255). StÄ…d nasuwa
Ci się zapewne słuszna myśl
Rys. 4. Zawartość generatora znaków CG ROM (matryca znaku 5×7)
że wyświetlacz potrafi poka-
zać 256 znaków, co w przy-
bliżeniu jest prawdą. Dlatego aby wy- RW, RS i E, aby upragniona literka poka- to wbudowana w strukturę sterownika
świetlić podaną w przykładzie literę, wy- zała się na wyświetlaczu. Prawda że HD44780 pamięć typu ROM z umiesz-
starczy podać na linie sygnałowe D0...D7 proste! Dokładny przepis na  te ciasto czonymi kombinacjami zgaszonych i za-
(tzw. linie danych) kombinacjÄ™  zer podam za chwilÄ™. Istotne jest abyÅ› wie- palonych  kropek w matrycy danego
i  jedynek odpowiadającą binarnie ko- dział że oprócz elementów wchodzących znaku. Dlatego podając tylko kod danej li-
dowi litery  K czyli liczbie 75 (dziesięt- w skład modułu a opisanych wcześniej, tery lub symbolu, wybierasz z CG ROM
nie) lub 01001011 (binarnie). Jeszcze na- wchodzi także tzw. generator znaków, konkretny układ matrycy odpowiadający
leży w odpowiedni sposób ustawić pozo- fachowo zwany  CG ROM (ang.  Cha- interesującej Cię literze, który następnie
stałe (widoczne na rysunku 2) sygnały racter Generator ROM ). Fizycznie jest służy jako wzorzec do wyświetlenia zna-
ELEKTRONIKA DLA WSZYSTKICH 11/97 27
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
ku na wyświetlaczu. Pojemność genera- nika jest przechowywana w dodatkowej czesnym wyświetleniem go. Otóż opera-
tora znaków CG ROM jest określona pamięci (także zawartej w strukturze cja wpisania znaku polega jedynie na
w danych technicznych przedstawionych HD44780) zwanej pamięcią generatora umieszczeniu go we wbudowanej
poniżej. Dodatkowo zwykle CG ROM za- znaków użytkownika w skrócie  CG w układ sterownika HD44780 tzw. pa-
wiera dwa zestawy znaków: jeden to RAM (ang. Character Generator RAM). mięci wyświetlania, w skrócie  DD
znaki w matrycy 5 x 7 punktów, drugi to CG RAM ze względu na określoną swoją RAM (ang.  Display Data RAM ). Nie-
znaki 5 x 10 punktów. W praktyce tych pojemność może pomieścić informację zależnie od rodzaju wyświetlacza, a w za-
drugich używa się rzadko, ze względu na maksymalnie o 8-miu znakach. O ile pa- sadzie od jego wielkości, czyli de facto
to że znane nam litery ze znanego Ci al- mięć CG ROM to pamięć typu ROM, czy- ilości znaków w wierszu i ilości linii, po-
fabetu łacińskiego i tak korzystają jedy- li po wyłączeniu zasilania modułu infor- jemność DD RAM jest zawsze taka sa-
nie z pierwszych 35 punktów (5x7). Do- macja pozostaje przechowana na stałe, ma i wynosi 80 znaków (80 bajtów). Dla-
datkowe 15 punktów jest wykorzystane o tyle zawartość pamięci CG RAM jest tego maksymalnie jednocześnie można
przez znaki o kodach z zakresu w takim przypadku tracona. Dlatego zapisać do modułu wyświetlacza 80 zna-
128...255, gdzie producent układu w układach wykorzystujących moduły kową informację. W przypadku wyświet-
HD44780 umieścił niektóre znaki i sym- tekstowe oraz dodatkowe definiowane lacza LCD 2x40 znaków całość będzie
bole ze swego ojczystego języka  praw- znaki użytkownika, należy przewidzieć oczywiście pokazana na displeju, jednak
dopodobnie japońskiego. możliwość każdorazowego, automatycz- w przypadku mniejszego pola odczyto-
Oczywiście wybór jednego z przed- nego wpisywania swoich znaków po włą- wego np. 2x16 znaków widoczna będzie
stawionych zestawów znaków (5x7 czy czeniu zasilania, lub w innym stosownym tylko pierwsza część wpisanego tekstu.
5x10) zależy od użytkownika, warto jed- do tego momencie. Obrazowo można by opisać zależność
nak wiedzieć że nie wszystkie moduły I choć z tabeli na rysunku 4 wydawać tego co znajduje się aktualnie w DD
pozwalają na wyświetlanie znaków by się mogło że można zdefiniować aż RAM a tego co jest wyświetlane, używa-
w matrycy 5x10 punktów, co zresztą 16 znaków (kody: 0...15), to w praktyce jąc określenia  okna wyświetlania . Sy-
r
y
s
u
n
e
k
5
w praktyce nie ma dla nas znaczenia, ze względu na rozmiar pamięci CG RAM, tuację tę obrazuje rysunek 5.
bowiem matryca 5x7 w zupełności wy-
starcza na czytelne pokazanie wszyst-
kich liter alfabetu w tym także polskich
znaków  ąęćłóśzżĆAÓŚyŻ, cyfr oraz
dodatkowych znaków interpunkcyj-
nych.
r
y
s
u
n
k
u
4
W tabeli z rysunku 4 pokazany jest ca-
ły zestaw matryc wzorcowych znaków
zawartych w CG ROM modułu. Sposób
 czytania tabeli jest bardzo prosty. Otóż
znaki ponumerowane sÄ… za pomocÄ…
dwóch półbajtów każdy. Starszy półbajt
określony jest przez numer kolumny
w której jest dany znak, podobnie młod-
szy określa wiersz. Po złożeniu półbajt
Rys. 5. Bufor znakowy DD RAM a rzeczywiście wyświetlany tekst
otrzymujemy kod znaku, czyli kombinacjÄ™
linii D7...D0 która powoduje wyświetle-
nie takiego znaku na wyświetlaczu. I tak kody wzięte parami: 0 z 8, 1 z 9, 2 z 10 Jak widać, aby wyświetlić niewidocz-
np. wezmy literę  m : kolumna:  0110 , itd. dają w efekcie na wyświetlaczu ten ną część tekstu, należałoby przesunąć
wiersz:  1101 , po złożeniu powstaje sam zdefiniowany znak. W efekcie moż- w lewo zawartość całej pamięci DD
kod: 01101101, czyli dziesiętnie 109, liwe jest zdefiniowanie tylko 8 znaków RAM, do pozycji która nas akurat intere-
a więc kod naszej literki  m . użytkownika. W przypadku polskich liter suje. W ten sposób można by pokazać
Pierwsze 16 znaków o kodach 0...15 załatwia to sprawę tylko dla połowy na- schowaną, a interesującą nas jego
jest pustych. Kody te są przeznaczone na szych rodzimych znaków, a co z dru- część. W praktyce do tego celu służą in-
znaki własne wymyślone przez użytkow- gą? Otóż w praktyce problem ten rozwią- strukcje przesuwania zawartości bufora
nika. Znaki takie sÄ… definiowane przez te- zuje siÄ™ poprzez definiowanie potrzebne- DD RAM w lewo lub prawo. Przy przesu-
go ostatniego programowo, poprzez od- go znaku lub kilku na bieżąco. Rzadko bo- nięciu np. lewo o 1 całego bufora,
powiednie ustawianie linii sterujących wiem zdarza się sytuacji aby jednocześ- wszystkie kody znaków, (niczym w bajto-
modułu (D0...D7, RW,RS, E). Sposób ge- nie na maksymalnie 80 znakowym wy- wym rejestrze przesuwnym) zostają
nerowania jest dość złożony dlatego zo- świetlaczu trzeba było wyświetlić więcej przesunięte o jeden adres w lewo. Znak
stanie omówiony w drugiej części artyku- niż 8 dodatkowych znaków specjalnych. który znajdował się na pierwszej pozycji
łu. Na razie warto wiedzieć, że użytkow- Dlatego jeżeli określony znak specjalny trafia na ostatnią, toteż żadna informacja
nik w procesie definiowania znaku musi jest potrzebny, wpisuje się go na miejs- nie zostaje w ten sposób tracona. Zawar-
poinformować sterownik modułu o uło- ce tego który akurat w danej informacji tość przy cyklicznym przesuwaniu krąży
żeniu wszystkich punktów w danej mat- jest zbędny  czyli nie występuje. jakby  w pętli .
rycy znaku. Nie wystarczy więc podać tyl- Na koniec wstępu jeszcze jedna istot- Sposób oraz opis instrukcji przesuwa-
ko kod znaku, trzeba punkt po punkcie (w na informacja. Otóż jak się za chwilę nia oraz wielu innych znajdzie się
praktyce wiersz po wierszu) podać kolej- przekonasz  wpisanie dowolnego zna- w drugiej części artykułu.
ność tych zapalonych i zgaszonych. Infor- ku do modułu celem jego wyświetlenia Ciąg dalszy w następnym numerze.
S
Å‚
a
w
o
m
i
r
S
u
r
o
w
i
Å„
s
k
i
macja o tak utworzonym znaku użytkow- nie jest często równoznaczne z jedno- Sławomir Surowiński
28 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
sygnał R/W=0, czyli żądamy zapisu in-
Dane techniczne :
D
a
n
e
t
e
c
h
n
i
c
z
n
e
:
strukcji do modułu. W przypadku gdy
a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów)
RS=0, i RW=1 możliwe jest sprawdze-
b) możliwość sterowania (czyli podawania kodów znaków) za pomocą interfejsu
nie  stanu zajętości modułu, poprzez
8 lub 4-bitowego (czyli za pomocÄ… 8 lub tylko 4 linii)
odczyt stanu na linii D7. Jeżeli po tym
c) zawartość generatora znaków CG ROM:
sygnał D7 ma poziom wysoki, znaczy
znaki 5 x 7 punktów: 160 znaków
to że moduł wykonuje wewnętrzną
znaki 5 x 10 punktów: 32 znaki
operacjÄ™ i nie jest gotowy do odebrania
d) możliwość odczytu wpisanych wcześniej znaków do DD RAM oraz CG RAM
kolejnej instrukcji z układu sterującego.
e) szeroka gama instrukcji pomocniczych:
W przypadku gdy przy odczycie linia
 czyszczenie wyświetlacza, (ang.  Clear Display )
D7 jest w stanie niskim oznacza to że
 ustawienie kursora w pozycji poczÄ…tkowej (DD RAM = 0) (ang.  Cursor Home )
moduł może odebrać kolejne polecenie
 włączenie / wyłączenie wyświetlacza (chodzi o samo pole odczytowe) (ang. Dis-
od użytkownika. Znaczenie tego typu
play ON/OFF )
operacji wyjaśnię za chwilę.
 włączeni lub wyłączeni kursora (ang.  Cursor ON/OFF )
 Sygnał E (ang.  enable - zezwolenie):
 możliwość zdefiniowania znaku lub kursora  migającego (ang.  Cursor Blink )
podanie dodatniego impulsu na to we-
 przesunięcie kursora: w lewo lub w prawo (ang.  Cursor Shift )
jście powoduje odebranie przez znajdu-
 przesunięcie całego tekstu: w lewo lub w prawo (ang.  Display Shift )
jÄ…cy siÄ™ w module mikrosterownik
f) wbudowany układ automatycznego resetowania modułu po włączeniu napięcia
HD44780, informacji z linii D0...D7 oraz
zasilajÄ…cego (ang.  Internal reset circuit ).
RS i RW. W przypadku gdy sygnał
RW=1 (odczyt informacji z wyświetla-
Jak wspomniałem wcześniej wszyst-  Sygnał R/W : podanie niskiego pozio- cza LCD) podczas trwania tego impul-
ko to i dużo więcej można uzyskać przy mu na to wejście powoduje ustawienie su na liniach D0...D7 pojawia się żąda-
pomocy 11 linii sterujących. Zanim jed- modułu LCD w trybie odbioru informa- na informacja, dzięki czemu może być
nak zapoznasz się szczegółowo ze zna-
Tabela 1
czeniem poszczególnych sygnałów, przy-
jrzyj się  maksymalnym możliwościom
RS RW Działanie modułu
R
S
R
W
D
z
i
a
Å‚
a
n
i
e
m
o
d
u
Å‚
u
modułu opartego o wspomniany stan-
0 0 zapis instrukcji (rozkazu) do modułu przez zewnętrzny układ
dard oparty o sterownik HD44780.
sterujÄ…cy. Kod instrukcji podawany jest na linie D0...D7, lista
Nazwy angielskie podajÄ™ nie bez po-
instrukcji znajduje siÄ™ w tabeli 2.
wodu, bowiem będziemy się nimi czasa-
1 0 zapis danej do pamięci DD RAM (lub do CG RAM), jeżeli
mi dla wygody posługiwać podczas oma-
wskaznik adresu w DD RAM znajduje siÄ™ w obszarze  okna
wiania poszczególnych funkcji oferowa-
wyświetlania następuje wyświetlenie znaku na displeju LCD.
nych przez wyświetlacz.
Kod znaku podawany jest na linie D0...D7, zgodnie z tabelÄ… na
rysunku 4. Zapis do CG RAM używany jest w przypadku
Jak sterować modułem
definiowania własnego znaku przez użytkownika.
Przypatrzmy się teraz dokładniej
0 1 odczyt tzw. flagi zajętości modułu  bit D7, oraz bieżącej pozycji
wspominanym wcześniej w artykule syg-
wskaznika adresu w DD RAM (lub w CG RAM)  bity D6...D0
nałom sterującym. Zanim omówię ich
1 1 odczyt danej z DD RAM (lub z CG RAM) z pozycji którą wskazuje
znaczenie powinieneś wiedzieć że układ
bieżąca zawartość wspomnianego wskaznika adresu.
sterowany jest napięciami czyli TTL,
czyli poziomy logiczne sygnałów niskiego
i wysokiego wynoszą odpowiednio: cji z układu sterującego (poprzez linie odczytana przez zewnętrzny układ ste-
0...0,8V oraz 2,4...5V, czyli odpowiadają D0...D7), tryb ten nazywa się  trybem rujący. Zapis danej do wyświetlenia lub
w przybliżeniu poziomom w typowych zapisu  ang.  Write . Stan wysoki na instrukcji (RW=0) następuje przy opa-
układach CMOS przy zasilaniu napięciem tym wejściu ustawia moduł w tryb wy- dającym zboczu sygnału E.
+5V. słania informacji do zewnętrznego Zbierzmy razem przytoczone tu infor-
Oto skrótowe znaczenie poszczegól- urządzenia sterującego jego pracą. macje na temat sygnałów sterujących
t
a
b
e
l
i
1
nych sygnałów sterujących modułem: Dzięki temu ustalany jest kierunek ko- w tabeli 1.
 D0...D7 : osiem sygnałów przekazywa- munikacji z wyświetlaczem LCD. W zależności od kombinacji sygnałów
nia danych pomiędzy modułem LCD  Sygnał RS : podanie stanu wysokiego RS i RW możliwe są przedstawione
a światem zewnętrznym, czyli np. ze- na to wejście, przez zewnętrzny układ w niej operacje. Pamiętajmy przy tym że
wnętrznym układem sterującym. Fa- sterujący, informuje moduł LCD o chę- sygnał E jest tylko  zezwoleniem dla
chowo sygnały te nazywa się  szyną ci przesłania danej do wyświetlenia (a modułu na odczyty stanów tych wyjść
danych . Informacja może być przeka- ściślej do umieszczenia znaku w pa- i podjęcie odpowiedniej operacji zgodnej
zywana w obie strony, tak w stronę mięci DD RAM wyświetlacza), lub od- z tabelą 1.
wyświetlacza LCD, kiedy to np. układ czyt tej pamięci z modułu do układu Jak zatem fizycznie sterować sygnała-
zewnętrzny chce wyświetlić jakiś znak, sterującego celem np. weryfikacji zapi- mi RS, RW i E tak aby informacje podane
lub w drugą stronę. Ten przypadek wy- sanego wcześniej tekstu. Stan niski na szynę D0...D7 zostały prawidłowo za-
r
y
s
u
n
k
u
6
maga dłuższego wyjaśnienia dlatego zaś informuje moduł o tym że układ akceptowane przez moduł. Na rysunku 6
omówię go w dalszej części artykułu; sterujący chce przesłać instrukcję, przedstawiono przybliżone zależności
Numeracja poszczególnych linii jest dzięki której możliwe jest wywoływa- czasowe przy generacji tych sygnałów,
zgodna oczywiście ze standardem, nie wcześniej wspomnianych funkcji tak przy operacji odczytu informacji z mo-
czyli najmłodszy bit informacji to D0, dodatkowych modułu takich jak: czysz- dułu LCD jak przy zapisie.
najstarszy  D7. czenie wyświetlacza, ustawianie kur- Wyjaśnijmy sobie dokładniej to co po-
sora, itp. Tak dzieje się jeżeli przy tym kazano na rysunku. Aby uprościć analizę
ELEKTRONIKA DLA WSZYSTKICH 11/97 29
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
zaznaczyłem trzy hipotetyczne Warto też zwrócić uwagę
 etapy , oznaczone jako et.1, (rysunek 6) że zapis informacji
et.2 i et.3. Odpowiadają one do modułu następuje fizycznie
trzeb operacjom jakie powinien podczas opadajÄ…cego zbocza
przewidzieć konstruktor układu sygnału E, natomiast odczyt
w którym wykorzystywany jest jest możliwy podczas trwania
moduł LCD. Rozpocznijmy od wysokiego stanu sygnału E.
zapisu instrukcji lub danej, wy- Zapis i odczyt informacji
kres zapisu odnosi się do obu z modułu może odbywać się
tych przypadków, z ta różnica że dzięki tym samym liniom da-
sygnał RS przyjmuje raz wartość nych D0...D7 dzięki temu, że są
 0 , raz  1 , zgodnie z tabelą one liniami  trójstanowymi .
1. Czyli w przypadku zapisu linie te
et.1 : na początku należy działają jako wejścia informacji
ustawić odpowiedni poziom na (wewnętrzne wyjścia są w sta-
linii RS, a na linii RW powinno nie wysokiej impedancji),
być ustawiony oczywiście  0 , a w przypadku odczytu, po po-
bo dokonujemy operacji zapisu daniu poziomu  1 na liniÄ™
do modułu. Należy także podać E trójstanowe wyjścia zostają
na linie D0...D7 kod danej (gdy odblokowane i dzięki temu mo-
RS=0) lub instrukcji (gdy RS=1) duł LCD może przekazać infor-
zgodnie z tabelą 2 (w II cz. mację na końcówki D0...D7.
artykułu). Linia E powinna I choć tekstowe moduły LCD
w tym czasie pozostawać w sta- przeznaczone są głównie do
nie  0 . Najlepiej jest to wyko- współpracy w układach wyko-
nać w momencie oznaczonym rzystujących mikroprocesory, to
na wykresie jako  Z , czyli przy można je także stosować
okazji ustawiania sygnałów RS w prostych sterownikach
i RW. W katalogach producenta  niemikroprocesorowych .
modułów Hitachi ustalenie się Przykład takiego rozwiązania
szyny danych D0...D7 może być z wykorzystanie zwyczajnej pa-
Rys. 6. Przebiegi charakterystyczne sygnałów
opóznione i nastąpić dopiero mięci EPROM to opublikowany
sterujących modułem LCD przy zapisie i odczycie
w momencie kiedy sygnał E ma w poprzednim numerze EdW
już poziom wysoki (punkt  X ),  najprostszy sterownik wy-
jednak ja radzę zrobić to wcześniej zgod- zmieniamy stan linii E na wysoki. Po cza- świetlacza LCD kit AVT-2251  zapra-
nie z rysunkiem. sie tA dane z modułu pojawiają się na li- szam do lektury. Najczęściej w takich
et.2 : następnie należy podać impuls niach D0...D7, wtedy mogą być odczyta- prostych układach sterujących modułami
o czasie trwania minimum tEN, podczas ne przez zewnętrzny układ sterujący użyt- LCD nie jest wykorzystywany tryb odczy-
opadającego zbocza tego impulsu dane kownika. Po odczytaniu należy zakończyć tu danych czyli:  flagi zajętości oraz ad-
z szyny D0...D7 zostają  fizycznie ode- procedurę odczytu podając na linie E po- resu w DD RAM lub CG RAM. Ponieważ
brane przez moduł LCD. Po tym zboczu, ziom niski. Kończy to cykl, po tym pozio- moduł LCD wykonuje każdą wewnętrzną
które kończy cykl właściwego zapisu do my na liniach RS i RW są nieistotne. Ko- operację przez określony (tabela 2) mak-
moduÅ‚u, powinno siÄ™ odczekać czas lejny cykl może siÄ™ zacząć po czasie 1µs symalny czas, nie jest w zasadzie po-
tH, podtrzymujÄ…c dane na liniach D0...D7. (zgodnie z tabelÄ… 2). trzebne sprawdzanie tej flagi. Wystarczy
et3. : sygnał E przyjmuje ponownie Minimalne czasy trwania przedstawio- przecież odczekać z małym zapasem
stan  0 , mija czas podtrzymania. Stan li- ne na rysunku 6 oraz ich znaczenie jest czas podany w tabeli 2, co gwarantuje że
ni RS, RW oraz szyny danych jest wtedy następujące: następny rozkaz z układu sterującego pra-
nieistotny. Zapis został zakończony. Mo-  tAS: czas od ustawienia sygnałów RS cą modułu LCD zostanie przezeń prawid-
duł wykonuje teraz wewnętrzną operację i RW do uaktywnienia sygnału E, min.: łowo odebrany. Dlatego w wielu aplika-
przez czas zależny od rodzaju wpisanej 140ns; cjach wyświetlaczy LCD, także mikropro-
instrukcji lub danej, a jego wartości poda-  tEN: czas trwania impulsu E, min. cesorowych końcówka RW modułu jest
ne są w tabeli 2. Następny cykl zapisu 450ns; na stałe zwarta do masy. Układ nadrzęd-
(odczytu) może się rozpocząć po odcze-  tH: czas podtrzymania sygnałów RS, ny zajmuje się jedynie sterowaniem syg-
kaniu tego czasu, lub sprawdzeniu stanu RW oraz danej po opadającym zboczu nałów RS i E oraz oczywiście podawa-
 flagi zajętości poprzez odczyt informa- sygnału E, min. 20ns; niem informacji na szynę danych D0...D7.
cji z modułu LCD.  tA: przy odczycie: czas od momentu W efekcie upraszcza to znacznie obsługę
Przebieg odczytu przedstawia druga uaktywnienia sygnału E do pojawienia wyświetlacza, nie ujmując mu jego funk-
połowa rysunku 6. się informacji na szynie danych, maks. cjonalności.
W tym przypadku postępujemy po- 320ns. W prawdziwych  rasowych zastoso-
dobnie jak przy zapisie, czyli na początku Jak widać poszczególne czasy są bar- waniach wykorzystujących mikrokontro-
ustalamy poziom sygnału na lini- dzo krótkie, warto jednak o nich pamiętać lery funkcja odczytu danych ma jednak
i RS, linia RW powinna się znalezć w sta- przy budowaniu układu sterującego pracą zastosowanie  jest po prosty w pew-
nie wysokim (RW=1: odczyt). Następnie modułu LCD.
30 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
nych względów praktyczna w takim ukła- odcinku opiszę dokładnie wszystkie roz-
dzie pracy. kazy sterownika oraz podam kilka prak-
tycznych przykładów na ujarzmienie tego
W tej części artykułu to tyle. Poznałeś arcyciekawego podzespołu elektronicz-
podstawowe zagadnienia zwiÄ…zane z mo- nego.
S
Å‚
a
w
o
m
i
r
S
u
r
o
w
i
Å„
s
k
i
dułami tekstowymi: ich budowę oraz ter- Sławomir Surowiński
minologię z nią związaną. W następnym
ELEKTRONIKA DLA WSZYSTKICH 11/97 31
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
FUNKCJE KONTROLNE WYŚWIET- (=0). Jeżeli wyświetlacz był  przesunię- (5)  Cursor & display shift  kontrola
LACZA ty , wraca na swoje miejsce. Rozkazu kursora i przesuwania tekstu
ustawia bit I/D w słowie  Entry Mode . RS R/W D7..D0
Ponieważ podałem wcześniej na Bit  S w tym słowie nie zmienia się.
rysunku 4 zestaw kodów odpowiadają- 0 0 0 0 0
cych wyświetlanym przez moduł znaków (2)  Return home  ustawienie kur- 1 S/C R/L * *
pora zapoznać się z listą i znaczeniem po- sora na poz. początkowej Przesuwa kursor lub napis w prawo
szczególnych instrukcji sterowania wy- RS R/W D7..D0 lub lewo bez zmiany zawartości pamięci
świetlaczem. W tabeli 2 ujęto wszystkie DD RAM. W 2-liniowym trybie pracy kur-
polecenia wyświetlacza, te służące zaró- 0 0 0 0 0 sor przechodzi do drugiej lini-
wno do odczytu jak i do zapisu. Jeżeli ze- 0 0 0 1 * i w momencie minięcia 40 pozycji w pier-
chcesz w przyszłości wykorzystać teksto- Zeruje wskaznik adresu DD RAM, kur- wszej linii. W tym trybie przy przesuwa-
we moduły LCD tabelka ta okaże się nie- sor zostaje przesunięty do pozycji 0. niu napisu, obie linie są przesuwane jed-
zbędnym kompendium wiedzy na ten te- Przesunięty tekst powraca na swoje nocześnie, tzn. że np. ostatni znak w 1 li-
mat. miejsce, zawartość pamięci DD RAM nie ni-
W pierwszej kolumnie podałem orygi- ulega zmianie. i trafia na miejsce pierwsze w tej same li-
nalne nazwy angielskie instrukcji, nie bez nii, a nie przechodzi do lini-
powodu, bowiem w przyszłości jeżeli za- (3)  Entry mode set  sposób stero- i drugiej. To samo dotyczy lini-
znajomisz się i wykorzystasz opisywane wania wyświetlaczem i nr 2. W praktyce wygląda to jak przesu-
tu moduły w praktyce, napotykając jakiś RS R/W D7..D0 wanie poziome dwóch niezależnych napi-
nietypowy jego rodzaj, będzie mógł łatwo sów w 2 liniach. W tabeli 3 zestawiono
znalezć analogie instrukcji w często an- 0 0 0 0 0 działanie kombinacji bitów S/C i R/L.
gielskojęzycznej dokumentacji dołączanej 0 0 1 I/D S
przez sprzedawcÄ™ lub producenta do ofe- I/D: inkrementuje (I/D=1) lub dekre- Tabela 3
rowanego typu wyświetlacza. Jeżeli nie mentuje (I/D=0) wskaznik adresu DD
znasz angielskiego lub go nie lubisz, nie RAM o 1 po każdorazowym zapisie znaku S/C R/L Efekt
przejmuj się, w przedostatniej kolumnie do tej pamięci. Kursor zostaje przesunię- 0 0 Przesuwa kursor w le-
znajduje się krótki opis danej instrukcji. ty w prawo gdy I/D=1, lub w lewo gdy wo, wskaznik adresu zostaje zmniejszo-
W kolumnach RS, RW D7...D0 podane są I/D=0. To samo dotyczy pamięci CG RAM ny o 1
kombinacje poszczególnych sygnałów przy zapisie matrycy znaku użytkownika. 0 1 Przesuwa kursor w pr-
sterujących i szyny danych , które powin- S: powoduje przesuwanie całej zawar- awo, wskaznik adresu zostaje zwiększo-
ny być ustawione przez uaktywnieniem tości DD RAM (napisu) w lewo lub prawo ny o 1
sygnału E , jak opisałem wcześniej. w zależności od bitu I/D. W praktyce wy- 1 0 Przesuwa cały napis
W niektórych kratkach tabeli występują li- gląda to tak jakby kursor stał w miejscu, w lewo, kursor podąża za przesuwanym
terki np. : dla instrukcji:  Display a cały napis przesuwał się. Zapis do CG tekstem
ON/OFF są to : D, C, i B. Oznacza to że RAM przy S=1 nie powoduje przesuwa- 1 1 Przesuwa cały napis
że w zależności od efektu jaki chcemy nia się napisu. w prawo, kursor podąża za przesuwanym
uzyskać na wyświetlaczu, należy te bity tekstem
(pozycje) wyzerować lub ustawić zgodnie (4)  Display ON/OFF  włączanie wy-
z opisem znajdującym się pod koniec ta- świetlacza i kursora (6)  Function Set  ustawienie funk-
beli. Wyjaśnione są tam wszystkie sym- RS R/W D7..D0 cji dodatkowych
bole występujące w tabelce. I tak np. je- RS R/W D7..D0
żeli chcesz: włączyć wyświetlacz i poka- 0 0 0 0 0
zać niemigający kursor powinieneś pod- 0 1 D C B 0 0 0 0 1
stawić następujące wartości: D: włącza wyświetlacz gdy D=1, i gasi DL N F * *
D=1, C=1, B=0, czyli w efekcie infor- gdy D=0. Zmiana tego bitu nie powoduje DL: ustala szerokość magistrali da-
macja podana na szynę danych przez za- zmiany zawartości DD RAM (wprowa- nych. Gdy DL=1 dane przesyłane są
pisem instrukcji (RW=0, RS=0) powinna dzonego tekstu) w postaci 8-bitowej linia D0..D7. Kiedy
mieć postać: 00001110 binarnie, prawda C: pokazuje kursor gdy C=1 i chowa DL=0, transmisja jest 4-bitowa: linie
że proste. gdy C=0. Nawet gdy kursor zostanie D4..D7. Gdy wybrany jest interfejs 4-bito-
ukryty, jest nadal aktywny i podąża wraz wy każda dana lub rozkaz musi być prze-
Tabela 2 ze wskaznikiem pamięci DD RAM pod- słana w 2 cyklach, najpierw starsza cześć
czas operacji zapisu. bajtu potem młodsza. Po każdej operacji
B: po ustawieniu tego bitu (B=1) kur- należy sprawdzić  Busy Flag lub odcze-
Poniżej przedstawię krótki opis po- sor zajmuje całą matrycę znaku, dodatko- kać czas określony w tabeli 1.
szczególnych instrukcji i efekt ich wyko- wo migocząc na przemian ze znajdują- N: ustala tryb pracy 1-liniowy (N=0),
nania. cym się  za nim , wyświetlanym zna- lub 2-liniowy (N=1). Gdy aktywny jest
kiem. tryb 1-liniowy, a niektóre z modułów ma-
(1)  Clear display  czyszczenie wy- Na rysunku 7 pokazałem możliwe ją fizycznie (SW1) ustawiony adres dru-
świetlacza kształty kursora oraz sposó wyświetlania giej linii, pozostają nieużywane.
RS R/W D7..D0 migoczÄ…cego znaku. F: ustala rozmiar matrycy znaku; F=0
0 0 0 0 0 matryca ma 5 x 7 punktów, F=1 matryca
0 0 0 0 1 Rys.7 Kształt kursora w zależności od 5 x 10. Nie wszystkie moduły LCD wyko-
Całą pamięć DD RAM zostaje wypeł- ustawień bitów  C i  B w instrukcji rzystują tę drugą możliwość, jej dość nik-
niona spacjami (20h), wskaznik (kursor)  Display ON/OFF . łe znaczenie opisywałem wcześniej w ar-
adresu DD RAM zostaje wyzerowany. tykule.
32 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
Uwaga: w przypadku kiedy F=1 (5x10) ostatnie ustawienie adresu, patrz instruk- 00000010 D I SPLEJ p o -
oraz N=1 (tryb pracy 2-liniowy) nie jest cje  Set CG RAM address i  Set DD wrót kursora na pozycję początkową, ad-
możliwe wyświetlenie tekstu w dwóch li- RAM address . Po zapisie do pamięci res  0
niach, w przypadku wyświetlaczy wieloli- DD RAM lub CG RAM wskaznik adresu
niowych, a jedynie w jednej. zostaje automatycznie inkrementowany
lub dekrementowany o 1 w zależności od PRACA ZE STEROWANIEM 4-BITO-
(7)  Set CG RAM Address  ustawie- ustawienia polecenia  Entry Mode . WYM
nie adresu pamięci znaków użytkownika Przykładowa kolejność instrukcji w ce-
RS R/W D7..D0 lu zapisania 7-znakowego tekstu np.: Jak już wiesz do komunikacji z modu-
 DISPLEJ pokazany jest w tabeli 4. łem oprócz sygnałów sterujących
0 0 0 1 A (RW,RS,E) służy osiem lini-
A A A A A (11)  Read data from CG or DD RAM i danych: D0...D7. Jednak każdy wy-
Ustala adres aktualnego zapisu do pa-  odczyt danej z CG RAM lub DD RAM świetlacz tekstowy ze sterownikiem
mięci matrycy znaku użytkownika CG RS R/W D7..D0 HD44780 może także pracować będąc
RAM. sterowanym tylko za pomocÄ… 4 lini-
Dozwolony adres: 00h..3Fh jak poda- 1 1 D D D i danych  D7...D4. W takim przypadku li-
no w tabeli 3. Po tej operacji dane będą D D D D D nie D3...D0 są ignorowane i mogą
umieszczane od ustawionego adresu Odczytuje 8-bitową daną DDDDDDDD w związku z tym pozostać niepodłączo-
w CG RAM. (AAAAAA  6 bitowy adres, z modułu, zapisaną pod aktualnym adre- ne. W tabeli 2 pokazana jest zresztą in-
zakres: 0...63) sem który wskazuje licznik adresu (od- strukcja  Function Set w której bit D4
czytywany w sposób podany w pkt.9). odpowiada za ustalenie jaki rodzaj komu-
(8)  Set DD RAM Address  ustawie- nikacji wybierze użytkownik po włączeniu
nie adresu pamięci tekstu (wskaznika) Tabela 4. zasilania modułu. Jeżeli bit ten ustawimy,
RS R/W D7..D0 uwaga: gwiazdkami oznaczono bity moduł komunikować się poprzez 8-bito-
nieistotne wą szynę danych, jeżeli zaś wyzerujemy
0 0 1 A A go, komunikacja będzie 4-bitowa. W tym
A A A A A No Instrukcja, RS, R/W ostatnim przypadku aby przesłać kom-
Ustala adres aktualnego zapisu do pa- D7..D0 Wyświetlacz Ope- pletną instrukcję lub daną do wyświetla-
mięci tekstu DD RAM. Po tej operacji da- racja cza (a także ją odczytać), należy wykonać
ne są umieszczane od ustawionego adre- 1 włączenie zasilania (inicjalizacja to w dwóch etapach. W pierwszym nale-
su w DD RAM. (AAAAAAA-7-bitowy ad- obwodów wewnętrznych) w y - ży przesłać starszy półbajt instrukcji lub
res) świetlacz wygaszony danej, a następnie młodszy. Tak wiec np.
Gdy N=0 (tryb 1-liniowy) dozwolony 2  Function set , 0,0 aby wyświetlić literę  S (kod:
zakres adresu: 00h..27h, gdy N=1 (tryb 2- 001100** U s t a w i e n i e 01010011) należy najpierw podać na linie
liniowy) adresy 1 linii: 00h..27h, 2 linii: interfejsu 8-bit, tryb 1-linia D7...D4 kombinacjÄ™ pierwszych czterech
40h..67h 3  Display ON/OFF , 0,0 bitów czyli:  0101 , a następnie wysłać
00001110 _ Wł ączeni e drugą połowę:  0011 . Oczywiście przed
(9)  Read busy flag and AC address  wyświetlacza i zapalenie kursora każdą połówką należy odpowiednio usta-
odczyt flagi zajętości 4  Entry mode set , 0,0 wić sygnały RS i RW oraz uaktywnić
RS R/W D7..D0 00000110 _ Tryb inkre- transmisję sygnałem E (także za każdym
mentacji wskaznika adresu, bez przesu- razem). Różnica polega tylko na tym, że
0 1 BF A A wania całego tekstu po przesłaniu pierwszego półbajtu nie
A A A A A 5  Write data to CG/DD RAM , jest potrzebne sprawdzanie flagi zajętoś-
Odczytanie stanu flagi zajętości  Busy 1,0 ci, lub czekanie przez, podany w tabeli 2,
Flag oraz bieżącego adresu w CG lub 01000100 D_ wpisanie zna- czas w którym moduł wykonuje wewnęt-
DD RAM. Gdy po odczycie BF=1 znaczy ku  D rzną operację. Dzięki temu ogólny czas
to że moduł wykonuje wewnętrzną ope- 6  Write data ... , 1,0 obsługi interfejsu 4-bitowego szczególnie
rację i nie przyjmie danej ani instrukcji. 01001001 D I _ wpisanie zna- w układach mikroprocesorowych nie jest
Następne dane powinny być przesyłane ku  I o wiele dłuższy niż przy pełnym 8-bito-
do wyświetlacza gdy BF=0. 7  Write data... ,1,0 wym interfejsie.
AAAAAAA to 7-bitowy adres bieżącej 01010011 D I S_ wpisanie zna- Pod koniec opisu modułów LCD poka-
pozycji w CG lub DD RAM, uwagi co do ku  S żę przykładowy sposób podłączenia wy-
zakresów liczbowych adresu zgodne świetlacza poprzez interfejs zarówno
z punktem poprzednim. 8  Write data... ,1,0 8 jak i 4-bitowy.
01010000 D I SP_ wpisanie zna-
(10)  Write data to CG or DD RAM  ku  P INICJALIZACJA  CZYLI CO SI DZIE-
zapis danej do CG RAM lub DD RAM 9  Write data... ,1,0 JE PO WACZENIU ZASILANIA
RS R/W D7..D0 01001100 D I SPL_wpisanie zna-
ku  L Jak każde inteligentne urządzenie mo-
1 0 D D D 10  Write data... ,1,0 duły LCD, po dołączeniu do nich zasilania,
D D D D D 01000101 D I SPLE_ wpi- przez jakiś określony czas wykonują auto-
Wpisuje 8-bitowÄ… danÄ… DDDDDDDD sanie znaku  E matycznÄ… procedurÄ™ inicjalizacji swych
do pamięci tekstu DD RAM lub generato- 11  Write data... ,1,0  wnętrzności .
ra znaków użytkownika CG RAM. To do 01001010 D I SPLEJ_ wpi- W przypadku modułów z HD44780
jakiej pamięci zostaje zapisana dana zale- sanie znaku  J czas ten wynosi z reguły 10 ms. Moduł
ży od tego, do jakiej pamięci odnosiło się 12  Return home ,0,0 realizuje funkcję  zerowania dzięki wbu-
ELEKTRONIKA DLA WSZYSTKICH 11/97 33
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
dowanemu w moduł układowi  reset . pomimo wprowadzania komend i instruk-
Podczas tego okresu wyświetlacz nie cji w celu wyświetlenia czegoś na disple- pamięć DD RAM. Pamięć ta służy do
przyjmuje żadnych rozkazów, toteż ju LCD, należy zastosować programową przechowywania kodów znaków do wy-
w układach sterujących warto przewi- procedurę inicjalizacyjną, taką jak omówi- świetlenia, jej pojemność dla każdego
dzieć możliwość opóznienia o wspomnia- łem wcześniej. modułu opartego o sterownik HD44780
ny czas (najlepiej z zapasem: 20ms) po wynosi 80 bajtów (znaków). Jak już wiesz
ustabilizowaniu się napięcia zasilania na STRUKTURA WEWNTRZNYCH PA- w przypadku kiedy panel LCD wyświetla-
poziomie 4,5V lub więcej. W przypadku MICI MODUAU cza ma mniejsza  długość , wyświetla-
kiedy po włączeniu zasilania czas narasta- na jest tylko część tekstu, zawartego
nia napięcia spełnia wymogi modułu, czy- Jak wspomniałem wcześniej moduł w DD RAM. Pozostała część pamięci mo-
li zawiera się w granicach 0,1ms...10ms posiada trzy rodzaje wewnętrznej pamię- że być wykorzystana przez programistę
przy wzroście od 0,2V do 4,5V, układ re- ci, powtórzmy je sobie: jako pamięć RAM dowolnego wykorzys-
setu pracuje poprawnie zapewniając pra- - CG ROM : pamięć generatora zna- tania. W praktyce jednak zapisuje się do
widłową inicjalizację wyświetlacza. W ta- ków, jest to pamięć stała (ROM) z zapisa- niej maksymalnie dużo komunikatów
kim przypadku wartości początkowe re- nymi danymi na podstawie których wy- (które mają być wyświetlone), by potem
jestrów wewnętrznych są następujące: świetlany jest jeden ze 160 znaków. Za- w razie potrzeby poprzez zwykłe przesu-
- panel LCD wygaszony ( display cle- wartość CG ROM podałem wcześniej nięcie tekstu (poprzez komendy przesu-
ar ) w tabeli na rysunku 4. wające) pokażą żądany tekst. Innym spo-
- nastawy  Function Set : - DD RAM : pamięć typu RAM o po- sobem, szczególnie przydatnym dla po-
DL=1 : 8-bitowa szyna danych, jemności 80 znaków (bajtów) przechowu- czątkujących w dziedzinie obsługi wy-
N=0 : wyświetlanie w trybie 1 li- jąca kody znaków do wyświetlenia na pa- świetlaczy tego typu, jest zapis do pa-
niowym, nelu LCD. pamięć ta może być zapisywa- mięci DD RAM tylko tej części tekstu,
F=0 : matryca znaku 5x7 punk- ne lub odczytywana przez zewnętrzny która może być wyświetlona. Jeżeli po-
tów; układ sterujący. trzeba pokazać coś innego, wystarczy po-
- nastawy  Display ON/OFF : - CG RAM : pamięć typu RAM o po- leceniem  clear display wyczyścić pa-
D=0 : wyświetlacz wygaszony, jemności 64 bajtów przeznaczona na de- mięć DD RAM a potem zapisać nowy żą-
C=0: kursor wygaszony, finiowanie znaków przez użytkownika. dany tekst.
B=0 wyłączona funkcja migania Poniżej zapoznam Cię dokładnie ze Kolejne komórki DD RAM są oczywiś-
kursora lub znaku strukturą tych pamięci i ich znaczeniem cie ponumerowane, w tym przypadku bę-
- nastawy:  Entry Mode Set : dla pracy modułu. dzie to zakres 0...79 (80 znaków), w zapi-
I/D=1 : +1 (zwiększanie adresu), sie szesnastkowym: 00h...4Fh. Takim za-
S=0: bez przesuwania Pamięć CG ROM. Znaczenie tej pa- pisem będziemy się posługiwać w dal-
- pamięć wyświetlania DD RAM jest mięci zostało już wyjaśnione, a struktura szej części opisu pamięci wyświetlacza.
wypełniona spacjami, zaś pamięć CG została przedstawiona na rysunku 4.
RAM jest wypełniona przypadkowymi da- W artykule nie podano wyglądu znaków Dla trybu jednoliniowego, kiedy w in-
nymi. kiedy moduł pracuje w trybie 5x10 punk- strukcji  Function Set (patrz tabela 2) bit
tów. Po pierwsze dlatego że, nie wszyst- N=0 organizacja pamięci DD RAM jest
Rozpoczęcie pracy w takim przypadku kie moduły mogą pracować w tym trybie, następująca:
może się odbyć w sposób normalny czy- po drugie: różnica w wyglądzie znaków
li np. jak podano w przykładzie z tabeli 4. z matrycy 5x7 i 5x10 jest niewielka, różni 1 2 3 4 5
się tylko ostatnie 16 znaków o kodach: 79 80
Jeżeli zaś czas narastania napięcia po 240...255. Znaki te nie wchodzą w skład < poozycja na displeju
włączenia zasilania modułu nie mieści się alfabetu łacińskiego, a są symbolami z in- 00 01 02 03 04
w podanych wcześniej granicach, nie- nych zbirów znaków. Jeżeli kogoś intere- . . . . . . . . . . 4E 4F < 
zbędne jest wykonanie procedury inicju- suje zawartość i wygląd tych znaków, po- addres w DD RAM
jącej przez układ sterujący użytkownika. winien sprawdzić to w praktyce, kupując
Kolejne kroki takiej operacji dla interfejsu wyświetlacz, ewentualnie przestudiować W przypadku, gdy wyświetlacz posia-
4 i 8-bitowego podane są na rysunku 8 literaturę [1]. Pamięć CG ROM jest adre- da panel LCD o mniejszej (<80) liczbie
i 9. sowana (tak właściwie to jest adresowa- pozycji, wyświetlana jest tylko część tek-
ny cały blok bajtów opisujący konkretny stu, np. dla panelu 1x8 mamy:
Rys.8 Programowa inicjalizacja modu- znak) poprzez wpisanie kodu znaku do
łu z interfejsem 8-bitowym wyświetlenia przy RS=1 i RW=0. Nie jest 1 2 3 4 5
możliwa ingerencja i modyfikacja tej pa- 6 7 8 < poozycja
Rys.9 Programowa inicjalizacja modu- mięci ani nie jest możliwe dołączenie np. na displeju
łu z interfejsem 4-bitowym zewnętrznej pamięci tego typu. 00 01 02 03 04
Na rynku elektronicznym istniejÄ… wer- 05 06 07 < addres
W praktyce przypadek kiedy zasilanie sje wyświetlaczy tekstowych LCD zgod- w DD RAM
nie spełnia wymogów umożliwiających nych programowo z opisywanym tu stan-
prawidłową inicjalizację modułu jest bar- dardem, lecz zawartość pamięci CG Podczas wykonania operacji przesu-
dzo rzadki, szczególnie kiedy w zasilaczu ROM poszczególnych modeli w zakresie wania tekstu adres podąża jak pokazano
pracuje monolityczny stabilizator napięcia kodów: 128...255 może się nieco różnić. poniżej:
np. 7805, a kondensator filtrujÄ…cy zasila- SÄ… to jednak znaki spoza naszego alfabe-
nie po stronie wtórnej stabilizatora nie tu, toteż nie stanowi to dużego problemu 01 02 03 04 05
jest zbyt duży (47uF...220uF). W każdym dla użytkownika, szczególnie że może on 06 07 08 < przee-
razie w przypadku kiedy moduł odmówi zawsze zdefiniować swój nietypowy suw w lewo
 posłuszeństwa po załączeniu zasilania, znak korzystając z pamięci CG RAM.
34 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
1 linia 00 01 02 03 Jak widzisz, w trybie 2-liniowym przy
04 05 06 07 <  przesuwaniu tekst przesuwany jest w ob-
4F 00 01 02 03 addres w DD RAM rębie każdej lini-
04 05 06 < przee- 2 linia 40 41 42 43 i osobno, można powiedzieć że  zapętla
suw w prawo 44 45 46 47 <  się w obszarze jednej linii. Ta właściwość
addres w DD RAM jest bardzo przydatna szczególnie przy
Dla przykładu struktura pamięci 16- demonstracyjnym przesuwaniu komuni-
znakowego wyświetlacza (1x16) ma po- W przypadku przesuwania zawartości katów wieloliniowych.
stać: DD RAM w trybie 2-liniowym adresy w li-
niach 1 i 2 wyglądają następująco: Istnieją modele wyświetlaczy 1x16
1 2 3 4 5 znaków np. Hitachi typ LM020, w którym
6 7 8 9 10 przesuw w lewo pomimo 1 lini-
11 12 13 14 15 1 linia 01 02 03 04 i wyświetlającej 16 znaków przyporząd-
16 < poozycja na displeju 05 06 07 08 kowanie poszczególnych matryc na pa-
00 01 02 03 04 2 linia 41 42 43 44 nelu LCD do adresów w DD RAM jest
05 06 07 08 09 45 46 47 48 nieco inne:
0A 0B 0C 0D 0E
0F < addres w DD RAM przesuw w prawo 1 2 3 4 5
1 linia 27 00 01 02 6 7 8 9 10
Przy przesuwaniu zawartość pamięci 03 04 05 06 11 12 13 14 15
wygląda następująco: 2 linia 67 40 41 42 16 < poozycja na displeju
43 44 45 46 00 01 02 03 04
01 02 03 04 05 05 06 07 40 41
06 07 08 09 0A Dla przykładu w najbardziej popular- 42 43 44 45 46
0B 0C 0D 0E 0F nym wyświetlaczu LCD 2x16 znaków 47 < addres w DD RAM
10 < przeesuw w lewo struktura  widocznej DD RAM jest na-
stępująca: Dla tego modelu LCD podczas inicjali-
zacji powinna być wpisana instrukcja
1 2 3 4  Function set z bitem N=1, czyli praca
5 6 7 8 9 w trybie 2-liniowym, inaczej aktywna bÄ™-
4F 00 01 02 03 10 11 12 13 14 dzie tylko połowa (8 znaków) wyświetla-
04 05 06 07 08 15 16 < poozycja na disple- cza.
09 0A 0B 0C 0D ju
0E < przeesuw w prawo 1 linia 00 01 02 03 Dla większych modułów, wielolinio-
04 05 06 07 08 wych modułów LCD układ adresów w za-
09 0A 0B 0C 0D leżności od pozycji znaku i lini-
W trybie dwuliniowym, kiedy w in- 0E 0F < addres w DD RAM i jest następujący:
strukcji  Function Set (patrz tabela 2) bit 2 linia 40 41 42 43
N=1 organizacja pamięci DD RAM jest 44 45 46 47 48 Moduł 2 x 40 (2 linie po 40 znaków),
nieco inna. 49 4A 4B 4C 4D np. LM107, LM018, LM092
4E 4F < addres w DD RAM
1 2 3 4 1 linia A B
539 2 linia C D
40 < poozycja na displeju Kiedy realizowane jest przesuwanie,
1 linia 00 01 02 03 struktura DD RAM przyjmuje postać: Moduł 4 x 20 (4 linie po 20 znaków),
04 . . . . . . . . . . 26 27 np. LM044
< addres w DD RAM przesuw w lewo
2 linia 40 41 42 43 1 linia 01 02 03 1 linia A
44 66 67 <  04 05 06 07 08 2 linia C
addres w DD RAM 09 0A 0B 0C 0D 1 linia B
0E 0F 10 2 linia D
Jak widać w tym przypadku pamięć 2 linia 41 42 43 44
DD RAM jest podzielona na dwie części 45 46 47 48 49 gdzie: oznaczenia A,B,C,D to następu-
po 40 bajtów pojemności każda. Pierw- 4A 4B 4C 4D 4E jące kolejne adresy:
sza część (linia) zawiera adresy 00...27h 4F 50 A : 00h...13h
(0...39), druga zaÅ› adresy: 40h...67h B : 40h...53h
(64...103). przesuw w lewo C : 14h...27h
1 linia 01 02 03 D : 54h...67h
Kiedy wyświetlacz ma mniej (np. 2x8) 04 05 06 07 08
znaków w lini- 09 0A 0B 0C 0D Ważną informacją jest że każdorazowe
i niż 40, adresy są oczywiście ułożone 0E 0F 10 wpisanie danej do pamięci CG RAM po-
w następujący sposób: 2 linia 41 42 43 44 woduje automatyczną inkrementację licz-
45 46 47 48 49 nika adresu. Dzięki temu nie jest koniecz-
1 2 3 4 4A 4B 4C 4D 4E ne ustawianie go za każdym razem przed
5 6 7 8 <  4F 50 wpisanie kolejnej litery tekstu.
poozycja na displeju
ELEKTRONIKA DLA WSZYSTKICH 11/97 35
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
Po tej sporej ilości przykładów warto 1 1 0 * * *
poeksperymentować z nawet najtań- 1 1 1 * * * * * *
szym zakupionym modułem tekstowym * * * * * *
LCD. Zapewniam Cię, że każdy zgodny * * * * * *
z omawianym standardem, tak czy ina- * * * * * *
czej, da się  opanować nawet przez * * * * * * 1 1 1 1 1
mało doświadczonego w tej materi- * * * 0 0 0 0 0
i elektronika. * * * 1 1 1 1 1
* * * 0 1 0 1 0 0 0 0 0 0
Pamięć CG RAM. Przyszła wreszcie 1 0 1 0 1 1 1 1 1 1
pora na przedstawienie zasad wprowa- 0 1 0 1 0 0 0 0 0 0
dzania zdefiniowanych przez użytkowni- 1 0 1 0 1 1 1 1 1 1
ka znaków. Do tego celu służy właśnie 0 1 0 1 0 0 0 0 0 0
CG RAM. Jak już wiesz jej pojemność to 1 0 1 0 1
64 bajty, co pozwala na zdefiniowanie 0 1 0 1 0 Dla przykładu jako pierwszy znak
8 znaków , każdy opisany jest przez 8 baj- 0 0 0 0 0 (kod=00h) zdefiniowano  szachownicę ,
tów, a każdy z tych bajtów opisuje 1 wier- pod kodem 02h znak  karo , ostatnim
sz matrycy pojedynczego znaku. Skoro zdefiniowanym znakiem sÄ… cztery pozio-
powiedziałem wcześniej że matryca zna- me linie. Bity oznaczone gwiazdką nie
ku ma postać w tym wypadku 5x7, to po 0 0 0 0 * 0 0 1 mają znaczenia przy definiowaniu matry-
co ten 8-my bajt, a no po nic. Jest on po cy znaku.
prosty  marnowany . Tak samo jest z bi- kod: 01h lub 09h Ósmy wprowadzany kolejno bajt
tami w danym bajcie opisujÄ…cym wiersz, (wiersz) matrycy znaku nie jest istotny, ze
istotne jest tylko 5 najmłodszych bitów, względu na zastosowane matryce LED:
bo przecież matryca ma 5 kolumn. Jeżeli 0 0 1 0 0 0 5x7, zwykle należy wpisać 00h.
dwa ostatnie zdania nie sÄ… dla Ciebie zbyt 0 0 1
jasne , pomoże Ci z pewnością rysunek 0 1 0
10. 0 1 1
1 0 0
Rys.10 Matryca definiowanego zna- 1 0 1 Tak więc aby zdefiniować np. 4 nowe
ku, a bajty ją opisujące 1 1 0 znaki należy najpierw wykonać instrukcję
1 1 1 * * * ustawienia adresu w CG RAM na pozycjÄ™
Teraz już chyba powinieneś wiedzieć * * * 0 (patrz tabela 2):  Set CG RAM Ad-
dlaczego powiedziałem wcześniej że * * * dress
część bitów jest  marnowana . Jest to * * * RS RW D7...D0
jednak tylko pozorne marnotrawstwo, * * * 0 0 01000000
bowiem , dzięki takiemu ułożeniu infor- * * * Następnie należy kolejno wpisywać
macji w pamięci CG RAM możliwe jest * * * wszystkie bajty po kolei od pierwszego,
logiczne i kolejne adresowanie definio- * * * 0 0 0 0 0 opisującego pierwszy (górny) wiersz mat-
wanych komórek. W tabeli 5 pokazano 0 0 1 0 0 rycy pierwszego znaku aż do ostatniego
strukturę pamięci CG RAM. 0 1 1 1 0 31-ego (32-gi jest i tak równy  0 więc
1 1 1 1 1 nie ma potrzeby go wpisywać) bajtu, opi-
Tabela 5. 0 1 1 1 0 sujÄ…cego ostatni wiersz 4-tej matrycy de-
Kod znaku (tab.1) 0 0 1 0 0 finiowanego znaku.
bity: 0 0 0 0 0
7 6 5 4 3 2 1 0 Adres w CG 0 0 0 0 0 Tak samo jak w przypadku pamięci DD
RAM itd.... aż do kodu RAM po każdym wpisie danej do tej pa-
bity: 07h mięci licznik adresu jest automatycznie
5 4 3 2 1 0 Matryca zna- inkrementowany, toteż nie jest potrzeb-
ku ne ustawianie adresu za każdym razem
bity: za pomocÄ… instrukcji  Set CG RAM Ad-
7 6 5 4 3 2 1 0 dress .
0 0 0 0 * 1 1 1
Poniżej w tabeli 6 przedstawiam
kod: 07h lub 0Fh 2 komplety danych (po 64 bajty) umożli-
0 0 0 0 * 0 0 0 wiajÄ…cych zdefiniowanie 16 polskich zna-
ków, w pierwszym przypadku są to litery
kod: 00h lub 08h 1 1 1 0 0 0 małe:  ąćęłńóśż , w drugim duże:
0 0 1  ĆACÓŚŻ .
0 1 0 Dzięki tym danym nie będziesz musiał
0 0 0 0 0 0 0 1 1 samodzielnie męczyć się z rysowaniem
0 0 1 1 0 0  kropka po kropce każdej polskiej litery.
0 1 0 1 0 1
0 1 1 1 1 0 polski znak: seria 8 kolejnych baj-
1 0 0 1 1 1 * * * tów
1 0 1 * * *
36 ELEKTRONIKA DLA WSZYSTKICH 11/97
Podręczny poradnik elektronika
P
o
d
r
Ä™
c
z
n
y
p
o
r
a
d
n
i
k
e
l
e
k
t
r
o
n
i
k
a
(w zapisie szesnastkowym)
polski znak: seria 8 kolejnych baj-
tów
(w zapisie szesnastkowym)
Ä…
ćĆ
Ä™
Å‚A
Å„C
óÓ
śŚ
żŻ
Oczywiście po zdefiniowaniu wszyst-
kich 8-miu znaków ich kolejne kody będą
zgodne z tabelÄ… na rysunku 4, czyli np.
znak  ą będzie miał kod 00h, znak  ć
kod 01, itd. aż do kodu 07.
PRZYKAADY ZASTOSOWANIA
Dopisane będzie przeze mnie:
1. schemat z wyłącznikami
2. schemat dołączenia do PC centro-
nics
3. profesjonalny schemat do dołącze-
nia do systemu uP np. z 8051.
4. schemat i listing przykładowy inicja-
cji i wypisania tekstu  Hello world
PRAKTYCZNE WSKAZÓWKI
a) dotyczÄ…ce zakupu  oznaczenia han-
dlowe, itp.
b) przykładowe ceny i miejsca
 wskazanego zakupu
Sławomir Surowiński, AVT
ELEKTRONIKA DLA WSZYSTKICH 11/97 37


Wyszukiwarka

Podobne podstrony:
23 VJSMKOCY6NIPS2CAQGIY4SDCJTBTFW6NGCBVNDA
000723 23
23 ROZ warunki i tryb postępowania w spr rozbiórek obiek
76,23,artykul
990929 23
23 triki iluzjonistyczne
Ćwiczenie nr 23
23 Powiklania poszczepienne
OBE, Atlantydzkie, 23 metody, Ld
23 (12)
Bieńkowska i inni Wykład Prawa Karnego Procesowego Ro 23

więcej podobnych podstron