Вивчення режиму програмного опитування клавіатури

Ціль роботи: вивчити принципи функціонування й підключення до мікроконтролера матричної клавіатури 3*4 лабораторного макета, розробити алгоритм і програму для реалізації режиму опитування клавіатури без використання переривань.

 

2.1 Вказівки по організації самостійної роботи

Перед роботою необхідно проробити теоретичний матеріал по літературі [1,2] і конспект лекцій, ознайомитися зі структурною схемою й принципами функціонування клавіатури лабораторного макета, можливостями реалізації режиму програмного опитування клавіатури лабораторного макета на базі мікроконтролера AVR АТMEGA128. При підготовці до лабораторної роботи необхідно скласти попередні варіанти листингів програм, що вказують у пунктах практичного виконання роботи.

Принципи аналізу натискання стандартних кнопок за допомогою мікроконтролера AVR MEGA128.

Паралельні входи мікроконтролерів часто використовуються для підключення різних комутаційних елементів: перемикачів, кнопок, контактних блоків, які служать для керування зовнішніми пристроями. У найпростішому випадку кнопка підключається одним виводом до загального дроту, а іншим - до вхідної лінії порту вводу/виводу, що працює в режимі вводу даних, і через резистор (опором порядку 10 кОм) з позитивним полюсом джерела електроживлення (див. рисунок 2.1). При розімкнутих контактах кнопки на вхідній лінії мікроконтролера встановиться рівень “логічної одиниці”, при замкнутих - “логічного нуля”.

 

 

Рисунок 2.1 - Принципова схема підключення кнопки до мікроконтролера

 

Принцип перевірки стану натискання клавіші полягає в періодичному програмному опитуванні вхідної лінії, до якого підключений один з виводів клавіші, і аналіз значення відповідного біта. Розглянемо фрагмент ассемблерного коду процедури контролю стану натискання кнопки, підключеної до 6-ї лінії порту вводу/виводу F (адреса регістра вводу 0) відповідно до схеми на рис. 2.1:

ldi R16,0b01000000 Завантажити константу для маскування в R16;

lbl: мітка переходу для повторення опитування;

in R17,0 зчитати дані з регістра вводу порту F;

and R17,R16 обнулити всі біти регістра R17, крім 6-го.

cpi R17,0 зрівняти значення в регістрі R17 з нулем.

brne lbl якщо клавіша не натиснута – то виконати перехід для повторення опитування, інакше – виконувати подальші дії.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: