- •1 Исследование программной модели микроконтроллера risc архитектуры с использованием среды разработки avr Studio
- •1.1 Цель работы
- •1.3 Описание лабораторной установки
- •1.4 Порядок выполнения работы и методические указания по ее выполнению
- •1.5 Содержание отчета
- •1.6 Контрольные вопросы и задания
- •2 Исследование методов программного управления портами ввода/вывода микроконтроллера aTmEga128
- •2.1 Цель работы
- •2.2 Методические указания по организации самостоятельной работы студентов
- •Stop: nop; .Exit
- •2.3 Описание лабораторной установки
- •2.4 Порядок выполнения работы и методические указания по ее выполнению.
- •2.5 Содержание отчета
- •2.6 Контрольные вопросы и задания
- •3 Исследование методов программного управления устройствами ввода и вывода информации в реальном времени
- •3.1 Цель работы
- •3.2 Методические указания по организации самостоятельной работы студентов
- •3.2.2 Принципы считывания данных с матричной клавиатуры с помощью микроконтроллера avr аTmega128 в режиме программного опроса.
- •3.3 Описание лабораторной установки
- •3.4 Порядок выполнения работы и методические указания по ее выполнению
- •3.5 Содержание отчета
- •Контрольные вопросы и задания
- •4 Исследование методов обработки прерываний
- •Interrupt [tim1_ovf] void timer1_overflow (void).
- •Interrupt [tim1_compa] void timer1_compareА (void);
- •Interrupt [tim1_compв] void timer1_compareВ (void);
- •Interrupt [tim1_compс] void timer1_compareС (void).
- •4.4 Порядок выполнения работы и методические указания по ее выполнению
- •5 Исследование принципов организации обмена данными по последовательному интерфейсу между микроконтроллером семейства avr и пэвм
- •Перечень ссылок
- •Приложение а Система команд микроконтроллеров avr
- •Приложение б Среда разработки avr Studio
- •Приложение в Описание интерфейса компилятора языка с CodeVision avr
- •Приложение г Описание лабораторного макета
- •Приложение д
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-х кнопочная клавиатура 31 (см. рисунок 3.2) и матричная клавиатура 34 (см. рисунок 3.4), подключаемые к микроконтроллеру через порты F и Е соответственно. Для удобства на рисунке 3.3. приведено обозначение номеров клавиш, а так же индексов столбцов С1 – С3 и строк R1 – R4 (для матричной клавиатуры 34).

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

Рисунок 3.3 – Общий вид 3-х кнопочной 31 (вверху) и 12-и кнопочной 34 матричной (внизу) клавиатуры лабораторного макета
Принцип проверки состояния нажатия клавиши заключается в периодическом программном опросе входной линии, к которой подключен один из выводов клавиши, и анализе значения соответствующего бита.
Далее представлен алгоритм и ассемблерный код программы контроля состояния нажатия кнопки, подключенной к 6-й линии порта ввода/вывода F (адрес регистра ввода 0) согласно схеме на рисунке 3.2.
Алгоритм решения задачи.
START.
Загрузить данные из порта F в регистр общего назначения.
Обнулить все биты в регистре кроме 6-го.
Сравнить значение в регистре с нулем. Если клавиша не нажата, перейти в п.2. Иначе – п. 5.
Выполнять дальнейшие действия.
STOP.
Программа на языке ассемблера:
ldi r16, 0b01000000 ; загрузить константу для маскирования в r16;
lbl: ; метка перехода для повторения опроса;
in r17, $0 ; считать данные из регистра ввода порта F;
and r17, r16 ; обнулить все биты регистра r17, кроме 6-го.
cpi r17, 0 ; сравнить значение в регистре r17 с нулем.
brne lbl ; если клавиша не нажата – то выполнить
; переход для повторения опроса, иначе –
; выполнять дальнейшие действия.
