Понятие принципов работы портов ввода/вывода, управление светодиодами и считывание сигнала с кнопок. Изучение языка программирования ANSI-C (для микроконтроллеров семейства AVR). Особенности настройки отладочной платы согласно заданию на программирование.
ЛАБОРАТОРНАЯ РАБОТА №2Цель: Задание: познакомиться с принципом работы портов ввода/вывода, научится управлять светодиодами и считывать сигнал с кнопок, начать изучение языка программирования ANSI-C (для микроконтроллеров семейства AVR). насtrialь отладочную плату согласно задания на программирование, разработать и отладить программу в среде программирования AVR Studio на языке ANSI-C. Применительно к микроконтроллерам, каждый порт ввода/вывода состоит из определенного числа выводов, через которые микроконтроллер может передавать или принимать цифровые сигналы. Микроконтроллер ATMEGA16 имеет 4 полноразмерных (8-битных) порта ввода/вывода именуемых «A», «B», «C» и «D». При подключении светодиода к МК возможны два следующих случая: 1) светодиод подключен катодом к микроконтроллеру (Рис. Если вывод PA7 = 1 (VCC), то разности потенциалов не будет - и светодиод не будет излучать свет.Отладочная плата:EASYAVR5A Описание: Данная программа выводит изображение на светодиодный индикатор в зависимости от состояния кнопок. Для кнопок используются следующие выводы: - PA0, PB0, PC0, PD0. Схема работы: при замыкании кнопки на экране должно появится соответствующее изображение (см. ниже), если ни одна кнопка не замкнута - экран гаснет. Кнопки замыкают выводы МК на GND. 3. Т.к. при замыкании кнопки на вывод МК подается GND, то в разомкнутом состоянии выводы кнопок подтягиваем к VCC (напр. питания), для остальных выводов подтягивающие резисторы отключаем.
Список литературы
Информацию по портам ввода/вывода можно найти в следующем источнике: · Евстифеев А.В. «Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel» (глава 12).
ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ
Детальное описание принципиальной схемы можно найти в документации на отладочную плату EASYAVR5A. В данном разделе будут изложены лишь некоторые общие положения…
Светодиоды
6
В основном светодиоды используются для отображения цифрового состояния выводов. EASYAVR5A имеет 32 светодиода для отображения состояния выводов портов МК (PORTA, PORTB, PORTC и PORTD).
Светодиоды разделены светодиодов и может переключателя SW6. на 4 группы. Каждая группа состоит из 8-и быть включена или выключена при помощи
Светодиоды включены, когда соответствующий ключ переключателя SW6 замкнут. Когда ключ замкнут - светодиоды отображают состояние соответствующего вывода МК. Иначе, светодиоды всегда выключены, независимо от состояния вывода порта, т.к. через них не протекает ток.
См. стр. 14-15 документации на EASYAVR5A.
trialи
EASYAVR5A имеет 32 кнопки, которые используются для изменения состояния цифровых входов портов МК. Схема подключения кнопок изображена на рис. 15 (стр. 16 EASYAVR5A USERMANUAL). Джампер J6 определяет потенциал подаваемый на вывод МК при замыкании кнопки (логический ноль (0) или логическая единица (1)). При отпущенной кнопке состояние вывода определяется подтягивающим резистором.
Обратимся к рисунку 15 (стр. 17) документации. Джампер J1 подтягивает PA7 вывод МК через потягивающий резистор к напряжению питания ( 5В). При замыкании кнопки, вывод PA7 подключен к земле через джампер J6.
Соответственно, если кнопка замкнута - микроконтроллер считывает логический ноль, иначе - логическую едниницу.
В противоположность изложенной выше схеме, на рисунке 16 (стр. 17) приведена другая схема включения кнопки. Джампер J1 подтягивает вывод PA7 к 0В. А при нажатии кнопки, вывод PA7 подключается к 5В через J6.
Соответственно, если кнопка замкнута - микроконтроллер считывает логическую единицу, иначе - логический ноль.
Подтягивающие резисторы можно включить или выключить для каждого вывода независимо, используя ключи SW1, SW2, SW3 и SW4 (см. рис. 34).
Нельзя допускать неоднозначности в состоянии вывода («третье состояние») при разомкнутой кнопке. Дело в том, что раз входы микросхем имеют огромное сопротивление, то на них наводится куча помех буквально из воздуха, а следовательно, значение на входе может принимать совершенно
7 случайный вид. Поэтому, неиспользованные входы (и используемые тоже) либо сажают на землю, либо через резистор подтягивают к плюсу, чтобы там было определенное напряжение, либо ноль, либо плюс питания соответственно.
8
ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ
1. Набрать текст программы (приведен в приложении).
2. Отладить ее и изучить на симуляторе принцип работы.
3. Запрограммировать в МК и проверить работоспособность.
4. Модифицировать программу согласно своему заданию (выдает преподаватель).
5. Отладить программу.
6. Запрограммировать в МК и протестировать.
9
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое порт ввода/вывода и зачем он нужен. 2. Регистры управления портом ввода/вывода.