Alfanumeryczne wyświetlacze LCD.pdf

(1573 KB) Pobierz
Alfanumeryczne wyświetlacze LCD
Podręczny poradnik elektronika
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−
powrotnie minęły czasy, kiedy to zdoby−
cie popularnego układu ICL7106 wraz
z niezbędnym 3,5−cyfrowym wyświetla−
czem LCD graniczyło z cudem. Sam pa−
miętam czasy, kiedy to postanowiłem sa−
modzielnie zbudować swój pierwszy
multimetr, po pierwsze dlatego że moja
stara UM−ka znudziła mi się, drugim po−
wodem była ogromna chęć posiadania
przyrządu, może nie o wysokich paramet−
rach technicznych, lecz o nowoczesnym
prawdziwie „cyfrowym” wyglądzie.
Z łezką w oku wspominam te chwile, kie−
dy po zdobyciu na giełdzie upragnionego
wyświetlacza, zresztą w wersji bez koń−
cówek lutowniczych, rozebrałem na
części pierwsze swój poczciwy kalkula−
tor, aby pozyskać tzw. „przewodzące
gumki”, niezbędne do prawidłowego
podłączenia elementu do płytki drukowa−
nej. Jednak mój trud i długie kazanie ro−
dziców (na temat zdezelowanego kalkula−
tora) opłacało się, bowiem po kilku dni−
ach mogłem wpatrywać się godzinami
w pierwszy w moim domowym laborato−
rium przyrząd z wymarzonym wyświetla−
czem LCD.
To już historia, dziś na rynku elektro−
nicznym aż roi się od różnorodnych, mo−
nochromatycznych a nawet kolorowych
wyświetlaczy LCD. Producenci prześci−
gają się w parametrach technicznych,
oraz wersjach, wyposażając wyświetla−
cze w dodatkowe elementy podwyższa−
jące ich funkcjonalność: np. elektrolumi−
nescencyjne podświetlanie.
Nie wpadając jednak w zbytni zachwyt
nad możliwościami współczesnej tech−
nologii warto przypomnieć sobie kilka
podstawowych, nadal obowiązujących
prawd:
– po pierwsze: wyświetlacze LCD są naj−
bardziej ekonomicznymi, pod wzglę−
dem zużycia energii, elementami
wskaźnikowymi, ma to szczególne od−
zwierciedlenie w przenośnych przyrzą−
dach zasilanych bateryjnie, gdzie są
bezkonkurencyjne;
– po drugie: często nie zajmują więcej
miejsca niż tradycyjne wyświetlacze
siedmiosegmentowe LED
– po trzecie: koszt zakupu wielopozycyj−
nego wyświetlacza LCD jest kilkukrot−
nie niższy od takiego samego modułu
w wersji LED, nie mówiąc o wyświet−
laczach zdolnych wyświetlać tekst.
W przypadku tych ostatnich stosunek
ceny do ilości wyświetlanych znaków
jest nieporównywalnie niższy od po−
dobnych konstrukcji opartych o matry−
ce LED.
Wyświetlacze LCD mają też swoje
wady. Zakres temperatur użytkowania
jest znacznie węższy, niż w przypadku
wyświetlaczy LED. Bez odpowiedniego
podświetlenia, informacja na nich w złych
warunkach oświetleniowych jest prak−
tycznie nieczytelna. Wreszcie, ze wzglę−
du na dość „kruchą” swoją budowę, wy−
świetlacze LCD są mało odporne na
wstrząsy i ewentualne uszkodzenia spo−
wodowane np. upadkiem z wysokości.
Nie umniejsza to jednak ich funkcjo−
nalności, bowiem w wielu zastosowa−
niach są one często niezastąpione.
Charakterystyka ogólna
Od pewnego czasu coraz częściej spo−
tyka się w handlu i na różnych wyprzeda−
żach inteligentne wyświetlacze LCD po−
trafiące oprócz pokazywania podstawo−
wych cyfr z zakresu 0...9, wyświetlać pe−
łen zestaw liter alfabetu łacińskiego, cyfr
oraz dodatkowych znaków tak interpunk−
cyjnych jak i semigraficznych. W więk−
szości są to tzw. wyświietllacze tekstowe,
co odróżnia je od bliźniaczych i podobnie
wyglądających, wyświietllaczy grafiicznych
LCD. Te pierwsze charakteryzują się tym
że ich pole odczytowe składa się kilku−
nastu do kilkudziesięciu jednakowych
pól, złożonych z matryc punktów. Za po−
24
E LEKTRONIKA DLA WSZYSTKICH 11/97
222918947.008.png 222918947.009.png
Podręczny poradnik elektronika
mocą każdej takiej matrycy (przeważnie:
5 na 8 punktów) możliwe jest wyświetle−
nie dowolnego znaku, jak pokazano na
przykładzie z rysunku 1. Poszczególne
matryce w wyświetlaczach tekstowych
są oddzielone przerwą tak między sobą
(w kolumnie) jak i w rzędzie, w przypadku
wyświetlaczy składających się z kilku lini−
i. W praktyce w omawianych dalej w ar−
tykule modułach matryca znaku składa
się z 5 x 7pól, natomiast „dolny”, ósmy
rząd pięciu punktów jest wykorzystywa−
ny do wyświetlania generowanego auto−
matycznie znaku kursora.
Tak więc w informacji wyświetlonej na
displeju tekstowym wszystkie litery są fi−
zycznie oddzielone małą przerwą, dzięki
której poszczególne znaki nie zlewają się
ze sobą, tworząc w ten sposób czytelny
tekst. Niestety przez tą właściwość nie
jest możliwe np. płynne (punkt po punk−
cie) przesuwanie napisu, jak to ma miejs−
ce np. we wszystkim znanych reklamach
typu „płynące napisy”. Taka możliwość
istnieje w graficznych wyświetlaczach
LCD, ale to temat na zupełnie inny arty−
kuł. Jak się okazuje w praktyce, na typo−
wych wyświetlaczach tekstowych możli−
wa jest w miarę czytelna realizacja prze−
suwania tekstów informacyjnych, może
w nieco mniej efektownej formie, lecz
w czytelny, a zarazem efektowny spo−
sób. W końcu nie tylko o „bajery” nam
przecież chodzi, lecz o czystą funkcjonal−
ność zastosowanego elementu.
Istnieje wiele wersji tekstowych wy−
świetlaczy LCD, główną cechą odróżnia−
jąca je od siebie jest liczba lini−
i oraz liczba znaków w 1 linii.
I tak jeżeli mówimy że wy−
świetlacz jest typu 2x16,
oznacza to że może on wy−
świetlić maksymalnie 2 linie
tekstu po 16 znaków w każ−
dej. Na rynku spotykane są
także inne wersje, mające od
1 do 8−miu linii tekstu, w każ−
dej z nich może być wypisa−
nych od 8−miu znaków aż do
40−tu, co w prawdziwych
„gigantach” tej klasy daje
możliwość wyświetlenia sporej wielkości
tekstu o 320 znakach. W praktyce jednak
spotykane są ograniczone wersje pozwa−
lające na wyświetlenie połowy lub jednej
czwartej tej ilości, co w większości zasto−
sowań w zupełności wystarcza.
Inną cecha, która odróżnia poszczegól−
ne modele wyświetlaczy tekstowych to
sposób sterowania nimi. Zanim jednak
o niej powiem chcę Ci coś uświadomić.
Jak pewnie wiesz drogi Czytelniku,
w przypadku prostych wyświetlaczy np.
7−segmentowych LCD każdy z segmen−
tów danej cyfry jest sterowany, (czyli ga−
szony i zapalany) oddzielnie. Najczęściej
taki sposób sterowania wymusza wypro−
wadzenie poszczególnych segmentów
wszystkich cyfr na zewnątrz, co zwięk−
sza liczbę końcówek do np. 32 w przy−
padku wyświetlacza 4 cyfry (4 x 7seg−
mentów = 28 + 4 kropki dziesiętne
= 32). A teraz popatrz na wyświetlacz
tekstowy LCD, aby np. w taki sposób
wyświetlić 4 znaki, wyświetlacz musiał−
by mieć aż ... 140 wyprowadzeń! (140
= 4 matryce po 35 punktów, każda mat−
ryca ma 5 x 7punktów), nie licząc elek−
trody wspólnej, to zbyt dużo jak na moż−
liwości przeciętnego układu elektronicz−
nego. Dlatego producenci inteligentnych
tekstowych wyświetlaczy LCD musieli
uprościć sterowanie takim elementem,
tworząc nie tylko sam wyświetlacz LCD
(pole odczytowe) ale cały moduł
sterujący. W skład takiego modułu wcho−
dzi zazwyczaj także specjalizowany układ
scalony nazywany kontrolerem sterują−
cym wyświetlacza. Układ taki montowa−
ny jest fizycznie technologią montażu po−
wierzchniowego na cienkiej płytce dru−
kowanej, która jednocześnie stanowi
„podstawę”, do której za pomocą meta−
lowej klamry przymocowane jest szklane
pole odczytowe. Często oprócz wspo−
mnianego sterownika, na płytce znajdują
się dodatkowe układy, których zadaniem
jest przechowywanie znaków wpisanych
przez użytkownika. Całość stanowi bar−
dzo zwartą konstrukcję, jak widać na fo−
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”,
wreszcie definiowania własnych znaków
Rys. 1. Pole odczytowe typowego wyświetlacza tekstowego i wersji graficznej LCD
E LEKTRONIKA DLA WSZYSTKICH 11/97
25
222918947.010.png
Podręczny poradnik elektronika
użytkownika, co w przypadku naszego al−
fabetu ma szczególne znaczenie.
I tu powraca temat drugiej cechy jaka
odróżnia między sobą poszczególne wer−
sje inteligentnych wyświetlaczy LCD,
chodzi mianowicie o wspomniany spo−
sób sterowania czyli protokół transmisji
między wyświetlaczem a światem ze−
wnętrznym.
Istnieje bowiem na rynku wielu produ−
centów takich modułów, a wśród nich kil−
ka standardów określających „język poro−
zumiewania” się wyświetlaczy. Najbar−
dziej jednak rozpowszechnionym jest
standard opracowany przed laty przez ja−
pońską firmę Hitachi, a wdrożony w posta−
ci mikrosterownika o nazwie HD44780.
Układ ten jest właśnie wspomnianym
„pomostem” i fizycznie znajduje się na
każdym module z tego standardu. Skoro
padło słowo „standard” to znaczy że spo−
sób komunikacji wyświetlacza jest taki
sam niezależnie ile ma on znaków w lini−
i czy samych linii w polu odczytowym.
Różne są tylko możliwości wyświetlania
co do długości danego tekstu.
Jest to prawda, a jak realizuje się to
dokładnie w przypadku opisywanych mo−
dułów zapoznasz się za chwilę.
Na rysunku 2 pokazano schemat bu−
dowy typowego modułu wyświetlacza
ków minus 16 znaków na HD44780 = 64
: 16 = 4 układy drajwerów). Przedstawio−
ny przykład widoczny jest także na zdję−
ciu, na którym widać odwrotną stronę
modułu wyświetlacza, czyli płytkę druko−
waną ze wspomnianymi układami steru−
jącymi.
0...+5V, i drugi przypadek, kiedy to do
prawidłowego wyświetlenia informacji
potrzebne jest ujemne napięcie polaruzy−
jące wejście Vo zazwyczaj z zakresu −
5V...0V. Wtedy to niezbędne staje się za−
stosowanie przetwornicy odwracającej
polaryzację napięcia. Oczywiście istnieją
moduły nie wymagające
ujemnego zasilania, jednak
przy zakupie często nie−
określonego typu warto
przewidzieć te pierwszą
możliwość. Z reguły modu−
ły w wersji z pojedynczym
napięciem zasilającym są
droższe od wersji wymaga−
jących podwójnego zasila−
nia (+5V, −5V), tak że zdarza
się że koszt modułu w tań−
szej wersji plus koszt prze−
twornicy jest mniejszy od
ceny zakupu modułu z pojedynczym zasi−
laniem. Nie jest to jednak regułą w zależ−
ności od źródła pochodzenia wyświetla−
cza. Regulacja kontrastu w praktyce jest
realizowana za pomocą pojedynczego po−
tencjometru montażowego umieszczo−
nego poza modułem LCD w układzie ste−
rującym użytkownika. Spotykane są tez
wersje modułów posiadające swój włas−
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.
Na rysunku 3 pokazano praktyczny
sposób uniezależnienia się od
„kaprysów” tekstowych wyświetlaczy
Jak dotąd opis modułu może wyda−
wać się nieco skomplikowany, nie należy
się tym jednak przejmować. Z punktu wi−
dzenia użytkownika do praktycznego za−
stosowania wyświetlacza nie jest po−
trzebna znajomość jego struktury we−
wnętrznej.
Cały moduł porozumiewa się z otocze−
niem za pomocą widocznych na rysun−
ku 2 jedenastu linii sterujących. Do tego
Rys. 2. Typowa budowa wewnętrzna modułu LCD
tekstowego opartego o wspomniany
kontroler HD44780. Zasadnicze pole od−
czytowe LCD jest sterowane za pomocą
trzech grup sygnałów. Dwie pierwsze ge−
nerowane są przez sam kontroler, trzecia
pochodzi od dodatkowych układów zna−
jdujących się na płytce modułu zwanych
drajwerami. Jeden drajwer może obsłu−
żyć maksymalnie do 16−tu matryc znako−
wych (16−tu znaków). Dlatego w zależ−
ności od ilości wyświetlanych znaków
w danym module drajwerów może być
więcej. Należy przy tym wspomnieć że
sam kontroler HD44780 potrafi samo−
dzielnie obsłużyć 16 znaków. Dlatego np.
dla wyświetlacza LCD 2x40 znaków na
płytce oprócz kontrolera HD44780 (pier−
wsze 16 znaków) znajdą się dodatkowe
cztery układy drajwerów (2x40=80 zna−
dochodzą także
dwa przewody za−
silania VDD i VSS
oraz jeden do re−
gulacji kontrastu
Vo. O ile z reguły
moduły można za−
silać stabilizowa−
nym napięciem
+5V (VDD=5V,
VSS =GND), o tyle
sprawa się nieco
komplikuje w przy−
padku napięcia Vo.
Otóż istnieją dwa
przypadki, kiedy to
napięcie to leży
w zakresie napięć
zasilających, czyli
Rys. 3. Praktyczny sposób regulacji kontrastu wyświetlacza
poprzez przykładowy układ przetwornicy +5V / −5V
26
E LEKTRONIKA DLA WSZYSTKICH 11/97
222918947.011.png 222918947.001.png 222918947.002.png 222918947.003.png 222918947.004.png
Podręczny poradnik elektronika
LCD w przypadku niewiado−
mego źródła pochodzenia. Po−
kazany schemat prostej prze−
twornicy +5V / −5V składa się
tylko z jednego niewielkiego
układu scalonego oraz 3 kon−
densatorów elektrolitycznych.
Ponieważ sam scalak
ICL7660 jest dość tani i do−
datkowo umieszczony w obu−
dowie DIP−8 nie powinien
sprawić dużego kłopotu kon−
struktorowi, którym jesteś
przecież Ty. Przetwornicę
można zrealizować także in−
nym sposobem stosując wy−
próbowane układy „pom−
pujące” oparte zazwyczaj na
inwerterach CMOS np. serii
74HC04 lub podobnych. Przy−
kładowy projekt takiego roz−
wiązania ukazał się w nume−
rze: 7/96 EdW na str. 43. Po−
bór prądu z ujemnego źródła
zasilania w przypadku modu−
łów wyświetlaczy tekstowych
nie przekracza 1 mA, dzięki
temu wymogi prądowe zasto−
sowanej przetwornicy są mi−
nimalne.
Tyle jeżeli chodzi o sprawy
zasilania modułów. Na koniec
ogólnego przedstawienia mo−
dułów informacja dotycząca
generowanych przez moduł
znaków. Otóż aby wyświetlić
jakiś znak np. literę „K” nie
trzeba „mówić” modułowi,
które kropki na matrycy (5x7)
ma zapalić, wystarczy poin−
formować go tylko o chęci
wyświetlenia akurat tego zna−
ku – litery. Jak zapewne
wiesz wszystkie znaki alfabe−
tu łacińskiego , cyfry, oraz do−
datkowe znaki specjalne są
ponumerowane i noszą tzw.
kody (kody ASCII, czytaj:
aski), czyli każdemu znakowi
odpowiada liczba, akurat
w tym przypadku z zakresu
0...255. Jak pewnie zauważy−
łeś jest to liczba 8−bitowa
(2 8 – 1 = 255). Stąd nasuwa
Ci się zapewne słuszna myśl
że wyświetlacz potrafi poka−
zać 256 znaków, co w przy−
bliżeniu jest prawdą. Dlatego aby wy−
świetlić podaną w przykładzie literę, wy−
starczy podać na linie sygnałowe D0...D7
(tzw. linie danych) kombinację „zer”
i „jedynek” odpowiadającą binarnie ko−
dowi litery „K” czyli liczbie 75 (dziesięt−
nie) lub 01001011 (binarnie). Jeszcze na−
leży w odpowiedni sposób ustawić pozo−
stałe (widoczne na rysunku 2) sygnały
0000 0010 0011 0100 0101 0110 0111 1010 1011 1100 1101 1110 1111
0000
CG
RAM
(1)
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Rys. 4. Zawartość generatora znaków CG ROM (matryca znaku 5×7)
RW, RS i E, aby upragniona literka poka−
zała się na wyświetlaczu. Prawda że
proste! Dokładny przepis na „te ciasto”
podam za chwilę. Istotne jest abyś wie−
dział że oprócz elementów wchodzących
w skład modułu a opisanych wcześniej,
wchodzi także tzw. generator znaków,
fachowo zwany „CG ROM” (ang. „Cha−
racter Generator ROM”). Fizycznie jest
to wbudowana w strukturę sterownika
HD44780 pamięć typu ROM z umiesz−
czonymi kombinacjami zgaszonych i za−
palonych „kropek” w matrycy danego
znaku. Dlatego podając tylko kod danej li−
tery lub symbolu, wybierasz z CG ROM
konkretny układ matrycy odpowiadający
interesującej Cię literze, który następnie
służy jako wzorzec do wyświetlenia zna−
E LEKTRONIKA DLA WSZYSTKICH 11/97
27
Starszy
Młodszy
222918947.005.png
Podręczny poradnik elektronika
ku na wyświetlaczu. Pojemność genera−
tora znaków CG ROM jest określona
w danych technicznych przedstawionych
poniżej. Dodatkowo zwykle CG ROM za−
wiera dwa zestawy znaków: jeden to
znaki w matrycy 5 x 7punktów, drugi to
znaki 5 x 10 punktów. W praktyce tych
drugich używa się rzadko, ze względu na
to że znane nam litery ze znanego Ci al−
fabetu łacińskiego i tak korzystają jedy−
nie z pierwszych 35 punktów (5x7). Do−
datkowe 15 punktów jest wykorzystane
przez znaki o kodach z zakresu
128...255, gdzie producent układu
HD44780 umieścił niektóre znaki i sym−
bole ze swego ojczystego języka – praw−
dopodobnie japońskiego.
Oczywiście wybór jednego z przed−
stawionych zestawów znaków (5x7 czy
5x10) zależy od użytkownika, warto jed−
nak wiedzieć że nie wszystkie moduły
pozwalają na wyświetlanie znaków
w matrycy 5x10 punktów, co zresztą
w praktyce nie ma dla nas znaczenia,
bowiem matryca 5x7 w zupełności wy−
starcza na czytelne pokazanie wszyst−
kich liter alfabetu w tym także polskich
znaków „ąęćłóśźżĄĘĆŁÓŚŹŻ, cyfr oraz
dodatkowych znaków interpunkcyj−
nych.
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
otrzymujemy kod znaku, czyli kombinację
linii D7...D0 która powoduje wyświetle−
nie takiego znaku na wyświetlaczu. I tak
np. weźmy literę „m”: kolumna: „0110”,
wiersz: „1101”, po złożeniu powstaje
kod: 01101101, czyli dziesiętnie 109,
a więc kod naszej literki „m”.
Pierwsze 16 znaków o kodach 0...15
jest pustych. Kody te są przeznaczone na
znaki własne wymyślone przez użytkow−
nika. Znaki takie są definiowane przez te−
go ostatniego programowo, poprzez od−
powiednie ustawianie linii sterujących
modułu (D0...D7, RW,RS, E). Sposób ge−
nerowania jest dość złożony dlatego zo−
stanie omówiony w drugiej części artyku−
łu. Na razie warto wiedzieć, że użytkow−
nik w procesie definiowania znaku musi
poinformować sterownik modułu o uło−
żeniu wszystkich punktów w danej mat−
rycy znaku. Nie wystarczy więc podać tyl−
ko kod znaku, trzeba punkt po punkcie (w
praktyce wiersz po wierszu) podać kolej−
ność tych zapalonych i zgaszonych. Infor−
macja o tak utworzonym znaku użytkow−
nika jest przechowywana w dodatkowej
pamięci (także zawartej w strukturze
HD44780) zwanej pamięcią generatora
znaków użytkownika w skrócie „CG
RAM” (ang. Character Generator RAM).
CG RAM ze względu na określoną swoją
pojemność może pomieścić informację
maksymalnie o 8−miu znakach. O ile pa−
mięć CG ROM to pamięć typu ROM, czy−
li po wyłączeniu zasilania modułu infor−
macja pozostaje przechowana na stałe,
o tyle zawartość pamięci CG RAM jest
w takim przypadku tracona. Dlatego
w układach wykorzystujących moduły
tekstowe oraz dodatkowe definiowane
znaki użytkownika, należy przewidzieć
możliwość każdorazowego, automatycz−
nego wpisywania swoich znaków po włą−
czeniu zasilania, lub w innym stosownym
do tego momencie.
I choć z tabeli na rysunku 4 wydawać
by się mogło że można zdefiniować aż
16 znaków (kody: 0...15), to w praktyce
ze względu na rozmiar pamięci CG RAM,
czesnym wyświetleniem go. Otóż opera−
cja wpisania znaku polega jedynie na
umieszczeniu go we wbudowanej
w układ sterownika HD44780 tzw. pa−
mięci wyświetlania, w skrócie „DD
RAM” (ang. „Display Data RAM”). Nie−
zależnie od rodzaju wyświetlacza, a w za−
sadzie od jego wielkości, czyli de facto
ilości znaków w wierszu i ilości linii, po−
jemność DD RAM jest zawsze taka sa−
ma i wynosi 80 znaków (80 bajtów). Dla−
tego maksymalnie jednocześnie można
zapisać do modułu wyświetlacza 80 zna−
kową informację. W przypadku wyświet−
lacza LCD 2x40 znaków całość będzie
oczywiście pokazana na displeju, jednak
w przypadku mniejszego pola odczyto−
wego np. 2x16 znaków widoczna będzie
tylko pierwsza część wpisanego tekstu.
Obrazowo można by opisać zależność
tego co znajduje się aktualnie w DD
RAM a tego co jest wyświetlane, używa−
jąc określenia „okna wyświetlania”. Sy−
tuację tę obrazuje rysunek 5.
Rys. 5. Bufor znakowy DD RAM a rzeczywiście wyświetlany tekst
kody wzięte parami: 0 z 8, 1 z 9, 2 z 10
itd. dają w efekcie na wyświetlaczu ten
sam zdefiniowany znak. W efekcie moż−
liwe jest zdefiniowanie tylko 8 znaków
użytkownika. W przypadku polskich liter
załatwia to sprawę tylko dla połowy na−
szych rodzimych znaków, a co z dru−
gą? Otóż w praktyce problem ten rozwią−
zuje się poprzez definiowanie potrzebne−
go znaku lub kilku na bieżąco. Rzadko bo−
wiem zdarza się sytuacji aby jednocześ−
nie na maksymalnie 80 znakowym wy−
świetlaczu trzeba było wyświetlić więcej
niż 8 dodatkowych znaków specjalnych.
Dlatego jeżeli określony znak specjalny
jest potrzebny, wpisuje się go na miejs−
ce tego który akurat w danej informacji
jest zbędny – czyli nie występuje.
Na koniec wstępu jeszcze jedna istot−
na informacja. Otóż jak się za chwilę
przekonasz „wpisanie” dowolnego zna−
ku do modułu celem jego wyświetlenia
nie jest często równoznaczne z jedno−
Jak widać, aby wyświetlić niewidocz−
ną część tekstu, należałoby przesunąć
w lewo zawartość całej pamięci DD
RAM, do pozycji która nas akurat intere−
suje. W ten sposób można by pokazać
schowaną, a interesującą nas jego
część. W praktyce do tego celu służą in−
strukcje przesuwania zawartości bufora
DD RAM w lewo lub prawo. Przy przesu−
nięciu np. lewo o 1 całego bufora,
wszystkie kody znaków, (niczym w bajto−
wym rejestrze przesuwnym) zostają
przesunięte o jeden adres w lewo. Znak
który znajdował się na pierwszej pozycji
trafia na ostatnią, toteż żadna informacja
nie zostaje w ten sposób tracona. Zawar−
tość przy cyklicznym przesuwaniu krąży
jakby „w pętli”.
Sposób oraz opis instrukcji przesuwa−
nia oraz wielu innych znajdzie się
w drugiej części artykułu.
Ciąg dalszy w następnym numerze.
Słławomiir Surowiińskii
28
E LEKTRONIKA DLA WSZYSTKICH 11/97
222918947.006.png 222918947.007.png
 
Zgłoś jeśli naruszono regulamin