V tomto výučbe sa chystáme prepojiť klávesnicu 4x4 (16 kláves) s mikrokontrolérom ATMEGA32A. Vieme, že klávesnica je jedným z najdôležitejších vstupných zariadení používaných v projektoch elektroniky. Klávesnica je jedným z najjednoduchších spôsobov, ako zadávať príkazy alebo pokyny elektronickému systému.
Súčasti sú povinné
Hardvér: ATMEGA32, napájací zdroj (5 V), AVR-ISP PROGRAMÁTOR, JHD_162ALCD (16 * 2LCD), kondenzátor 100 uF, kondenzátor 100 nF, odpor 10 KΩ (8 kusov).
Softvér: Atmel studio 6.1 alebo Atmel studio 6.2, progisp alebo flash magic.
Schéma zapojenia a pracovné vysvetlenie
V obvode PORTB ATMEGA32 je pripojený k dátovému portu LCD. Tu si treba pamätať, že je potrebné deaktivovať komunikáciu JTAG v PORTC alebo ATMEGA zmenou bajtov poistky, ak chcete použiť PORTC ako normálny komunikačný port. Na 16x2 LCD displeji je 16 pinov, ak je podsvietenie, ak nie je podsvietenie, bude 14 pinov. Jeden môže napájať alebo nechať kolíky podsvietenia. Teraz v 14 kolíkoch je 8 dátových kolíkov (7-14 alebo D0-D7), 2 kolíky napájacieho zdroja (1 a 2 alebo VSS & VDD alebo gnd & + 5v), 3. kolík na kontrolu kontrastu (VEE - určuje, aké silné by mali byť znaky) (zobrazené na obrázku) a 3 ovládacie kolíky (RS & RW & E).
V obvode môžete pozorovať, že som vzal iba dva ovládacie piny, čo dáva flexibilitu, kontrastný bit a READ / WRITE sa často nepoužívajú, takže môžu byť skratované k zemi. Toto nastavuje LCD do najvyššieho kontrastu a režimu čítania. Potrebujeme iba ovládať piny ENABLE a RS, aby sme mohli zodpovedajúcim spôsobom odosielať znaky a údaje.
Pripojenia, ktoré sa vykonávajú pre LCD, sú uvedené nižšie:
PIN1 alebo VSS na zem
PIN2 alebo VDD alebo VCC na napájanie + 5 V.
PIN3 alebo VEE na zem (poskytuje maximálny kontrast najlepšie pre začiatočníkov)
PIN4 alebo RS (výber registra) na PD6 uC
PIN5 alebo RW (čítanie / zápis) na zem (prepnutie LCD do režimu čítania uľahčuje komunikáciu pre používateľa)
PIN6 alebo E (povoliť) na PD5 uC
PIN7 alebo D0 až PB0 uC
PIN8 alebo D1 až PB1 uC
PIN9 alebo D2 až PB2 uC
PIN10 alebo D3 až PB3 uC
PIN11 alebo D4 až PB4 uC
PIN12 alebo D5 až PB5 uC
PIN13 alebo D6 až PB6 uC
PIN14 alebo D7 až PB7 uC
V obvode vidíte, že sme použili 8-bitovú komunikáciu (D0-D7), nie je to však povinné, môžeme použiť 4-bitovú komunikáciu (D4-D7), ale so 4-bitovým komunikačným programom sa stáva trochu zložitejšou. Takže iba z pozorovania vyššie uvedenej tabuľky pripájame 10 pinov LCD k ovládaču, v ktorom 8 pinov sú dátové piny a 2 piny pre riadenie.
Teraz si povieme niečo o klávesnici, klávesnica nie je nič iné ako multiplexované klávesy. Tlačidlá sú prepojené v multiplexovanej forme, aby sa znížilo využitie pinov riadiaceho systému.
Ak vezmeme do úvahy, že máme klávesnicu 4x4, na tejto klávesnici máme 16 tlačidiel, v bežných prípadoch potrebujeme 16 pinov ovládača na prepojenie 16 tlačidiel, čo však z hľadiska riadiaceho systému nie je dobré. Toto použitie pinov je možné znížiť pripojením tlačidiel v multiplexnej podobe.
Napríklad máme 16 tlačidiel a chceme ich pripojiť k ovládaču, aby vytvorili klávesnicu, tieto klávesy sú usporiadané tak, ako je to znázornené na obrázku:
Tieto tlačidlá sú spojené spoločnými stĺpcami, ako je to znázornené na obrázku:
Ako je znázornené na obrázku, neoznačené konce všetkých štyroch tlačidiel sa pretiahnu, aby sa vytvorili stĺpce, takže pre 16 klávesov máme štyri stĺpce.
Ak zabudneme spojenia stĺpcov vyššie a spojíme spoločné označené konce všetkých štyroch tlačidiel dohromady, aby sme vytvorili riadok:
Ako je znázornené na obrázku, pre 16 klávesov budeme mať štyri riadky, ako je to znázornené na obrázku.
Teraz, keď sú obaja videní spolu, dostaneme niečo ako obvod nižšie:
Tu sme pripojili 16 kľúčov v multiplexovanej podobe, aby sme znížili využitie pinov radiča. V porovnaní s prvým prípadom spojenia 16 klávesov sme potrebovali 16 pinov na radiči, ale teraz po multiplexovaní potrebujeme jednoducho 8 pinov radiča na pripojenie 16 kľúčov.
Za normálnych okolností sa toto nachádza na klávesnici:
Ako je znázornené na obrázku vyššie, vo vyššie uvedenej klávesnici je 16 klávesov a každé z týchto kláves predstavuje tlačidlo v konfigurácii multiplexovaného tlačidla. A tiež je tu 8 pinových pripojení, ako je znázornené na obrázku vyššie, symbolizujúcich multiplexované pripojenie.
Teraz k práci:
Klávesnica má tu štyri stĺpce a štyri riadky, pre identifikáciu stlačeného tlačidla použijeme metódu krížového odkazu. Tu najskôr pripojíme všetky stĺpce alebo všetky riadky k vcc, takže ak sú riadky pripojené k spoločnému vcc, budeme brať stĺpce ako vstupy do radiča.
Teraz, ak je stlačené jedno tlačidlo, ako je to znázornené na obrázku:
Potom prúdi obvodom prúd, ako je znázornené na nasledujúcom obrázku:
Máme teda vysokú C1 na stlačenie tlačidla. V tejto chvíli posunieme napájací a vstupný port, to znamená, napájame stĺpce a vezmeme riadky ako vstupy, Týmto spôsobom dôjde k toku energie, ako je znázornené na nasledujúcom obrázku:
Takže pre rad máme R1 vysokú.
Odteraz máme v prvom prípade výšku C1 a v druhom prípade R1, takže máme maticovú pozíciu tlačidla, teda číslo „jedna“.
Ak je stlačené druhé tlačidlo, budeme mať C1 ako stĺpec, ale vysoká logika, ktorú dostaneme v spoločnom stĺpci, bude 'R2'. Takže budeme mať C1 a R2, teda budeme mať maticovú pozíciu druhého tlačidla.
Takto napíšeme program, spojíme osem pinov klávesnice s ôsmimi pinmi radiča. A na začiatok napájame štyri piny ovládača na napájanie štyroch riadkov klávesnice, v tomto okamihu sa ostatné štyri piny berú ako vstupy. Keď je stlačené tlačidlo, zodpovedajúci pin stĺpca je vytiahnutý a tak sa pin ovládača vytiahne, bude to rozpoznané, aby sa zmenil vstup na napájanie a napájanie na vstup, takže ako vstupy budeme mať riadky.
Týmto dostaneme tlačidlo stlačené používateľom. Táto maticová adresa je smerovaná na príslušné číslo a toto číslo je zobrazené na LCD displeji.
Fungovanie prepojenia klávesnice s mikrokontrolérom avr je vysvetlené krok za krokom v C kóde uvedenom nižšie. Môžete tiež skontrolovať: prepojenie klávesnice s mikrokontrolérom 8051.