У овом упутству ћемо повезати 4к4 (16 тастера) тастатуру са АТМЕГА32А микроконтролером. Знамо да је тастатура један од најважнијих улазних уређаја који се користе у електронским пројектима. Тастатура је један од најлакших начина давања команди или упутстава електронском систему.
Компоненте потребне
Хардвер: АТМЕГА32, напајање (5в), АВР-ИСП ПРОГРАМЕР, ЈХД_162АЛЦД (16 * 2ЛЦД), кондензатор 100уФ, кондензатор 100нФ, отпорник 10КΩ (8 комада).
Софтвер: Атмел студио 6.1 или Атмел студио 6.2, прогисп или флеш магија.
Шема и радно објашњење
У круг ПОРТБ од АТМЕГА32 повезан је на порт за пренос података ЛЦД. Овде треба имати на уму да онемогућите ЈТАГ комуникацију у ПОРТЦ-у од АТМЕГА променом бајтова осигурача, ако желите да ПОРТЦ користите као нормалан комуникациони порт. На ЛЦД екрану од 16к2 има 16 пинова ако постоји позадинско светло, а ако нема позадинског светла, биће 14 пинова. Може се напајати или оставити игле задњег светла. Сада у 14 пинова постоји 8 пинова за податке (7-14 или Д0-Д7), 2 пина за напајање (1 и 2 или ВСС & ВДД или гнд & + 5в), трећи пин за контролу контраста (ВЕЕ - контролише колико дебели знакови треба да буду приказано) и 3 контролна пина (РС & РВ & Е).
У колу можете приметити да сам узео само два контролна пина, то даје флексибилност, контрастни бит и РЕАД / ВРИТЕ се не користе често, тако да могу бити кратко спојени на масу. Ово ЛЦД поставља у највећи контраст и режим читања. Само треба да контролишемо ЕНАБЛЕ и РС пинове да би у складу са тим слали знакове и податке.
Конекције које се раде за ЛЦД дате су у наставку:
ПИН1 или ВСС на масу
ПИН2 или ВДД или ВЦЦ до + 5в снаге
ПИН3 или ВЕЕ на земљу (даје максимални контраст најбољи за почетнике)
ПИН4 или РС (Избор регистра) на ПД6 од уЦ
ПИН5 или РВ (читање / писање) на масу (ставља ЛЦД у режим читања олакшава комуникацију за корисника)
ПИН6 или Е (Омогући) на ПД5 од уЦ
ПИН7 или Д0 до ПБ0 од уЦ
ПИН8 или Д1 до ПБ1 од уЦ
ПИН9 или Д2 до ПБ2 од уЦ
ПИН10 или Д3 до ПБ3 од уЦ
ПИН11 или Д4 до ПБ4 од уЦ
ПИН12 или Д5 до ПБ5 од уЦ
ПИН13 или Д6 до ПБ6 од уЦ
ПИН14 или Д7 до ПБ7 од уЦ
У кругу можете видети да смо користили 8-битну комуникацију (Д0-Д7), међутим то није обавезно, можемо користити 4-битну комуникацију (Д4-Д7), али са 4-битним комуникацијским програмом постаје помало сложен. Тако из пуког посматрања горње табеле повезујемо 10 пинова ЛЦД-а на контролер у којем су 8 пинова пинови за податке и 2 пина за контролу.
Хајде сада да разговарамо о тастатури, тастатура није ништа друго до мултиплицирани тастери. Дугмад су повезана у мултиплексованом облику ради смањења употребе пин-а управљачког система.
Узмимо у обзир да имамо 4к4 тастатуру, у овој тастатури имамо 16 тастера, у нормалним случајевима нам је потребно 16 пинова контролера за повезивање 16 тастера, али то са становишта контролног система није добро. Ова употреба пин-а може се смањити повезивањем тастера у мултиплекс облику.
На пример, узмимо у обзир да имамо 16 тастера и желимо да га прикачимо на контролер да бисмо формирали тастатуру, ови тастери су распоређени како је приказано на слици:
Ова дугмад су повезана заједничким колонама као што је приказано на слици:
Као што је приказано на слици, неозначени крајеви свака четири дугмета превлаче се да би формирали колону, тако да за 16 тастера имамо четири колоне.
Ако заборавимо на везе са колонама изнад и на међусобно повезане заједничке означене крајеве свака четири дугмета како бисмо формирали ред:
Као што је приказано на слици, за 16 тастера имат ћемо четири реда као што је приказано на слици.
Сад кад се обојицу виде заједно, добијамо нешто попут доњег кола:
Овде смо повезали 16 тастера у мултиплексираном облику како бисмо смањили употребу пин-а контролера. У поређењу са првим случајем повезаних 16 кључева требало нам је 16 пинова на контролеру, али сада након мултиплексирања треба нам само 8 пинова контролера за повезивање 16 кључева.
То је обично оно што је представљено унутар тастатуре:
Као што је приказано на горњој слици, на горњој тастатури се налази 16 тастера и сваки од ових тастера представља дугме у конфигурацији мултиплексираних тастера. Такође, ту је и 8 пинских веза, као што је приказано на горњој слици, што симболизује мултиплексирану везу.
Сада за посао:
Тастатура овде има четири колоне и четири реда, за идентификацију притиснутог дугмета користићемо метод унакрсне референце. Овде ћемо прво повезати све колоне или све редове са вцц, па ако су редови повезани са уобичајеним вцц, узећемо колоне као улазе у контролер.
Сада ако се притисне једно дугме као што је приказано на слици:
Након тога струја струји кроз коло као што је приказано на доњој слици:
Дакле, имамо Ц1 висок, за притискање тастера. У овом тренутку ћемо пребацити прикључке за напајање и улаз, то јест напајаћемо колоне и узимати редове као улазе, До тога ће доћи до протока снаге као што је приказано на доњој слици:
Дакле, за ред имамо Р1 висок.
Од сада имамо Ц1 високу у првом случају и Р1 високу у другом случају, тако да имамо матрични положај дугмета отуда број „један“.
Ако се притисне друго дугме, имаћемо Ц1 као колону, али велика логика коју добијемо у заједничкој колони биће 'Р2'. Тако ћемо имати Ц1 и Р2, отуда ћемо имати положај матрице другог дугмета.
Овако ћемо написати програм, повезаћемо осам пинова тастатуре на осам пинова контролера. И за почетак напајамо четири пина контролера за напајање четири реда тастатуре, у овом тренутку су остала четири пина узета као улази. Када се притисне дугме, одговарајући пин ступа се повуче и тако се пин регулатора повуче, ово ће се препознати како би се улаз променио у напајање и снага за улаз, тако да ћемо имати редове као улазе.
Овим добијамо дугме које корисник притиска. Ове матричне адресе су усмерене на одговарајући број, а овај број је приказан на ЛЦД-у.
Рад интерфејса тастатуре са микроконтролером авр објашњен је корак по корак у Ц коду датом у наставку. Такође можете да проверите: повезивање тастатуре са микроконтролером 8051.