Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
atmega_128_avr_metoda.doc
Скачиваний:
74
Добавлен:
16.03.2016
Размер:
1.58 Mб
Скачать

3 Исследование методов программного управления устройствами ввода и вывода информации в реальном времени

3.1 Цель работы

Исследование способов обмена информацией через параллельные порты с устройствами ввода и вывода информации, методов программной генерации временных интервалов и управления периферийными устройствами в реальном масштабе времени с использование микроконтроллеров семейства AVR.

3.2 Методические указания по организации самостоятельной работы студентов

Необходимо ознакомиться с лекционным материалом по темам: «Методы подключения внешних устройств к микроконтроллеру семейства AVR»; «Тактирование и начальная установка микроконтроллера», а также изучить материал, изложенный в [1, с. 200-223;2 т.2, с. 217-219; 3. с. 33-35; 4,с. 27-29; 5,с. 12-14].

3.2.1 Принципы анализа нажатия стандартных кнопок с помощью микроконтроллера AVR ATmega128

Параллельные входы микроконтроллеров часто используются для подключения различных коммутационных элементов: переключателей, кнопок, контактных блоков, которые служат для управления внешними устройствами. В простейшем случае кнопка подключается одним выводом к общему проводу, а другим – к входной линии порта ввода/вывода, работающего в режиме ввода данных, и через резистор (сопротивлением порядка 10 кОм) с положительным полюсом источника электропитания (см. рисунок 3.1). При разомкнутых контактах кнопки на входной линии микроконтроллера, установится уровень “логической единицы”, при замкнутых – “логического нуля”.

Рисунок 3.1 – Принципиальная схема подключения кнопки к микроконтроллеру

В данной работе основным используемым периферийным оборудованием лабораторного макета будут 3-х кнопочная клавиатура 31 (см. рисунок 3.2) и матричная клавиатура 34 (см. рисунок 3.4), подключаемые к микроконтроллеру через порты F и Е соответственно. Для удобства на рисунке 3.3. приведено обозначение номеров клавиш, а так же индексов столбцов С1 – С3 и строк R1 – R4 (для матричной клавиатуры 34).

Рисунок 3.2 – Принципиальная схема подключения 3-х кнопочной (31) клавиатуры ко входам 6-8 порта F микроконтроллера AVR MEGA 128

Рисунок 3.3 – Общий вид 3-х кнопочной 31 (вверху) и 12-и кнопочной 34 матричной (внизу) клавиатуры лабораторного макета

Принцип проверки состояния нажатия клавиши заключается в периодическом программном опросе входной линии, к которой подключен один из выводов клавиши, и анализе значения соответствующего бита.

Далее представлен алгоритм и ассемблерный код программы контроля состояния нажатия кнопки, подключенной к 6-й линии порта ввода/вывода F (адрес регистра ввода 0) согласно схеме на рисунке 3.2.

Алгоритм решения задачи.

  1. START.

  2. Загрузить данные из порта F в регистр общего назначения.

  3. Обнулить все биты в регистре кроме 6-го.

  4. Сравнить значение в регистре с нулем. Если клавиша не нажата, перейти в п.2. Иначе – п. 5.

  5. Выполнять дальнейшие действия.

  6. STOP.

Программа на языке ассемблера:

ldi r16, 0b01000000 ; загрузить константу для маскирования в r16;

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

in r17, $0 ; считать данные из регистра ввода порта F;

and r17, r16 ; обнулить все биты регистра r17, кроме 6-го.

cpi r17, 0 ; сравнить значение в регистре r17 с нулем.

brne lbl ; если клавиша не нажата – то выполнить

; переход для повторения опроса, иначе –

; выполнять дальнейшие действия.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]