Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny...

7

Click here to load reader

Transcript of Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny...

Page 1: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.

Page 2: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.

Page 3: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.

Page 4: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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

Page 5: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.

Page 6: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.

Page 7: Inteligentny wyœwietlacz alfanumeryczny P R O J E K T Y … ·  · 2011-04-08Inteligentny wyœwietlacz alfanumeryczny 32 Elektronika Praktyczna 5/97 pe‡ni role dodatkowego 1-bitowego

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.