V tomto tutoriálu budeme propojovat klávesnici 4x4 (16 kláves) s mikrokontrolérem ATMEGA32A. Víme, že klávesnice je jedním z nejdůležitějších vstupních zařízení používaných v projektech elektroniky. Klávesnice je jedním z nejjednodušších způsobů, jak dávat příkazy nebo pokyny elektronickému systému.
Požadované komponenty
Hardware: ATMEGA32, napájecí zdroj (5 V), AVR-ISP PROGRAMÁTOR, JHD_162ALCD (16 * 2LCD), kondenzátor 100 uF, kondenzátor 100 nF, odpor 10 KΩ (8 kusů).
Software: Atmel studio 6.1 nebo Atmel studio 6.2, progisp nebo flash magic.
Schéma zapojení a pracovní vysvětlení
V obvodu PORTB ATMEGA32 je připojen k datovému portu LCD. Zde je třeba pamatovat na deaktivaci komunikace JTAG v PORTC nebo ATMEGA změnou bajtů pojistek, pokud chcete použít PORTC jako normální komunikační port. Na 16x2 LCD je 16 kolíků, pokud je podsvícení, pokud není podsvícení, bude 14 kolíků. Jeden může napájet nebo nechat kolíky podsvícení. Nyní ve 14 kolíky jsou 8 datových kolíky (7-14 nebo D0-D7), 2 napájecí kolíky elektrárny (1 & 2 nebo VSS a VDD nebo GND a + 5 V), 3 rd kolík pro řízení kontrastu (VEE-určuje, jak silná znaky musí být a 3 ovládací piny (RS & RW & E).
V obvodu můžete pozorovat, že jsem vzal pouze dva ovládací piny, což dává flexibilitu, kontrastní bit a READ / WRITE se často nepoužívají, takže mohou být zkratovány na zem. LCD se tak dostane do režimu nejvyššího kontrastu a čtení. Abychom mohli odpovídajícím způsobem odesílat znaky a data, musíme pouze ovládat piny ENABLE a RS.
Připojení, která se provádí pro LCD, jsou uvedena níže:
PIN1 nebo VSS k zemi
PIN2 nebo VDD nebo VCC na + 5V napájení
PIN3 nebo VEE k zemi (poskytuje maximální kontrast nejlepší pro začátečníky)
PIN4 nebo RS (výběr registru) na PD6 uC
PIN5 nebo RW (čtení / zápis) na zem (přepnutí LCD do režimu čtení usnadňuje uživateli komunikaci)
PIN6 nebo E (povolit) na PD5 uC
PIN7 nebo D0 až PB0 uC
PIN8 nebo D1 až PB1 uC
PIN9 nebo D2 až PB2 uC
PIN10 nebo D3 až PB3 uC
PIN11 nebo D4 až PB4 uC
PIN12 nebo D5 až PB5 uC
PIN13 nebo D6 až PB6 uC
PIN14 nebo D7 až PB7 uC
V obvodu můžete vidět, že jsme použili 8bitovou komunikaci (D0-D7), ale to není povinné, můžeme použít 4bitovou komunikaci (D4-D7), ale se 4bitovým komunikačním programem se stává trochu složitější. Takže z pouhého pozorování výše uvedené tabulky připojujeme 10 pinů LCD k řadiči, ve kterém 8 pinů jsou datové piny a 2 piny pro ovládání.
Nyní hovoříme o klávesnici, klávesnice není nic jiného než multiplexované klávesy. Tlačítka jsou připojena v multiplexované formě, aby se snížilo využití pinů řídicího systému.
Vezměte v úvahu, že máme klávesnici 4x4, na této klávesnici máme 16 tlačítek, v normálních případech potřebujeme 16 pinů řadiče k propojení 16 tlačítek, ale to z hlediska řídicího systému není dobré. Toto použití pinů lze snížit připojením tlačítek v multiplexní formě.
Vezměme si například, že máme 16 tlačítek a chceme je připojit k ovladači a vytvořit klávesnici, tyto klávesy jsou uspořádány podle obrázku:
Tato tlačítka jsou spojena společnými sloupci, jak je znázorněno na obrázku:
Jak je znázorněno na obrázku, neoznačené konce všech čtyř tlačítek jsou taženy, aby se vytvořily sloupce, a tak pro 16 kláves máme čtyři sloupce.
Pokud zapomeneme připojení sloupců výše a spojíme společné označené konce každých čtyř tlačítek dohromady, abychom vytvořili řádek:
Jak je znázorněno na obrázku, pro 16 kláves budeme mít čtyři řádky, jak je znázorněno na obrázku.
Nyní, když jsou oba viděni společně, dostaneme něco jako obvod níže:
Zde jsme připojili 16 klíčů v multiplexované formě, abychom snížili využití pinů řadiče. Ve srovnání s prvním případem připojených 16 klíčů jsme potřebovali 16 pinů na řadiči, ale nyní po multiplexování potřebujeme jednoduše 8 pinů řadiče pro připojení 16 klíčů.
Za normálních okolností se toto zobrazuje na klávesnici:
Jak je znázorněno na obrázku výše, na výše uvedené klávesnici je 16 kláves a každá z těchto kláves představuje tlačítko v konfiguraci multiplexovaných tlačítek. A také existuje 8 pinových připojení, jak je znázorněno na obrázku výše, symbolizující multiplexované připojení.
Nyní k práci:
Klávesnice zde má čtyři sloupce a čtyři řádky, pro identifikaci stisknutého tlačítka použijeme metodu křížového odkazu. Zde nejprve připojíme všechny sloupce nebo všechny řádky k vcc, takže pokud jsou řádky připojeny ke společnému vcc, vezmeme sloupce jako vstupy do řadiče.
Nyní, pokud je stisknuto tlačítko jedna, jak je znázorněno na obrázku:
Poté obvodem protéká proud, jak je znázorněno na následujícím obrázku:
Takže máme C1 vysokou pro stisknutí tlačítka. V tuto chvíli se chystáme přesunout napájecí a vstupní porty, tj. Napájíme sloupce a vezmeme řádky jako vstupy, Tím dojde k toku energie, jak je znázorněno na následujícím obrázku:
Takže pro řadu máme R1 vysokou.
Od této chvíle máme v prvním případě vysokou C1 a ve druhém R1 vysokou, takže máme maticovou pozici tlačítka, tedy číslo „jedna“.
Pokud je stisknuto druhé tlačítko, budeme mít C1 jako sloupec, ale vysoká logika, kterou dostaneme ve společném sloupci, bude 'R2'. Takže budeme mít C1 a R2, proto budeme mít maticovou pozici druhého tlačítka.
Takto napíšeme program, připojíme osm pinů klávesnice k osmi pinům řadiče. A pro začátek napájíme čtyři piny řadiče pro napájení čtyř řad klávesnic, v tomto okamžiku jsou další čtyři piny považovány za vstupy. Když je stisknuto tlačítko, odpovídající kolík sloupce je vytažen nahoru a tak se pin ovladače vytahuje nahoru, bude to rozpoznáno, aby se změnil vstup na výkon a výkon na vstup, takže budeme mít řádky jako vstupy.
Tím získáme stisknutí tlačítka uživatelem. Tato maticová adresa je směrována na odpovídající číslo a toto číslo je zobrazeno na LCD.
Fungování propojení klávesnice s mikrokontrolérem avr je vysvětleno krok za krokem v C kódu uvedeném níže. Můžete také zkontrolovat: propojení klávesnice s mikrokontrolérem 8051.