V tej vadnici bomo povezali tipkovnico 4x4 (16 tipk) z mikrokrmilnikom ATMEGA32A. Vemo, da je tipkovnica ena najpomembnejših vhodnih naprav, ki se uporablja v elektronskih projektih. Tipkovnica je eden najlažjih načinov za dajanje ukazov ali navodil elektronskemu sistemu.
Potrebne komponente
Strojna oprema: ATMEGA32, napajalnik (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), kondenzator 100uF, kondenzator 100nF, upor 10KΩ (8 kosov).
Programska oprema: Atmel studio 6.1 ali Atmel studio 6.2, progisp ali flash magic.
Shema vezja in delovna razlaga
V vezju PORTB ATMEGA32 je priključen na podatkovni vhod LCD. Tu ne pozabite onemogočiti komunikacije JTAG v PORTC ot ATMEGA s spremembo bajtov varovalk, če želite PORTC uporabiti kot običajna komunikacijska vrata. Na 16x2 LCD-ju je 16 zatičev, če obstaja osvetlitev ozadja, če ni osvetlitve ozadja, bo 14 zatičev. Lahko napajate ali pustite zatiče zadnje luči. Sedaj v 14 zatiči obstaja 8 podatkovnih zatiči (7-14 ali D0-D7), 2 Mrežni zatiči (1 & 2 ali VSS in VDD ali gnd in +5), 3 rd pin za nadzor kontrasta (vee-kontrole kako debela mora biti znake prikazano) in 3 krmilne nožice (RS & RW & E).
V vezju lahko opazite, da sem vzel le dva krmilna zatiča, kar daje prožnost, kontrastni bit in READ / WRITE se ne uporabljajo pogosto, tako da jih je mogoče kratko spojiti na maso. To LCD zaslon postavi v najvišji kontrast in način branja. Samo nadzorovati moramo ENABLE in RS pin, da ustrezno pošljemo znake in podatke.
Povezave za LCD so podane spodaj:
PIN1 ali VSS na ozemljitev
PIN2 ali VDD ali VCC do + 5v moči
PIN3 ali VEE na tla (za začetnike daje največji kontrast)
PIN4 ali RS (Register Selection) na PD6 uC
PIN5 ali RW (branje / pisanje) na ozemljitev (LCD v načinu branja olajša komunikacijo za uporabnika)
PIN6 ali E (Omogoči) do PD5 uC
PIN7 ali D0 do PB0 uC
PIN8 ali D1 do PB1 uC
PIN9 ali D2 do PB2 uC
PIN10 ali D3 do PB3 uC
PIN11 ali D4 do PB4 uC
PIN12 ali D5 do PB5 uC
PIN13 ali D6 do PB6 uC
PIN14 ali D7 do PB7 od uC
V vezju lahko vidite, da smo uporabili 8-bitno komunikacijo (D0-D7), vendar to ni obvezno, lahko uporabimo 4-bitno komunikacijo (D4-D7), vendar s 4-bitnim komunikacijskim programom postane nekoliko zapleten. Torej iz zgolj opazovanja zgornje tabele povežemo 10 zatičev LCD na krmilnik, v katerem so 8 zatiči podatkovni zatiči in 2 zatiči za nadzor.
Zdaj pa se pogovorimo o tipkovnici, tipkovnica ni nič drugega kot multipleksirane tipke. Gumbi so povezani v multipleksirani obliki, da se zmanjša uporaba pin-a krmilnega sistema.
Razmislimo, da imamo tipkovnico 4x4, v tej tipkovnici imamo 16 gumbov, v običajnih primerih potrebujemo 16 zatičev krmilnika za vmesnik 16 gumbov, vendar to z vidika nadzornega sistema ni dobro. To uporabo pinov lahko zmanjšate tako, da gumbe povežete v multipleksni obliki.
Na primer, pomislimo, da imamo 16 gumbov in ga želimo pritrditi na krmilnik, da se tvori tipkovnica. Te tipke so razporejene, kot je prikazano na sliki:
Ti gumbi so povezani s skupnimi stolpci, kot je prikazano na sliki:
Kot je prikazano na sliki, se neznačeni konci vsakih štirih gumbov povlečejo, da tvorijo stolpec, zato imamo za 16 tipk štiri stolpce.
Če pozabimo na zgornje povezave stolpcev in med seboj povezane skupne označene konce vsakih štirih gumbov oblikujemo vrstico:
Kot je prikazano na sliki, bomo imeli za 16 tipk štiri vrstice, kot je prikazano na sliki.
Zdaj, ko sta oba videna skupaj, dobimo nekaj podobnega spodnjemu vezju:
Tukaj smo povezali 16 tipk v multipleksirani obliki, da zmanjšamo uporabo pinov krmilnika. V primerjavi s prvim primerom povezanih 16 ključev smo na krmilniku potrebovali 16 nožic, zdaj pa po multipleksiranju potrebujemo le 8 nožic krmilnika za povezavo 16 ključev.
Običajno je to tisto, kar je predstavljeno znotraj tipkovnice:
Kot je prikazano na zgornji sliki, je v zgornji tipkovnici 16 tipk in vsaka od teh tipk predstavlja gumb v konfiguraciji multipleksiranega gumba. Obstaja tudi 8-polnih povezav, kot je prikazano na zgornji sliki, ki simbolizira multipleksirano povezavo.
Zdaj za delo:
Tukaj ima tipkovnica štiri stolpce in štiri vrstice, za identifikacijo pritisnjenega gumba pa bomo uporabili metodo navzkrižnega sklicevanja. Tukaj bomo najprej povezali vse stolpce ali vse vrstice z vcc, torej, če so vrstice povezane s skupnim vcc, bomo stolpce vzeli kot vhode v krmilnik.
Zdaj, če pritisnete gumb ena, kot je prikazano na sliki:
Po tem tok teče skozi vezje, kot je prikazano na spodnji sliki:
Tako imamo C1 visoko, za pritisk na gumb. V tem trenutku bomo premaknili vrata za napajanje in vhod, to pomeni, napajali bomo stolpce in kot vhode jemali vrstice, S tem bo pretok moči prikazan na spodnji sliki:
Za vrsto imamo torej R1 visoko.
Zdaj imamo v prvem primeru C1 visoko in v drugem R1 visoko, zato imamo matrični položaj gumba, torej številko "ena".
Če pritisnete drugi gumb, bomo imeli C1 kot stolpec, toda visoka logika, ki jo dobimo v skupnem stolpcu, bo 'R2'. Tako bomo imeli C1 in R2, zato bomo imeli matrični položaj drugega gumba.
Tako bomo napisali program, osem zatičev tipkovnice bomo povezali z osmimi zatiči krmilnika. In za začetek napajamo štiri nožice krmilnika za napajanje štirih vrstic tipkovnice, v tem trenutku so drugi štirje zatiči vhodni. Ko pritisnete gumb, se ustrezni zatič stolpca potegne navzgor in tako zategne zatič krmilnika, bo to prepoznano za spremembo vhoda v moč in moči vhoda, zato bomo imeli vhode vrstice.
S tem dobimo gumb, ki ga pritisne uporabnik. Naslovi te matrike so usmerjeni na ustrezno številko in ta številka je prikazana na LCD-prikazovalniku.
Delovanje vmesnikov tipkovnice z mikrokrmilnikom avr je razloženo po korakih v spodnji C-kodi. Preverite lahko tudi: povezovanje tipkovnice z mikrokrmilnikom 8051.