Šajā apmācībā mēs saskarsimies ar 4x4 (16 taustiņu) tastatūru ar ATMEGA32A mikrokontrolleru. Mēs zinām, ka tastatūra ir viena no vissvarīgākajām ievades ierīcēm, ko izmanto elektronikas projektos. Tastatūra ir viens no vienkāršākajiem veidiem, kā sniegt komandas vai instrukcijas elektroniskai sistēmai.
Nepieciešamās sastāvdaļas
Aparatūra: ATMEGA32, barošanas avots (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), 100uF kondensators, 100nF kondensators, 10KΩ rezistors (8 gab.).
Programmatūra: Atmel studio 6.1 vai Atmel studio 6.2, progisp vai flash magic.
Shēmas shēma un darba skaidrojums
ATMEGA32 shēmā PORTB ir pievienots datu porta LCD. Šeit jāatceras atspējot JTAG sakarus PORTC vai ATMEGA, mainot drošinātāju baitus, ja vēlaties PORTC izmantot kā parastu sakaru portu. 16x2 LCD ekrānā ir 16 tapas, ja ir aizmugures apgaismojums, ja aizmugures apgaismojuma nav, būs 14 tapas. Var darbināt vai atstāt aizmugurējās gaismas tapas. Tagad 14 tapas ir 8 datu tapas (7-14 vai D0-D7), 2 el piegādes tapas (1 un 2 vai VSS un VDD vai GND & + 5v), 3 rd pin kontrasta kontrole (Vee-kontrolē, cik biezu rakstzīmēm jābūt un 3 vadības tapas (RS & RW & E).
Kontūrā jūs varat novērot, ka esmu paņēmis tikai divus vadības tapas, tas piešķir elastību, kontrasta bits un READ / WRITE netiek bieži izmantoti, lai tos varētu saīsināt. Tas nodrošina LCD kontrasta un lasīšanas režīmu. Mums vienkārši jākontrolē ENABLE un RS tapas, lai atbilstoši nosūtītu rakstzīmes un datus.
LCD savienojumi ir izveidoti zemāk:
PIN1 vai VSS uz zemi
PIN2 vai VDD vai VCC līdz + 5v jaudai
PIN3 vai VEE uz zemes (iesācējam vislabāk nodrošina maksimālu kontrastu)
PIN4 vai RS (Reģistrēt atlasi) līdz uC PD6
PIN5 vai RW (lasīšana / rakstīšana) uz zemi (LCD nodošana lasīšanas režīmā atvieglo saziņu lietotājam)
PIN6 vai E (iespējot) līdz PD5 no uC
UC PIN7 vai D0 līdz PB0
UC PIN8 vai D1 līdz PB1
U9 PIN9 vai D2 līdz PB2
U10 PIN10 vai D3 līdz PB3
UC PIN11 vai D4 līdz PB4
U12 PIN12 vai D5 līdz PB5
UC PIN13 vai D6 līdz PB6
UC PIN14 vai D7to PB7
Shēmā jūs varat redzēt, ka esam izmantojuši 8 bitu sakarus (D0-D7), taču tas nav obligāti, mēs varam izmantot 4 bitu sakarus (D4-D7), bet ar 4 bitu sakaru programma kļūst mazliet sarežģīta. Tātad, tikai novērojot iepriekšminēto tabulu, mēs savienojam 10 LCD tapas ar kontrolieri, kurā 8 tapas ir datu tapas un 2 tapas kontrolei.
Tagad parunāsim par tastatūru, tastatūra ir nekas cits kā multipleksēti taustiņi. Pogas ir savienotas multipleksētā veidā, lai samazinātu vadības sistēmas tapu izmantošanu.
Apsveriet, ka mums ir 4x4 tastatūra, šajā tastatūrā mums ir 16 pogas, normālos gadījumos mums ir nepieciešamas 16 kontrolieru tapas, lai saskarnētu 16 pogas, taču tas nav labi vadības sistēmas skatījumā. Šo tapas lietojumu var samazināt, savienojot pogas multipleksā formā.
Piemēram, ņemot vērā, ka mums ir 16 pogas, un mēs vēlamies to pievienot kontrolierim, lai izveidotu tastatūru, šie taustiņi ir sakārtoti, kā parādīts attēlā:
Šīs pogas ir savienotas ar kopīgām kolonnām, kā parādīts attēlā:
Kā parādīts attēlā, katras četras pogas galus velk, lai izveidotu kolonnu, un tāpēc 16 taustiņiem mums ir četras kolonnas.
Ja mēs aizmirstam iepriekšminētos kolonnu savienojumus un savienojam rindas ar katrām četrām pogām, atzīmējiet galus:
Kā parādīts attēlā, 16 taustiņiem mums būs četras rindas, kā parādīts attēlā.
Tagad, kad viņi abi tiek redzēti kopā, mēs iegūstam kaut ko līdzīgu zemāk esošajai ķēdei:
Šeit mēs esam savienojuši 16 taustiņus multipleksētā veidā, lai samazinātu kontrollera tapu izmantošanu. Salīdzinot ar pirmo pieslēgto 16 atslēgu gadījumu, kontrolierim bija nepieciešami 16 kontakti, bet tagad pēc multipleksēšanas 16 atslēgu savienošanai ir nepieciešami vienkārši 8 kontroliera kontakti.
Parasti tas tiek parādīts tastatūras iekšpusē:
Kā parādīts iepriekšējā attēlā, iepriekšminētajā tastatūrā ir 16 taustiņi, un katrs no šiem taustiņiem apzīmē pogu multipleksēto pogu konfigurācijā. Un arī ir 8 kontaktu savienojumi, kā parādīts iepriekš attēlā, kas simbolizē multipleksētu savienojumu.
Tagad strādā:
Tastatūrai šeit ir četras kolonnas un četras rindas, lai identificētu nospiestu pogu, mēs izmantosim savstarpējas atsauces metodi. Šeit vispirms mēs savienosim visas kolonnas vai visas rindas ar vcc, tādēļ, ja rindas ir savienotas ar kopējo vcc, mēs ņemsim kolonnas kā ievadi kontrolierim.
Tagad, ja tiek nospiesta viena poga, kā parādīts attēlā:
Pēc tam strāva plūst caur ķēdi, kā parādīts zemāk redzamajā attēlā:
Tātad mums ir C1 augsts, nospiežot pogu. Šajā brīdī mēs mainīsim strāvas un ievades porti, tas ir, mēs darbināsim kolonnas un ņemsim rindas kā ievades, Tādējādi būs enerģijas plūsma, kā parādīts zemāk redzamajā attēlā:
Tātad rindai mums ir R1 augsts.
Sākotnēji mums ir C1 augsts pirmajā gadījumā un R1 augsts otrajā gadījumā, tāpēc mums ir pogas matricas pozīcija, līdz ar to skaitlis “viens”.
Nospiežot otro pogu, mums kā kolonna būs C1, bet kopējā loģika, ko iegūstam kopējā kolonnā, būs “R2”. Tātad mums būs C1 un R2, tātad mums būs otrās pogas matricas pozīcija.
Tā mēs rakstīsim programmu, mēs savienosim astoņas tastatūras tapas ar astoņām kontroliera tapām. Lai sāktu, mēs darbinām četras kontroliera tapas, lai darbinātu četras tastatūras rindas, un pašlaik pārējās četras tapas tiek ņemtas par ieejām. Nospiežot pogu, tiek uzvilkta atbilstošā kolonnas tapa un līdz ar to tiek izvilkta kontroliera tapa, tas tiks atpazīts, lai mainītu ieeju jaudā un jaudu ieejā, tāpēc mums būs rindas kā ievades.
Tādējādi mēs iegūstam lietotāja nospiežamo pogu. Šī matricas adrese tiek novirzīta uz atbilstošo numuru, un šis skaitlis tiek parādīts LCD ekrānā.
Tastatūras saskarnes darbība ar AVR mikrokontrolleru ir soli pa solim izskaidrota zemāk dotajā C kodā. Varat arī pārbaudīt: tastatūras saskarne ar 8051 mikrokontrolleru.