Mikrokontroleri-68HC11

Autor: Velimir Cvetković ing.el

 

Kontakt: cveve@eunet.yu

Povezivanje male tastature

Svaki iole složeniji uređaj zahteva unošenje ili promenu pojedinih parametara. Jedan od načina da se to obavi je korišćenje tastature.

5b161.jpg (12911 bytes)

Postoje različiti tipovi tastatura kao i različiti nazivi za njih. U engleskom jeziku se mogu sresti termini “keyboard” i “keypad” . “Keyboard” predstavlja obično veliku, najčešće alfanumeričku tastaturu. Takve tasta-ture se koriste kod PC-ja. Keypad je izraz za malu tastaturu koja sadrži bro-jeve od 0 do 9 i neke tastere posebne name-ne. Od oznaka na tim tastaturama se mogu sresti i neki simboli specijalno kreirani za određenu funkciju. Tipičan predstavnik keypad tastatura je tastatura na telefonu. Ovaj članak se odnosi na te tastature.

Odabir tastature
Pri odabiru tastature treba utvrditi u kakvim će uslovima da radi uređaj koji projektujemo (vlažnost, temperatura, prljavština, tehnička kultura korisnika, itd.) a takođe koliko će se često tastatura upotrebljavati.

Značajan faktor pri odabiru tastature je i mogućnost priključivanja na uređaj i cena. Faktor cene je jasan sam po sebi i uglavnom zavisi od prethodno navedenih faktora. Povezivanje predstavlja najveću dilemu. Tastaturu je najlakše povezati tako da svaki taster koristi po jedan digitalni ulaz. U tom slučaju je program najjednostavniji. Ovo rešenje je praktično ako se ima dovoljan broj digitalnih ulaza na mikrokontroleru ili ako se koristi mali broj tastera. Sa povećanjem broja tastera povećava se komplikovanost štampane pločice, mo-ra se ko-ristiti više I/O linija na mikro-kontroleru sa, a to sve dodatno po-većava cenu ure-đaja. Zbog svih ovih razloga, kod tastatura sa većim brojem tastera (5- 20) se pribegava nekim reše-njima koja štede novac, prostor i vreme.

Odabir tastature za određenu radnu sredinu
Ako uređaj treba da radi u sredini gde je velika vlažnost vazduha ili postiji mogućnost polivanja tastature vodom ili nekom drugom tečnošću, treba odabrati tastaturu koja je hermetički zaptivena.

U slučaju da se uređaj koristi u sredini gde ima puno čestica prašine (rudnici, prehrambena industrija...) pogodne su folijske tastature. Na mestima gde se može očekivati eventualno mehaničko oštećenje tastature koriste se tastature sa posebnim kostruktivnim rešenjima. Ovakve tastature izrađuju firme KEYMAT i SECME. Tipična upotreba ovih tastatura je u javnim telefonskim govornicama.

5b162.gif (2717 bytes)
Slika 1.Najjednostavniji oblik povezivanja tastature

Ako u sredini u kojoj uređaj treba da radi postoji opasnost od elektrostatičkog pražnjenja treba odabrati tastaturu koja je konstruisana za tu namenu. Ovo je vrlo važan uslov jer elektrostatičko pražnjenje može izazvati nepouzdan rad pa i trajno oštećenje uređaja!
Odabir tastature za često korišćenje Tasteri na ovim tastaturama treba da daju pouzdan kontakt posle više stotina hiljada aktiviranja. Na raspolaganju nam stoje folijske, membranske i tastature sa provodnom gumom. Folijske tastature imaju tu manu da pucaju na mestu tastera koji se često koristi (obično je to ENTER taster). Njihova dobra osobina je ta da se mogu lako očistiti od prašine, veoma su tanke i obično su samolepljive, tako da se mogu montirati na uređaj bez velikih bušenja i mehaničkog pričvršćivanja zavrtnjima. Potrebno je napraviti samo jedan uzan prorez kroz koji bi se provukao trakasti kabal. Trakasti kabal često ima konektor na kraju. Firma 3M proizvodi ovakve tastature koje su otporne na veliki broj kiselina i baza kao i na mnoge rastvarače.
Zgodno rešenje predstavljaju tastature koje imaju mogućnost izmene pojedinih tastera. Na taj način se znatno produžava radni vek tastature.
Uobičajene karakteristike tastatura Proizvođači često deklarišu sledeće podatke: životni vek, koji predstavlja broj uključenja i obično je milion ciklusa po tasteru, radni napon i struju i prelazni otpor kontakta u zatvorenom stanju.

5b163.gif (4624 bytes)
Slika 2. Povezivanje tastera u matricu

Važan podatak je i vreme istitravanja kontakata po uključenju i isključenju. Istitravanje, koje je ustvari treperenje kontakta tastera, može biti protumačeno od strane mikrokontrolera kao višestruko aktiviranje datog tastera. Ovo vreme se povećava sa starošću tastera tako da u nekim slučajevima iznosi i više od 20ms. Premoštavanje vremena istitravanja (eng. debouncing) se može izvršiti hardverski (monostabilnim multivibratorom) ili programski. Programsko premoštavanje se izvodi tako što po detekciji zatvorenosti kontakta program “čeka” određeno vreme, definisano vremenom snirivanja kontakta, pa opet ispituje da li je taj kontakt zatvoren. Ako jeste taster je stvarno zatvoren.


Praktično povezivanje tastature

Na slici 1. prika-zan je najjednosta-vniji način povezi-vanja tastature. Svaki taster je povezan na po jedan ulazni pin mikrokontrolera. Ulazni pinovi su povezani i sa pull-up otpornicima. Njihova vrednost je od 10K do 100K. Program ispituje ulaz po ulaz. Listing 1. prikazuje način ispitivanja jednog tastera. Procedura se ponavlja za svaki taster.

5b163.gif (4624 bytes)
Slika 3. Jedan od načina povezivanja tastature uz uštedu I/O linija mikrokontrolera

Matrična tastatura
Povezivanje tastera u matricu značajno redukuje broj ulaznih pinova mikrokontrolera. Kod ovog tipa tastature treba koristiti ulazno-izlazne pinove mikrokontrolera. Postoje različiti načini povezivanja tastera u matricu. Najčešće se tasteri povezuju po vrstama i kolonama (slika 2.). Određivanje aktiviranog tastera je komplikovanije nego u prethodnom slučaju. Listing 2. Dobijeni kod cifre se obično ne koristi u ovom obliku, pa je potrebno da se prevede u heksa-decimalni oblik. Prikazana metoda se zasniva na određivanju mesta u look-up tabeli. Na slici 3. je jedan zanimljiv način povezi-vanja tastera. Za ovakvo povezivanje je potrebno samo pet ulazno-izlaznih pinova mikrokontrolera da bi se opslužilo dvadeset tastera! Isčitavanje tastature se obavlja na sledeći način: Pin PC0 se setuje kao izlazni i postavi na logičku jedinicu a pinovi PC1-PC4 se setuju kao ulazni.

"1" na pinu Očitavanje na pinu Oznaka tastera
PC0 PC1,PC2,PC3,PC4 2,3,A,E
PC1 PC0,PC2,PC3,PC4 1,6,B,F
PC2 PC0,PC1,PC3,PC4 4,5,C,G
PC3 PC0,PC1,PC2,PC4 7,8,9,H
PC4 PC0,PC1,PC2,PC3 *,0,#,D

Pošto postoje pull-down otpornici, na ulaznim pinovima je logička nula sve dok neki od tastera 2, 3, A, E ne bude aktiviran. Sledeći korak je setovanje pina PC1 kao izlaznog i postavljanje logičke jedinice na njemu, a očitavanje tastera 1, 6, B, F tj. pinova PC0, PC2, PC3 i PC4. Kompletan postupak se vidi iz tabele iznad .

listing 1.
ldaa portc                  ; PORTC je ulazni
                                ; port
anda #%00000001  ; Ispitujemo 1.taster
beq wait                    ; Vreme premoštenja
ldaa portc
anda #%00000001  ; Ponovo 1. taster
beq izlaz                    ; Taster je stvarno
                                ; pritisnut!
listing 2
pocetak ldx #regs
    ldy #cifre
start
    ldaa #$f0 ; kolone su izlazi,
                        ; redovi ulazi
    staa ddrc,x
    ldaa šf ; uzemljiti kolone
    staa portc,x
l1
    ldab portc,x ; pokupiti podatke o
                                ; zatvaranju prekidaca
    andb #$0f ; maskiranje redova
    cmpb #$0f ; taster pritisnut?
    beq l4 ; ako nije, nastavi sa
                        ;cekanjem
    clr ddrc,x
    ldaa #$0f ; kolone su ulazi, redovi
                        ; izlazi
    staa ddrc,x
    ldaa #$f0 ; uzemljiti redove
    staa portc,x
    ldaa portc,x ; prikupiti podatke o
                                ; zatvorenim prekidacima
    anda #$f0 ; maskiranje ulaza kolona
    cmpa #$f0 ; taster pritisnut?
    beq l4 ; ako nije, nastavi sa
                        ; cekanjem
    aba ; kod cifre je u
                ; akumulatoru A
listing 3.
pshx
    ldx #tabkod ; dodeljivanje cifre
                       ; odredjenom kodu
    ldab #0
l2    cmpa 0,x
    beq OK
    incb
    inx
    cpx #tabkod+10
    bne l2
    pulx
    bra start
tabkod fcb $d7,$ee,$de,$be,$ed,$dd
            fcb $bd,$eb,$db,$bb

.

Pročitajte više o ovoj temi
Bit po bit 
Povezivanje ADC-a sa 68HC11 
Serijski EEPROM, šta i kako 
Kako upaliti sijalicu?
Konverzija 
Pokrenimo štampač 
Množenje celog i realnog broja 
AD konverzija

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