вторая лаба микроконтроллеры
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования «Омский государственный технический университет» Кафедра” Автоматизация и робототехника”
Лабораторная работа №2
По теме: «Универсальный ввод-вывод микроконтроллера AVR»
Вариант 11
Выполнил: Студент группы АТП-222
Пискунов А.И. Проверил:
Асс. Кипров Р.Р.
Омск 2025
Цель работы: Подключить ATMEGA 328P к компьютеру, подключить кнопку и с помощью кода сделать включение диодов по варианту только при нажатой кнопки
Теоретическая справка
Любым устройством необходимо управлять, т.е. подавать на него управляющие воздействия. В простейшем случае элементами подачи управляющих сигналов служат кнопки или переключатели. Существует множество вариантов подключения кнопок, позволяющих сэкономить количество задействованных ножек процессора для реализации необходимого количества сигналов, однако базовым подключением является подключение одной кнопки к одной ножке микроконтроллера. Кнопка – это элемент,
который может быть замкнут или разомкнут.
Поскольку кнопка не имеет определенного направления протекания тока
(в отличие от светодиода), то подключать ее можно любой стороной к микроконтроллеру, а вот в зависимости от того, куда будет подключен второй конец кнопки, различают схемы, подключенные к «земле» или 37 напряжению питания. При этом необходимо помнить, что при отжатом положении провод разомкнут, и ножка процессора получается «висящей в воздухе». Любой
«висящий в воздухе» проводник – это потенциальная антенна, на которой в каждый конкретный момент времени может быть любое значение, и какое значение при этом будет принимать микроконтроллер, является величиной вероятностной и неопределенной. Для того чтобы избавиться от этого нежелательного явления, устанавливают дополнительные резисторы, которые в данном случае называются «подтягивающими».
Ход работы
2
Рисунок 1 – Алгоритм работы
Описание алгоритма:
Инициализация:
1) В блоке 1 выполняется установка портов B и D как выходов соответственно, кроме PB2 из-за того что к этому порту подключена кнопка, там устанавливается вход.
3
2) В блоке 2 выполняется установка уровня портов B и D на низкий. Кроме
PB2, потому что к кнопке подключен подтягивающий резистор, и при нажатой кнопки на выходе “0”, а при выключенной “1” соответственно.
Основной цикл программы:
3)В блоках 4 – 19 выполняется основной цикл
4)В блоке 4 выполняется условие, которое проверяет нажата ли кнопка
5)В блоке 5 происходит процесс, только когда кнопка не нажата. Если кнопка не нажата, все уровни портов устанавливаются низкими
6)В блоке 6 происходит процесс, только когда кнопка нажата. Также надо отметить, что после нажатия кнопки процесс в блоках 6 – 19 не остановится, пока не пройдёт полностью, даже при отсутствии нажатой кнопки. В блоке
6происходит включение PD2 и PD3, а также выключение PB1 и PB3
7)В блоке 7 происходит задержка на 1 секунду
8)В блоке 8 происходит включение PD4, а также выключение PD2
9)В блоке 9 происходит задержка на 1 секунду
10)В блоке 10 происходит включение PD5, а также выключение PD3
11)В блоке 11 происходит задержка на 1 секунду
12)В блоке 12 происходит включение PD6, а также выключение PD4
13)В блоке 13 происходит задержка на 1 секунду
14)В блоке 14 происходит включение PD7, а также выключение PD5
15)В блоке 15 происходит задержка на 1 секунду
16)В блоке 16 происходит включение PB1, а также выключение PD6
17)В блоке 17 происходит задержка на 1 секунду
18)В блоке 18 происходит включение PB3, а также выключение PD7
19)В блоке 19 происходит задержка на 1 секунду
Вывод: В ходе лабораторной работы я смог подключить ATMEGA 328P
и кнопку к компьютеру, а также сделал цикл включения диодов по заданному варианту при нажатии кнопки.
4
