Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … · · 2011-04-08Inteligentny...
Click here to load reader
Transcript of Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … · · 2011-04-08Inteligentny...
Inteligentny wyświetlacz alfanumeryczny
Elektronika Praktyczna 5/9730
P R O J E K T Y
Inteligentny wyświetlaczalfanumeryczny, część 1kit AVT−324
Siedmiosegmentowewyúwietlacze LED umoøliwiaj¹
od dawna najtaÒszeprzedstawianie informacji
w†urz¹dzeniachelektronicznych. Niestety, ze
wzglÍdu na ograniczonemoøliwoúci wyúwietlania
innych, poza cyframi, znakÛwalfabetu, nie nadaj¹ siÍ do
wielu zastosowaÒ. Tam gdziejest wymagane np.
wyúwietlenie tekstu corazczÍúciej stosuje siÍ
alfanumeryczne modu³y LCD.Co jednak zrobiÊ, gdy
informacja powinna byÊdobrze widoczna z†wiÍkszejodleg³oúci niø 1m? Problemten rozwi¹zuje urz¹dzenie
opisane w†artykule.
Zamierzeniem autora by³oskonstruowanie inteligentnego,zgodnego z†dotychczasowymi stan-dardami, a†przy tym uniwersalne-go modu³u wyúwietlacza, ktÛryprzy niewielkich rozmiarach i†jed-noczeúnie jak najwiÍkszym poluodczytowym moøna wykorzystaÊpraktycznie wszÍdzie.Najistotniejszymi zaletami
przedstawionego rozwi¹zania s¹:moøliwoúÊ kaskadowego ³¹czenia
maksymalnie 10 takichmodu³Ûw, co zwiÍkszapojemnoúÊ do 80 zna-kÛw oraz pe³na kompa-tybilnoúÊ ze úwiatowymstandardem interfejsuwyúwietlaczy, wylanso-wanym przed kilkomalaty przez japoÒski kon-cern Hitachi.Tak wiÍc wszyscy
uøytkownicy znakowychwyúwietlaczy LCD, opar-tych o†standardowy ste-rownik typu HD44780,bÍd¹ mogli w†razie po-trzeby zastosowaÊ na-sze urz¹dzenie, prak-tycznie bez przerÛbekhardware'u i†oprogra-mowania steruj¹cegomodu³em.Czytelnikom, ktÛrzy
do tej pory nie zetknÍlisiÍ z†inteligentnymi wy-
úwietlaczami LCD, naleøy siÍ wy-jaúnienie, iø nasze urz¹dzenie mo-øe spe³niaÊ rolÍ uniwersalnegowyúwietlacza znakowego, sterowa-nego za pomoc¹ dowolnego ste-rownika mikroprocesorowego,b¹dü opartego np. na pamiÍciEPROM. DziÍki temu, oraz dziÍkimoøliwoúci kaskadowego ³¹czeniawielu modu³Ûw jednoczeúnie,w†prosty sposÛb bÍdzie moønabudowaÊ np. tablice informacyjne,reklamowe, modu³y wyúwietlaniaw†przyrz¹dach pomiarowych, u-rz¹dzeniach powszechnego uøytkuoraz wiele innych. W†kolejnychnumerach EP zaproponujemy wy-konanie prostej przystawki opartejo†pamiÍÊ EPROM/EEPROM, dziÍ-ki ktÛrej nie wtajemniczonyw†technikÍ mikroprocesorow¹ Czy-telnik bÍdzie mia³ moøliwoúÊ ste-rowania przedstawionym urz¹dze-niem.
Opis uk³aduSchemat blokowy pojedyncze-
go modu³u przedstawia rys.1.Wiersze oúmiu matryc LED (5x7)s¹ sterowane poprzez rejestrywierszy (RW), kolumny zaú zapoúrednictwem wzmacniaczy 5†ko-lumn (DK). Sygna³y dla RW i†DKs¹ generowane przez mikroproce-sor - sterownik (MPU), ktÛryposiada wbudowany generator 112znakÛw ASCII (CG ROM - ang.
Dane techniczne modułu AVT−324 pole odczytowe: 8 znaków (matryce LED 5x7 punktów o wys.18
mm), interfejs sterujący: kompatybilny z HD44780, sygnały sterujące: E, RS, RW, D0..D7 (tryby pracy: interfejs 4−
bitowy lub 8−bitowy), monitorowanie zajętości dzięki fladze BUSY FLAG, pamięć wyświetlacza: maksymalnie 80 pozycji (10 modułów
w trybie 2−liniowym), pamięć generatora znaków: 112 znaków ASCII, w tym wszyst−
kie polskie znaki narodowe (duże i małe), możliwość programowania 8 znaków użytkownika, wbudowana obsługa kursora, atrybutu znaku i przesuwania tek−
stu, atrybuty znaku: normalny i migający, atrybuty kursora: normalny (2−wierszowy), pełny (cała matry−
ca), dodatkowe instrukcje: czyszczenie pola, przesuwanie kursora,
adresowanie pamięci wyświetlania (DD RAM) oraz generatoraznaków (CG ROM i RAM),
rozszerzenie: 2 linie po 5 modułów każda (80 znaków), napięcie zasilania: 5V, pobór prądu: typ. 280mA (standardowy tekst), maks. 500mA
(zapalone wszystkie 280 pól), wymiary: 122,8 x 29,5 mm (4,83” x 1,16”), głębokość ok. 30
mm w zależności od sposobu montażu, konstrukcja umożliwiająca łączenie modułów w linie bez efektu
zmiany rozstawu kolejnych pozycji wyświetlacza.
Inteligentny wyświetlacz alfanumeryczny
31Elektronika Praktyczna 5/97
Character Generator ROM), pa-miÍÊ znakÛw uøytkownika (CGRAM) oraz pamiÍÊ przechowuj¹cawyúwietlany tekst (DD RAM -ang. Display Data RAM). AbyzapewniÊ kompatybilnoúÊ sygna-³Ûw steruj¹cych z†pierwowzoremmikrosterownika LCD HD44780,niezbÍdne okaza³o siÍ zastosowa-nie dodatkowego hardware'owegosprzÍgu z†interfejsem uøytkownika(IFC). DziÍki temu, przyúpieszonokomunikacjÍ z†modu³em poprzez re-alizacjÍ obs³ugi flagi zajÍtoúci BUSYFLAG, implementowanej w†sterow-nikach standardu Hitachi.Do komunikacji ze úwiatem
zewnÍtrznym modu³ wykorzystuje11 sygna³Ûw: 3†steruj¹ce (E†- enab-le signal, R/W - data read/write,RS - instruction/data select) oraz8-bitow¹, dwukierunkow¹ szynÍdanych (D0..D7). DziÍki nim uøyt-kownik moøe wpisaÊ znak lubrozkaz do modu³u, lub odczytaÊjego stan. Znaczenie poszczegÛl-nych sygna³Ûw oraz sterowaniemodu³em opiszemy w†dalszejczÍúci artyku³u.Przy kaskadowym po³¹czeniu
wielu modu³Ûw sterowanych po-przez jedn¹ szynÍ, niezbÍdne oka-za³o siÍ zastosowanie dodatkowe-go sygna³u (ISG). Linia ta nie jestabsolutnie zwi¹zana z†interfejsemuøytkownika, a†stanowi jedyniewewnÍtrzny sygna³ do komuniko-wania siÍ miÍdzy poszczegÛlnymimodu³ami rozbudowanego wy-úwietlacza.Wszystkie sygna³y steruj¹ce
oraz zasilanie wyprowadzono nadwurzÍdowe, standardowe z³¹czetypu AFC-16. Rozk³ad wyprowa-dzeÒ przedstawia rys.2. Dodatko-wy sygna³ ISG jest na 16. wypro-wadzeniu tego z³¹cza. DziÍki ta-kiemu rozwi¹zaniu, w†prosty spo-sÛb, za pomoc¹ jednej 16-øy³owejtaúmy moøna ìspinaÊî wiele mo-
du³Ûw na raz, co czyni konstruk-cjÍ bardzo zwart¹ oraz ograniczaliczbÍ po³¹czeÒ do minimum.
Schemat elektryczny czÍúcimikroprocesorowej modu³u poka-zany jest na rys.3.
Sercem uk³adu jest uk³ad U1.Zastosowano tani 8-bitowy mikro-komputer jednouk³adowy, kompa-tybilny z†procesorem 8051. Uk³adzawiera w†swojej strukturze 128bajtÛw wewnÍtrznej pamiÍci RAM,2kB reprogramowalnej pamiÍciEEPROM typu ìFlashî oraz szeregdodatkowych blokÛw funkcjonal-nych, dziÍki ktÛrym realizacjaprojektu zosta³a uproszczona dominimum. Mikroprocesor posiadadwa uniwersalne porty wejúcia/wyjúcia, dziÍki ktÛrym wysy-³a wszystkie niezbÍdne sygna³ypotrzebne do sterowania matryca-mi LED i†odbioru informacji wejúcio-wej z†interfejsu uøytkownika. Zna-czenie poszczegÛlnych sygna³Ûwna liniach portÛw jest nastÍpuj¹-ce:DATA - linia transmisji synchro-nicznej danych do 64-bitowegorejestru steruj¹cego wiersze mat-ryc LED (8 uk³adÛw 74LS164),
CLK - sygna³ taktuj¹cy (zegarowy)dla transmisji danych do rejes-trÛw wierszy;
D0/D1..D6/D7 - multipleksowane(z pomoc¹ uk³adu U4) liniewejúciowe odebranego z†inter-fejsu wejúciowego 8-bitowego zna-ku lub rozkazu uøytkownika;
RS - linia wejúciowa odczytuj¹castan wejúcia RS interfejsu zez³¹cza Z1;
A/B - sygna³ wyboru bardziej lubmniej znacz¹cej ìpo³Ûwkiî baj-tu z†linii D0..D7 z³¹cza Z1;
ACK - sygna³ wyjúciowy zeruj¹cyflagÍ zajÍtoúci (BUSY FLAG),co informuje o†zakoÒczeniu wy-konywania wewnÍtrznej opera-cji przez U1;
A,B,C - linie wyboru aktywnej(zapalonej) kolumny w†matry-cach LED;
INT - sygna³ informuj¹cy mikro-procesor U1, øe w†interfejsiewejúciowym znajduje siÍ goto-wa do odbioru dana lub rozkaz;
ADR - wejúcie odczytu stanuprze³¹cznikÛw adresowych SW1;
BUSY - sygna³ zajÍtoúci modu³upodczas wykonywanej operacjiprzez U1, wykorzystywany tyl-ko do porozumiewania siÍ po-miÍdzy po³¹czonymi kilkomamodu³ami jednoczeúnie. Sygna³ten nazywany dalej ìISGî niewymaga sterowania przez uøyt-kownika.Uk³ad U3, wraz z†programowa-
n¹ matryc¹ logiczn¹ typu GAL -U2, tworz¹ interfejs do komuni-kacji z†systemem steruj¹cym wy-úwietlaczem. Ze wzglÍdu na nie-wystarczaj¹c¹ liczbÍ linii mikro-procesora U1 uøyto dodatkowegouk³adu 4-krotnego multipleksera2-wejúciowego U4. Jego zadaniemjest selekcja ìpo³Ûwekî bajtu z†re-jestru U3 i†transmisja ich domikroprocesora U1. W†ten sposÛbza pomoc¹ 5†linii (4 danych +1†steruj¹ca A/B) moøna przekazaÊ8-bitow¹ liczbÍ do U1.Uk³ad U3 pe³ni rolÍ zatrzasku
danych pojawiaj¹cych siÍ na li-niach D0..D7. Generacj¹ sygna³ustrobowania tego uk³adu zajmujesiÍ uk³ad U2. OprÛcz tego, uk³adGAL pe³ni kilka dodatkowychfunkcji, a†mianowicie:
Rys. 1. Schemat blokowy prezentowanego modułu.
Rys. 2. Opis złącza wyświetlacza.
Inteligentny wyświetlacz alfanumeryczny
Elektronika Praktyczna 5/9732
pe³ni role dodatkowego 1-bitowego rejestru do przecho-wania stanu wejúcia RS (Z1); generuje sygna³ przerwaniaINT dla procesora U1 informu-j¹cy o†nadejúciu danej lub roz-kazu; ìsprzÍtowoî ustawia flagÍzajÍtoúci BUSY FLAG, imple-mentowan¹ w†sterownikachHD44780, natychmiast po nade-júciu danych na linie D0..D7oraz zeruje j¹ po potwierdze-niu sygna³em ACK z†mikropro-cesora U1.
Rys.4 przedstawia wewnÍtr-zny uk³ad kombinacyjnyìzaszytyî w†strukturze GAL-a U2. DziÍki takiemu roz-wi¹zaniu unikniÍto uøy-cia kilku dodatkowych,standardowych uk³adÛw
serii TTL LS lub HCT, coprzyczyni³o siÍ do zmniejsze-
nia gabarytÛw modu³u wy-úwietlacza.
Liniami przerywanymi narysunku zaznaczono ze-wnÍtrzne sprzÍøenia, nie-zbÍdne do prawid³owegofunkcjonowania uk³aduU2.Do sterowania tran-
zystorami za³¹czaj¹cymikolumny w†matrycachLED (anody diod) s³uøyuk³ad U5 - dekoderkodu BCD na 1†z†10,z†wyjúciami typu OC.Mikroprocesor U1 poda-j¹c odpowiedni¹ kombi-nacjÍ sygna³Ûw A,B,Cna wejúcia 15,14,13 de-kodera U5, powodujepojawienie siÍ stanu ì0îna jednym z†jego wyjúÊi†w†konsekwencji za³¹-czenie jednego z†piÍciutranzystorÛw T1..T5.Do wyjúÊ dekodera
do³¹czono takøe, po-przez diody D2..D5,prze³¹cznik 4-sekcyjnySW1. Pojawiaj¹ce siÍ lo-giczne ì0î na jednejz†katod diod powodujezwarcie do masy wejúcia
ADR mikroprocesora U1, je-øeli zwarta jest odpowiedniasekcja SW1. W†ten prostysposÛb, za pomoc¹ tylko jed-nej linii ADR, procesor od-
czytuje stan ca³ego prze³¹cznika.Rezystory R2 i†R3 podci¹gaj¹Rys. 3. Schemat elektryczny modułu sterującego.
Inteligentny wyświetlacz alfanumeryczny
33Elektronika Praktyczna 5/97
linie DATA i†CLK procesora U1do plusa zasilania. Jest to ko-nieczne ze wzglÍdu na to, øekoÒcÛwki P1.0 i†P1.1 kontroleraU1, w†trybie pracy jako wyjúcia,s¹ typu otwarty dren. Dodatkowyrezystor R4 spe³nia podobn¹ rolÍdla linii BUSY procesora U1. SposÛbmontaøu tego elementu oraz zna-czenie zwory J1 przedstawimyw†dalszej czÍúci artyku³u podczasopisu uruchamiania modu³u.Elementy X1, C1 i†C2 stanowi¹
zewnÍtrzny obwÛd generatora ze-garowego procesora U1. Zastoso-wanie kwarcu o†czÍstotliwoúci pod-stawowej 20MHz przyúpieszy³o pra-cÍ ca³ego urz¹dzenia oraz jegoreakcje na sterowanie z†zewn¹trz.Rezystor R1, †dioda D3 i†kon-
densator C3 umoøliwiaj¹ prawid-³owy start procesora U1 po w³¹-czeniu napiÍcia zasilaj¹cego.Dodatkowe kondensatory C4,
C7..C9 blokuj¹ linie zasilaj¹cew†pobliøu uk³adÛw scalonych nap³ytce sterownika, a†C5 i†C6 dodat-kowo filtruj¹ napiÍcie zasilaj¹ce.Na rys.5 jest przedstawiona
czÍúÊ uk³adu zwi¹zana ze sterowa-niem wierszy poszczegÛlnych mat-ryc. Jak widaÊ, dziÍki zastosowa-niu 8-bitowych rejestrÛw 74LS164liczbÍ linii steruj¹cych ograniczo-no do niezbÍdnego minimum -7†linii.Rejestry U6..U13 pe³ni¹ takøe
rolÍ wzmacniaczy mocy, bowiembezpoúrednio steruj¹ one katoda-mi wszystkich 8†matryc LED. Re-zystory R11..R66 ograniczaj¹ pr¹dwp³ywaj¹cy do wyjúÊ rejestrÛw dowartoúci bezpiecznej. Zbyt uprosz-czone, wydawaÊ by siÍ mog³o,
sterowanie matrycamiLED w†praktyce oka-za³o siÍ wystarczaj¹-ce. Przy zastosowa-niu markowych mat-ryc, np. Kingbrighttyp TA07-11, jasnoúÊwyúwietlanej infor-macji jest wysoka,a†uk³ady U13..U20nie nagrzewaj¹ siÍpowyøej 40oC†pod-czas wielogodzinnejpracy ca³ego modu³u.Rejestry wierszy
po³¹czone s¹ szerego-wo, a ostanie wyjúciebajtu danych QH po-³¹czone jest z†we-júciem nastÍpnego re-
jestru. Wszystkie kostki U6..U13taktowane s¹ oczywiúcie wspÛl-nym sygna³em zegarowym. We-júcia zeruj¹ce CLR zosta³y niepod-³¹czone, bowiem czyszczenie wy-úwietlacza - rejestrÛw 74LS164,odbywa siÍ poprzez wpisanie sa-mych jedynek przez mikroproce-sor U1 za poúrednictwem liniiDATA.
Ostatnie, najstarsze wyjúcie QHuk³adu U13 steruje dodatkow¹diod¹ LED, ktÛra fizycznie umiesz-czona jest na tylnej úciance mo-du³u. Zadaniem tego elementujest wizualne informowanie ope-ratora (np. serwisanta) o†popra-wnej pracy urz¹dzenia. Dioda D6úwieci, gdy modu³ jest w†trakcieodbierania i†przetwarza-nia informacji wprowa-dzanej na z³¹cze Z1.Gaúnie, gdy modu³ jestwolny i†oczekuje naprzyjÍcie nastÍpnego po-lecenia. Oczywiúcie,w†praktyce nie musimymontowaÊ tej diody, leczjej uøycie jest pomocne,szczegÛlnie gdy buduje-my wyúwietlacz z³oøonyz†wiÍkszej liczby modu-³Ûw AVT-324.
K o n d e n s a t o r yC10..C17 blokuj¹ liniezasilaj¹ce uk³ady rejest-rÛw 74LS164.
Na schemacie z rys.5 przedstawiono dodat-kowo wygl¹d zastosowa-nej matrycy LED oraz jejstrukturÍ wewnÍtrzn¹.Z†uk³adu po³¹czeÒ 35diod LED w†matrycy ³at-
wo jest wywnioskowaÊ sposÛb jejsterowania w†przedstawionymuk³adzie wyúwietlacza.
Zasada dzia³aniaPo zapoznaniu siÍ ze wszyst-
kimi blokami funkcjonalnymiurz¹dzenia moøemy przeanalizo-waÊ sposÛb jego dzia³ania. Napocz¹tku wyjaúnijmy znaczenieposzczegÛlnych sygna³Ûw steruj¹-cych modu³em (tabela 1).W†tabeli nie ujÍto dodatkowe-
go sygna³u ISG, ktÛry nie jestzwi¹zany z†interfejsem uøytkow-nika, a†s³uøy jedynie do komuni-kowania siÍ pomiÍdzy pojedynczymiwyúwietlaczami AVT-324 w†wy-padku pracy wielomodu³owej.Przeanalizujmy sytuacjÍ, kiedy
zewnÍtrzny uk³ad steruj¹cy prac¹modu³u zapisuje kolejny znak dowyúwietlenia. Rys.6a przedstawiapojedynczy cykl zapisu do inter-fejsu wejúciowego Z1. Po odpo-wiednim ustawieniu sygna³Ûw ste-ruj¹cych: R/W=0 bo zapis, RS=1bo dana do zapisu, a†nastÍpniepodaniu na szynÍ danych D0..D7bajtu do zapisu, odblokowujemywyúwietlacz podaj¹c dodatni im-puls na wejúcie E†(en-enable). Pat-rz¹c na rys.4 zauwaømy, øe wrazz†nadejúciem narastaj¹cego zboczasygna³u E†ustawione zostan¹ prze-rzutniki /RS w†uk³adzie GAL. Po-czynaj¹c od gÛry (rys.4): na wy-júciu przerzutnika RSOUT ustawisiÍ stan logiczny jaki jest na pinie
Rys. 4. Schemat przedstawiający wnętrze GALa.
Tabela 1.Pin na Z1 Symbol Poziom Znaczenie
1 GND − masa zasilania2 Vcc − zasilanie +5V3 NC nie dołączone4 RS H/L “data/instruction select” −
− rodzaj informacji na wejściuD0..D7“H” gdy instrukcja“L” gdy dana (znak do wyświet−lenia)
5 R/W H/L “read/write” − − sygnał odczytu lub zapisu domodułu“H” gdy odczyt“L” gdy zapis
6 E (EN) L→H→L “enable signal” − uaktywnieniewyświetlacza
7 D0 H/L8 D1 H/L9 D2 H/L linie danych
10 D3 H/L D0..D711 D4 H/L12 D5 H/L13 D6 H/L14 D7 H/L
Inteligentny wyświetlacz alfanumeryczny
Elektronika Praktyczna 5/9734
wejúciowym RS, wyjúciedrugiego przerzutnika INTprzejdzie w†stan niski ge-neruj¹c sygna³ przerwaniana wejúciu procesora U1(INT1 - patrz Rys.3). DziÍ-ki zewnÍtrznemu po³¹cze-niu wyjúcia GAL oznaczo-nego jako OUT z†wejúciemIN uzyskamy moøliwoúÊmonitorowania (odczytu)wyjúcia BF, ktÛre zostajeodblokowane sygna³em ze-zwolenia bramki 3-stano-wej. Dok³adnie sytuacjÍ tÍprzedstawia Rys.6b. Zasto-sowanie t rÛ j s t anowe jbramki w†strukturze GALpozwala na w³¹czeniemodu³u (lub wielu mo-du³Ûw) w†dowolny sys-tem mikroprocesorowy,bez potrzeby stosowaniadodatkowych buforÛw po-úrednicz¹cych.
Ze wzglÍdu na aktywo-wanie interfejsu IFC syg-na³em E, a†w³aúciwie jegonarastaj¹cym zboczem, pa-rametry czasowe przebie-gÛw z†rys.6a i†b†nie s¹krytyczne, a†wartoúci mi-nimalne opÛünieÒ zawie-raj¹ siÍ w†granicach pro-pagacji dwÛch po³¹czo-nych szeregowo bramektypu HCT, a†wiÍc kilku-nastu nanosekund.
Takøe czas trwania syg-na³u E†moøe wynosiÊ po-niøej 100 ns, z tego wzglÍ-du, øe steruje on przerzut-nikiem typu /RS (patrzrys.3). Istotne jest abyprzed nadejúciem tego syg-na³u ustawiÊ linie R/W,RS oraz dane na szynieD0..D7. Reszt¹ zajmuje siÍuk³ad IFC i†mikroprocesor.
Wyjaúnienia wymagajeszcze sposÛb komunika-cji pomiÍdzy wieloma mo-du³ami. OtÛø, aby zapew-niÊ moøliwoúÊ ³¹czenia kil-ku modu³Ûw w†jeden wiÍk-szy wyúwietlacz, za pomo-c¹ tej samej magistrali ste-ru j ¹ c e j (E ,R /W, RS ,D0..D7), naleøa³o uporz¹d-kowaÊ informacjÍ, ktÛra na-p³ywa do kaødego modu³uw†tej samej chwili. Najlep-szym rozwi¹zaniem tegoproblemu okaza³o siÍ ìa-Rys. 5. Schemat elektryczny płytki wyświetlaczy.
Inteligentny wyświetlacz alfanumeryczny
35Elektronika Praktyczna 5/97
dresowanieî pola odczytowego kaø-dego modu³u.SytuacjÍ tÍ dok³adnie wyjaúnia
rys.7. Kaødy modu³ fizycznie jesttakim samym urz¹dzeniem, zawie-ra 40-pozycyjn¹ pamiÍÊ do prze-chowywania wyúwietlanych zna-kÛw (a dlaczego nie 80-znakow¹- wyjaúnimy za chwilÍ), taki samgenerator 112 znakÛw ASCII oraztak¹ sam¹ pamiÍÊ generatora zna-kÛw uøytkownika. RÛønica jedy-nie polega na okreúleniu offsetu,czyli przesuniÍcia tzw. okna wy-úwietlania dla kaødego modu³uoddzielnie. Zauwaømy wszakøe,øe modu³ posiada jedynie 8 po-zycji do wyúwietlenia znaku,a†wewnÍtrzna pamiÍÊ przechowu-je ich aø 40. DziÍki takiemurozwi¹zaniu sterowanie kilkomamodu³ami ìspiÍtymiî w†jedenwiÍkszy wyúwietlacz jest takiesame jak pojedynczym modu³em.Naleøy jedynie, po fizycznym
zamocowaniu poszczegÛlnych mo-du³Ûw w†urz¹dzeniu docelowym,ustawiÊ odpowiedni adres wspo-mnianego ìoknaî. W†praktyce ad-res ustawiany jest za pomoc¹umieszczonych na p³ytce kaødegomodu³u trzech mikroprze³¹czni-kÛw, o ktÛrych wspomnieliúmywczeúniej (SW1).Te same uwagi odnosz¹ siÍ do
sterowania kursorem, ktÛry jest
d o s t Í p n y wnaszym module.Przy pracy wie-l o m o d u ³ o w e jkursor znajdujesiÍ zawsze tylkow†jednym miejs-cu na okreúlonejpozycji wyúwiet-lacza. Przesuwa-nie kursora np.z†ostatniej mat-rycy modu³u nr1†na pierwsz¹pozycjÍ modu³unr 2†nastÍpujeautomatycznie,tak jak w†przy-padku obs³ugiwyúwietlanegotekstu. Istotnejest, øe kursorzawsze wskazu-je na aktualnyadres w†pamiÍciDD RAM, nieza-leønie od tegoczy jest zapalo-
ny, czy zgaszony.Ze wzglÍdu na ograniczony
rozmiar pamiÍci RAM w†mikro-procesorze steruj¹cym modu³emU1, obszar adresowy podzielonona dwie linie po 40 pozycjikaøda. Fizycznie numer linii jestdodatkowym adresem kaødego mo-du³u a†wyboru jej dokonuje siÍ zapomoc¹ czwartego mikroprze³¹cz-nika. RÛønica miÍdzy opisanymwczeúniej offsetem okna polegajednak na tym, øe kaøda liniawyúwietlacza (z³oøona maksymal-nie z†5†modu³Ûw) zawiera odrÍb-n¹ pamiÍÊ wyúwietlanych zna-kÛw.
Pierwsza linia wyúwietlaczamieúci pamiÍÊ wyúwietlania (DDRAM) o†adresach 00h..27h (40pozycji), druga zaú to adresy:40h..67h (takøe 40 pozycji), cow†sumie pozwala na pokazanie,wspomnianych w†danych tech-nicznych, 80 znakÛw.W†przypadku, gdy uøytkownik
wysy³a znak pod adres np. 55h,modu³y z†ustawion¹ lini¹ 2 zaak-ceptuj¹ go i†umieszcz¹ w†swojejpamiÍci DD RAM. W†efekcie tenz†modu³Ûw w†linii 2, ktÛrego of-fset jest rÛwny 16 (10 hex),wyúwietli na 6-tej (5-tej numeru-j¹c od 0) matrycy LED ø¹danyznak. Obliczmy: 40h + 10h + 5†=55h = adres, 40h - bo 2†linia, 10h- offset drugiego modu³u, 5†-numer matrycy LED. Oczywiúcie,modu³y z†linii 1†zignoruj¹ tenodebrany znak.Uøytkownicy wyúwietlaczy tek-
stowych LCD zauwaø¹ w†tym miej-scu logiczn¹ konsekwencjÍ takiejorganizacji pamiÍci wyúwietlaniaznakÛw (DD RAM), ktÛra przyniedostatecznej iloúci pamiÍciRAM pozwala na zachowanie kom-patybilnoúci programowej z†punk-tu widzenia uøytkownika. Rys.8ilustruje organizacjÍ pamiÍci przywyborze sterowania wyúwietlaczem1†i†2-liniowym. Jak widaÊ, w po-rÛwnaniu z†pierwowzorem (sterow-nikiem LCD HD44780) nasze roz-wi¹zanie posiada ograniczeniemaksymalnej liczby wyúwietlanychznakÛw w†trybie 1-liniowym tj. do40 pozycji.Jednak przy pracy 2†linie po
40 znakÛw wyúwietlacz zachowu-je siÍ jak przewiduje wspomnianystandard sterownikÛw LCD.
Rys. 6. Przebiegi charakteryzujące interfejs wyświetlacza.
Rys. 7. Sposób wyświetlania informacji na kilku połączonych modułach.
Inteligentny wyświetlacz alfanumeryczny
Elektronika Praktyczna 5/9736
Dodatkowy sygna³ ISG (rys.1),s³uø¹cy do komunikowania siÍmodu³Ûw w†obrÍbie jednego wy-úwietlacza, spe³nia w³aúciwie rolÍwspÛlnej linii do analizy zajÍtoúcikaødego z†modu³Ûw.
OtÛø zgodnie z†przebiegiemz†rys.6a po zapisie danej (RS=1)lub rozkazu (RS=0) do modu³u,mikroprocesor potrzebuje okreúlo-nego czasu na wykonanie wewnÍt-rznych operacji, polegaj¹cych naodebraniu danej z†interfejsu IFCoraz umieszczeniu jej na wyúwiet-laczu. Czas ten z†regu³y nie prze-kracza kilkudziesiÍciu mikrose-kund, a†najlepsz¹ wspomnian¹ juøme4od¹ jest odczytywanie flagizajÍtoúci (BUSY FLAG).
Tak wiÍc, w†momencie zg³o-szenia przerwania (INT) przezuk³ad GAL - U2, mikroprocesorU1 najpierw ustawia stan niski nadodatkowej linii ISG (patrz rys.2).NastÍpnie odczytuje dan¹ z†rejes-tru U3, itd. Kiedy wszystkie ope-racje zostan¹ zakoÒczone, uk³adU1 zaczyna badaÊ stan linii ISG,do ktÛrej przecieø s¹ do³¹czonepozosta³e modu³y. Mikroprocesorkaødego modu³u czeka na mo-ment, kiedy na linii wyst¹piponownie stan wysoki. Poniewaøpodczas odczytu przez mikropro-cesor stanu koÒcÛwki P3.7, pinportu znajduje siÍ w†stanie wy-sokiej impedancji, niezbÍdne sta³osiÍ zastosowanie dodatkowego re-zystora podci¹gaj¹cego R4. Rezys-tor taki moøe byÊ wlutowanytylko w†jednym ze wszystkichpo³¹czonych modu³Ûw. Aczkol-wiek wyposaøenie w†niego kaøde-go modu³u AVT-324 nie wp³ynieujemnie na pracÍ ca³ego uk³adu.
Zauwaømy teraz, øe jeøeli mik-roprocesor w†kaødym module za-koÒczy operacjÍ wewnÍtrzn¹, tona linii ISG zgodnie z†zasad¹iloczynu montaøowego powstaniestan wysoki. Procesor U1 wykry-waj¹c to, wyúle sygna³ ACK douk³adu GAL - U2, ktÛry skasuje
ustawion¹ wczeúniejflagÍ zajÍtoúci BUSYFLAG. Na wyjúciu BFuk³adu U2 ustali siÍ(przy odczycie) stanniski, co sygnalizujefakt gotowoúci do przy-jÍcia kolejnego znakulub rozkazu przez wy-úwietlacz. Ze wzglÍduna fakt wyst¹pienia ta-
kiego stanu w†kaødym z†modu³Ûwzastosowano zworÍ J1. ZworÍ tÍnaleøy montowaÊ tylko w†jednymmodule ca³ego wyúwietlacza, po-zostawiaj¹c w†pozosta³ych sygna³z†koÒcÛwki 17 U2 odciÍty.Wnikliwy czytelnik zauwaøy,
øe taki sposÛb arbitraøu na liniiISG jest prosty, a†jednoczeúniepoprawny. Pomimo øe w†kaødymmodule moment zakoÒczenia wy-konywania wewnÍtrznych opera-cji moøe byÊ nieco rÛøny w†cza-sie, to zawsze ca³y wyúwietlaczjest gotowy do odebrania nastÍp-nej informacji w†jednej chwili(kiedy ostatni z†modu³Ûw bÍdziegotÛw).Na koniec istotna uwaga do-
tycz¹ca dodatkowej funkcji, jak¹spe³nia sygna³ INT pochodz¹cyz†uk³adu U2. OtÛø, oprÛcz rolizg³oszenia przerwania dla proce-sora U1, synchronizuje on takøewewnÍtrzne zegary wszystkichmodu³Ûw w†przypadku pracy wie-lomodu³owej. Wykorzystano tufakt jednoczesnego nadejúcia da-nej do interfejsu IFC kaødego z†mo-du³Ûw. Drobne rÛønice (rzÍdu mik-rosekund) w†synchronizacji miganiaprzy czÍstotliwoúci 2Hz nie maj¹wp³ywu na efekt wyúwietlaniamigaj¹cego kursora lub znakÛwz†ustawionym atrybutem.Synchronizacja taka okaza³a siÍ
niezbÍdna, bowiem przy d³uøszejpracy kilku po³¹czonych modu-³Ûw lub przy nierÛwnomiernymich starcie po w³¹czeniu zasilania,wystÍpowa³ efekt ìrozjeødøaniaîsiÍ efektu migotania znakÛwi†symboli.Sławomir Surowiński, AVT
Opracowanie oprogramowaniasteruj¹cego przedstawionym urz¹dze-niem by³o wspomagane ìEmulatoremprocesora 87C51î ktÛry jest dostÍpnyjako kit AVT-288.Uk³ady U1 w†wersji handlowej
programowano ìProgramatorem pro-cesorÛw MCS-51î - kit AVT-320.
Rys. 8. Adresowanie poszczegółnych pozycjiwyświetalcza.
WYKAZ ELEMENTÓW
RezystoryR1: 8,2kΩR2..R4: 10kΩR5..R9: 91ΩR10: 300ΩR11..R66: 68ΩKondensatoryC1, C2: 27..30pFC3: 10µF/16VC4, C7..C17: 100nFC5, C6: 220µF/6,3VPółprzewodnikiU1: 89C2051−24MHz zaprogramo−wany AVT−324U2: GAL16V8B zaprogramowanyAVT−324U3: 74HCT574U4: 74HCT157U5: 74LS145U6..U13: 74LS164 (nie stosowaćzamienników)T1..T5: BC327..9D1: 1N4148 lub odpowiednikD2..D5: BAT85 (BAT43, lub innamałej mocy Schottky'ego)D6: LED 3mmDM1..DM8 *): TA07−11 (EWA,GWAlub YWA) Kingbrightlub odpowiednikRóżneX1: rezonator kwarcowy 20MHzSW1: SW−DIP 4J1: goldpin 1x2 + jumperZ1: gnizado AWP−16 prostewtyk AFC−16, 1szt.taśma 16−żył, 30 cmpodstawki pod układy: U1..U5
Uwaga: w skład kitu AVT−324B niewchodzą matryce LED. Można jezamawiać oddzielnie w DzialeHandlowym.