
Министерство образования и науки Российской Федерации
Федеральное бюджетное государственное образовательное учреждение высшего профессионального образования
«Омский государственный технический университет»
Кафедра «Автоматизация и робототехника»
ДОМАШНЕЕ ЗАДАНИЕ
по дисциплине «Микропроцессорная техника»
Тема: «Разработка управляющей программы для микроконтроллера»
Вариант 23
Проверил: доцент, к.т.н.
___________ А. Н. Компанейц
“___”__________2012 г.
Разработал: ст. гр. БМТ-419
____________ Д. В. Дьяконов
“___”__________2012 г.
Омск 2012
Введение
Целью домашнего задания является разработка управляющей программы для микроконтроллера в соответствии с заданием:
После нажатия кнопки ПУСК - PB,0 через 5мс осуществляется поочерёдное переключение светодиодов, подключённых к выводам PА,2 и PС,0. Выключить мигание светодиодов кнопкой СТОП - PA,4.
Физическое подключение элементов, указанных в программе, осуществляется к выводам портов микроконтроллера:
-
PA,2 - бит 2 порта А
-
PA,4 - бит 4 порта А
-
PB,0 - бит 0 порта B
-
PC,0 - бит 1 порта C
В процессе выполнения домашнего задания производится:
-
разработка подпрограммы формирования задержки заданной величины
-
разработка принципиальной электрической схемы подключения светодиодов и кнопок
-
разработка алгоритма управляющей программы
-
разработка и отладка управляющей программы в AVR Studio
-
моделирование разработанной схемы в системе схемотехнического моделирования Proteus VSM.
Разработка подпрограммы формирования задержки
Задержка реализуется с использованием циклов. При кварце 4 МГц период составляет 250 нс. Учитывая, что большинство операций в микроконтроллерах AVR семейства Classic выполняется за один машинный цикл, для реализации задержки в 5 мс необходимо выполнить 20000 операций. В двоичной системе число 20000 состоит из двух байт, поэтому для реализации задержки используем 2 цикла. Значения, записываемые в регистры temp и temp1, подбираются в процессе отладки программы в AVR Studio с использованием встроенных средств.
Подпрограмма формирования задержки.
delay1:
ldi temp1, 251 ; загрузить число 251 в регистр temp1
; команда выполняется за 1 цикл
d1: ldi temp, 25 ; загрузить число 25 в регистр temp
; команда выполняется за 1 цикл
d2: dec temp ; уменьшить содержимое регистра temp на 1
; команда выполняется за 1 цикл
brne d2 ; проверка содержимого регистра temp на ; равенство 0
; команда выполняется за 2 цикла
dec temp1 ; уменьшить содержимое регистра temp1 на 1
; команда выполняется за 1 цикл
brne d1 ; проверка содержимого регистра temp1 на ; равенство 0
; команда выполняется за 2 цикла
ret ; выход из подпрограммы
; команда выполняется за 4 цикла
Время за которое будет выполнена подпрограмма формирования задержки рассчитывается по формуле:
tзадержки=((4+1+1)+3*25+(4+3*25)*251)*250нс= 4,9775 мс. ≈ 5 мс
Разработка принципиальной электрической схемы
Рис. 1 Принципиальная электрическая схема
На рисунке 1 представлена принципиальная электрическая схема подключения светодиодов и кнопок, с аппаратным исключением дребезга контактов к микроконтроллеру фирмы Atmel - AT90S8515 (D2). Количество портов ввода/вывода данной модели микроконтроллера удовлетворяет требованиям подключения кнопок и светодиодов, указанным в задании. Нагрузочная способность каждой линии портов ввода/вывода 20мА, что позволяет подключать светодиоды непосредственно к выводам. Данный тип микроконтроллера позволяет конфигурировать каждую линию портов ввода/вывода как на ввод, так и на вывод информации независимо друг от друга.
Исключение дребезга контактов осуществляется на основе RS триггера (D3.1-D3.2). В исходном состоянии на выходах триггера логические единицы. При нажатии на кнопку Старт (SA2) на выходе 4 триггера КР1533ТР2 формируется низкий уровень сигнала, который поступает на вход 35 микроконтроллера - PA,4 и на вход 1 микросхемы 2И (D4.1). На выходе 3 микросхемы КР1533ЛИ1, который соединен со входом 12 микроконтроллера (D2), происходит перепад сигнала с высокого уровня на низкий. Микроконтроллер переходит к подпрограмме обслуживания прерывания.
При нажатии на кнопку Стоп (SA 3) на выходе 7 триггера КР1533ТР2 формируется низкий уровень сигнала, который поступает на вход 1 микроконтроллера - PB,0 и на вход 2 микросхемы 2И (D4.1). На выходе 3 микросхемы КР1533ЛИ1, который соединен со входом 12 микроконтроллера (D2), происходит перепад сигнала с высокого уровня на низкий. Микроконтроллер переходит к подпрограмме обслуживания прерывания.
Сброс микроконтроллера осуществляется нажатием кнопки Сброс (SA 1), сигнал с которой приходит на вход 2 микросхемы D1. На выходе 1 данной микросхемы в течение 150 мс удерживается низкий уровень сигнала, который поступает на вход 9 микроконтроллера. Светодиоды подключаются к выходам 21 и 37 микроконтроллера. Подключение кварцевого резонатора ZQ1 выполнено в соответствии с технической документацией на микроконтроллер [6].
Номинальные значения конденсаторов и резисторов задаются в соответствии с документацией [5, 7-9].