Mikrokontroleri

Autor: Tomislav Ratić

E-mail: tomara@uns.ns.ac.yu

 

SMART LCD ŠTA I KAKO?

Poslednjih godina sve je više uređaja koji za indikaciju i vizuelizaciju svog rada koriste takozvane pametne displeje sa tečnim kristalom - 'Smart LCD'.

1b31.jpg (19630 bytes)

Tamo gde su nekad bili analogni ili digitalni instrumenti (npr. izvori napona i struje, punjači baterija ...) danas stoje pametni LCD-i. Postoji mnogo vrsta ovih displeja, a najčešći u upotrebi su matrični tačkasti sa jednim, dva ili četiri reda. Mogu da imaju pozadinsko osvetljenje, ima ih koji rade i u grafičkom režimu itd. Izgled tipičnog smart LCD-a dat je na slici 1.

1b32.gif (3854 bytes)
Slika 1 Tipičan pametni LCD

Obično imaju po 14 priključnih pinova od kojih su 2 za napajanje (jednostrano, 5V), jedan za podešavanje kontrasta, 3 su kontrolna, a preostalih 8 su data bitovi. Mogu da se povezuju sa svim mikrokontrolerima (Intel, Motorola, National Semiconductor, Microchip itd). Raspored pinova tipičnog pametnog LCD-a je dat u tabeli 1.

1b36.gif (11834 bytes)
Tabela 1. Pinovi pametnog LCD-a

Upotreba pametnih displeja je jednostavna. Postoji dvosmerni data bus i 3 kontrolna pina. Generisanjem negativne (opadajuće) ivice na kontrolnom pinu E (enable) vrši se upis u LCD ili iščitavanje iz njega. Pomoću pina RW (read, write) kontrološe se upis ili čitanje - 1 je za READ, 0 za WRITE. Treći kontrolni RS pin određuje da li se obraćamo instrukcijskom ili data registru. Upisom podataka u instrukcijski registar (RS = 0) definiše se na kom mestu na LCD-u treba da se pojavi karakter, može se obrisati ceo ekran, postaviti ili ukinuti kursor itd (vidi tabelu 2). Kada je RS = 1, vrši se upis ili čitanje iz DDRAM-a (Display Data Ram) ili CG RAM-a (Character Generator Ram). Upisom u DDRAM podaci se prikazuju na ekranu LCD-a. CGRAM sadrži matrične tačkaste prikaze karaktera koji se mogu ispisati na displeju. Sadržaj CGRAM-a je moguće softverski menjati, tako da se mogu prikazati i karakteri po želji korisnika. Pin broj 3 je obično pin za kontrolu kontrasta. Na slici 1. dat je način njegovog povezivanja, ali je najčešće najjednostavnije povezati ga na masu preko otpornika od nekoliko kilooma čiju vrednost treba odrediti experimentalno na osnovu uputstva proizvođača.   

1b33.gif (5744 bytes)
Slika 2. Adrese DD RAM-a

Na slici 2. prikazani su tipični jedno- i dvoredni LCD. Na slici su takođe i adrese vidljivih mesta na LCD-u na koja se ispisuju karakteri, a koje se upisuju u instrukcijski registar (DD RAM). Primećuje se da tamo gde sledeći red počinje, prethodni ne završava. U stvari postoje mesta za ispis koja se ne vide i nalaze se u produžetku reda, i koriste npr. kada želimo da prikažemo neku poruku u pomeračkom (shift) modu. Tako npr. dvoredni displej ima dva reda po 16 (trenutno) vidljivih karaktera i još 24 nevidljiva. Interesantno je da se 16-karakterni jednoredni displej sastoji od po dva 32-karakterna (od kojih su 8 vidljivi) reda koji se nastavljaju jedan na drugi.

Povezivanje pametnog LCD-a sa mikrokontrolerom 8031    

Na žalost, pametni displeji koji se mogu lako nabaviti po nižim cenama su prespori da bi se mogli “mapirati” u adresni prostor kontrolera koji radi na 12Mhz. Na prvi pogled, za jedan pametni LCD potrebno je “potrošiti” čak 11 pinova nekog mikrokontrolera. Ako se uzme npr. Intelov 8031, kada odbacimo pinove RD, WR, RXD, TXD, na rasploganju ostaje 4 pina porta P3 i ceo port P1. Posle priključivanja 11 pinova LCD-a, ostaje slobodan samo jedan pin. Ipak, pametni LCD zaslužuje pridev pametan. Negov data bus ima 8 pinova, ali LCD može da radi i sa 4-bitnim data interfejsom. Ovo znači da se LCD može povezati na mikrokontroler sa samo 7 pinova. Ako se LCD koristi samo za prikaz podataka, a ne i za iščitavanje, pin RW se može povezati na masu i broj pinova je tako smanjen na 6. Primer povezivanja pametnog LCD-a na mikrokontroler 8031 sa maximalnim i minimalnim brojem žica dat je na Slici 3.

1b34.gif (7050 bytes)
Slika 3 a. Povezivanje pametnog LCD-a na mikrokontroler 8031 sa maksimalnim brojem žica

U vezi ne korišćenja RW pina treba nešto reći. Naime, “regularno” upravljanje LCD-om zahteva da, slično kao kod npr. AD konvertora, proveravamo Busy bit LCD-a. To znači da sve dok LCD ne spusti Busy bit na nulu i time stavi do znanja da je završio sa prethodnim poslom koji mu je zadat, ne može mu se (uspešno) pristupiti.

1b35.gif (7043 bytes)

Slika 3 b. Povezivanje pametnog LCD-a na mikrokontroler 8031 sa minimalnim brojem žica

Da bi se proverilo stanje Busy bita (koji je u stvari bit 7 data busa LCD-a) mora se koristiti mod iščitavanja, tj. potreban je i RW pin. Međutim, ovo se može rešiti na zadovoljavajući način tako što se umesto proveravanja Busy-ja ubacuju softverska kašnjenja dovoljno duga da za to vreme LCD može da odradi prethodni posao. Listing koji je dat u priligu ovog članka koristi ovaj način rada. Ovo rešenje je na prvi pogled malo rogobatno, ali rad je sasvim pouzdan.

(U vezi provere Busy-ja jedan savet. Naime, provera Busy-ja se može izvesti na sledeći način (za mikrokontroler 8031):  

              ...    
             setb Busy
čekaj:     jb Busy,čekaj
             itd
             ...

Ukoliko LCD otkaže ili mu jednostavno otpadne neka žica, program može zauvek ostati u petlji kojom se proverava stanje Busy-ja. Ako je cela svrha uređaja koji koristi LCD sam LCD, tj. prikaz na njemu, onda to i nije tako strašno, jer u slučaju kvara LCD-a uređaj i inače ne obavlja svoju funkciju. Međutim ako postoje važniji poslovi koji se obavljaju (kontrola nekog procesa npr.) onda zaglavljivanje programa zbog Busy-ja i nije tako bezazleno. Doduše, zaštita je moguća i u ovom slučaju, tako što se postavi vremensko ograničenje ispitivanja Busy-ja, ali to nas opet dovodi do softverskog kašnjenja.)Test program za pametni LCD povezan na mikrokontroler 8031Kompletan listing programa za mikrokontroler 8031 koji sledi koristi 4-bitni data interfejs i uz male prepravke se može koristiti i na drugim mikrokontrolerima. Data bitovi su respektivno povezani na pinove P1.7, P1.6, P1.5 i P1.4. Pin E je na pinu P1.3, pin RS na P1.2. Upotrebljen je jednoredni LCD. Program se sastoji iz glavnog dela koji na LCD-u ispisuje reč “Mikroelektronika” koja blinkuje malom frekvencijom i potprograma za rad sa LCD-om. (Program radi i ako je LCD povezan na 8031 sa svih 8 data bitova - potrebno je samo redefinisati kontrolne pinove.) Napomena - svi tehnički podaci su za dvoredni LCD sa oznakom DV-16244 Taiwanskog proizvođača.

Tabela instrukcija Smart LCD-a

Listing lcd_4bit.asm


Pročitajte više o ovoj temi
LOOK-UP tabele 
Softverska kašnjenja
Serijska komunikacija 
Mapiranje
Razvojni sistem za intelov mikrokontroler i8031 i i8051

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji