U ovom ćemo uputstvu spojiti 4x4 (16 tipki) tipkovnicu s ATMEGA32A mikrokontrolerom. Znamo da je tipkovnica jedan od najvažnijih ulaznih uređaja koji se koriste u elektroničkim projektima. Tipkovnica je jedan od najjednostavnijih načina davanja naredbi ili uputa elektroničkom sustavu.
Komponente potrebne
Hardver: ATMEGA32, napajanje (5v), AVR-ISP PROGRAMER, JHD_162ALCD (16 * 2LCD), kondenzator 100uF, kondenzator 100nF, otpornik 10KΩ (8 komada).
Softver: Atmel studio 6.1 ili Atmel studio 6.2, progisp ili flash magic.
Kružni dijagram i radno objašnjenje

U krugu PORTB ATMEGA32 spojen je na podatkovni port LCD. Ovdje treba imati na umu onemogućavanje JTAG komunikacije u PORTC-u od ATMEGA promjenom bajtova osigurača, ako želite koristiti PORTC kao uobičajeni komunikacijski priključak. Na LCD zaslonu 16x2 postoji 16 pinova ako postoji pozadinsko svjetlo, a ako nema pozadinskog svjetla, bit će 14 pinova. Može se napajati ili ostaviti igle stražnjeg svjetla. Sada u 14 pinova postoji 8 podatkovnih pinova (7-14 ili D0-D7), 2 pina za napajanje (1 & 2 ili VSS & VDD ili gnd & + 5v), treći pinski za kontrolu kontrasta (VEE - kontrolira koliko debeli znakovi trebaju biti prikazano) i 3 upravljačka zatiča (RS & RW & E).
U krugu možete primijetiti da sam uzeo samo dvije upravljačke igle, to daje fleksibilnost, kontrastni bit i READ / WRITE se ne koriste često, tako da se mogu kratko spojiti na masu. Ovo LCD postavlja u najveći kontrast i način čitanja. Samo trebamo kontrolirati ENABLE i RS igle da bi u skladu s tim slali znakove i podatke.
Priključci koji se rade za LCD prikazani su u nastavku:
PIN1 ili VSS na masu
PIN2 ili VDD ili VCC do + 5v snage
PIN3 ili VEE na zemlju (daje maksimalni kontrast najbolji za početnike)
PIN4 ili RS (registracijski odabir) na PD6 od uC
PIN5 ili RW (čitanje / pisanje) na masu (stavlja LCD u način čitanja olakšava komunikaciju za korisnika)
PIN6 ili E (Omogući) na PD5 od uC
PIN7 ili D0 do PB0 od uC
PIN8 ili D1 do PB1 od uC
PIN9 ili D2 do PB2 od uC
PIN10 ili D3 do PB3 od uC
PIN11 ili D4 do PB4 od uC
PIN12 ili D5 do PB5 od uC
PIN13 ili D6 do PB6 od uC
PIN14 ili D7 do PB7 od uC
U krugu možete vidjeti da smo koristili 8-bitnu komunikaciju (D0-D7), međutim to nije obvezno, možemo koristiti 4-bitnu komunikaciju (D4-D7), ali s 4-bitnim komunikacijskim programom postaje pomalo složen. Dakle, iz pukog promatranja gornje tablice spajamo 10 pinova LCD-a na kontroler u kojem su 8 pinova podatkovne i 2 pina za kontrolu.
Sada razgovarajmo o tipkovnici, tipkovnica nije ništa drugo do multiplicirane tipke. Gumbi su povezani u multipleksiranom obliku za smanjenje upotrebe pin-a upravljačkog sustava.
Uzmimo u obzir da imamo 4x4 tipkovnicu, u ovoj tipkovnici imamo 16 tipki, u normalnim slučajevima trebamo 16 pinova kontrolera za povezivanje 16 tipki, ali to s gledišta upravljačkog sustava nije dobro. Ova upotreba pribadače može se smanjiti spajanjem gumba u multipleks obliku.
Na primjer, uzmimo u obzir da imamo 16 gumba i želimo ga spojiti na kontroler kako bismo oblikovali tipkovnicu, ove su tipke raspoređene kako je prikazano na slici:

Ovi su gumbi povezani uobičajenim stupcima kao što je prikazano na slici:

Kao što je prikazano na slici, neoznačeni krajevi svaka četiri gumba vuku se da bi stvorili stupac, pa tako za 16 tipki imamo četiri stupca.
Ako zaboravimo gornje veze stupaca i povezane zajedničke označene krajeve svaka četiri gumba kako bismo stvorili red:

Kao što je prikazano na slici, za 16 tipki imat ćemo četiri reda kao što je prikazano na slici.
Sada, kad se oboje vide zajedno, dobivamo nešto poput donjeg kruga:

Ovdje smo povezali 16 tipki u multipleksiranom obliku kako bismo smanjili upotrebu pin-a kontrolera. U usporedbi s prvim slučajem povezanih 16 tipki trebalo nam je 16 pinova na kontroleru, ali sada nakon multipleksiranja trebamo samo 8 pinova kontrolera za povezivanje 16 ključeva.
To je obično ono što je predstavljeno unutar tipkovnice:

Kao što je prikazano na gornjoj slici, na gornjoj se tipkovnici nalazi 16 tipki i svaka od ovih tipki predstavlja gumb u konfiguraciji multipleksiranih gumba. A tu je i 8-polna veza, kao što je prikazano na gornjoj slici koja simbolizira multipleksiranu vezu.
Sada za posao:
Tipkovnica ovdje ima četiri stupca i četiri retka, za identifikaciju pritisnutog gumba koristit ćemo metodu unakrsne reference. Ovdje ćemo prvo povezati sve stupce ili sve retke s vcc, pa ako su retci povezani s uobičajenim vcc, odnijet ćemo stupce kao ulaze u kontroler.
Sada ako se pritisne jedan gumb kao što je prikazano na slici:

Nakon toga struja struji kroz krug kao što je prikazano na donjoj slici:

Dakle, imamo C1 visok, za pritisak gumba. U ovom ćemo trenutku pomaknuti priključke za napajanje i ulaz, odnosno napajat ćemo stupce i uzimati retke kao ulaze, Do toga će doći do protoka snage kako je prikazano na donjoj slici:

Dakle, za red imamo R1 visok.
Od sada imamo C1 visok u prvom slučaju i R1 visok u drugom slučaju, tako da imamo matrični položaj tipke, dakle broj "jedan".
Ako se pritisne drugi gumb, imat ćemo C1 kao stupac, ali visoka logika koju dobijemo u zajedničkom stupcu bit će 'R2'. Tako ćemo imati C1 i R2, stoga ćemo imati položaj matrice drugog gumba.
Tako ćemo napisati program, spojit ćemo osam pinova tipkovnice na osam pinova kontrolera. I za početak napajamo četiri pina kontrolera za napajanje četiri reda tipkovnice, a trenutno su ostale četiri pinove uzete kao ulazi. Kad se pritisne tipka, privuče se odgovarajući pin stupa i tako se povuče pin regulatora, to će se prepoznati za promjenu ulaza u napajanje i napajanje ulaza, tako da ćemo imati redove kao ulaze.
Ovim dobivamo tipku koju je pritisnuo korisnik. Ove matrične adrese usmjerene su na odgovarajući broj, a ovaj je broj prikazan na LCD-u.
Rad povezivanja tipkovnice s mikrokontrolerom avr objašnjen je korak po korak u dolje navedenom C kodu. Također možete provjeriti: povezivanje tipkovnice s mikrokontrolerom 8051.
