Урок 6. Первая конструкция на микроконтроллере AVR

Урок 6. Первая конструкция на микроконтроллере AVR

В данном уроке соберём простой девайс на микроконтроллере AVR, который будет просто мигать светодиодом, примечательно, что программа для сего устройства пишется в среде BASCOM-AVR. Для наглядности работы данного устройства, я нарисовал блок схему его работы:

Как видно из блок схемы, сначала подаётся логическая 1 на порт микроконтроллера, потом следует задержка на 250 миллисекунд, далее подаётся логический 0 и опять следует задержка на 250 миллисекунд и всё повторяется заново.

Для устройства я решил использовать AVR микроконтроллер Attiny13, в предыдущих уроках я сделал для него простую , на которой можно реализовать данный проект. Порт у микроконтроллера я выбрал PB2. Можно, конечно, использовать и другие порты микроконтроллера. Для этого, в программе впишите имя другого порта. Итак, после недолгого раздумья родилась такая схема:

Небольшое описание к схеме: IC1- микроконтроллер Attiny13, резистор R2 – токоограничивающий для светодиода HL1, светодиод HL1 – любой светодиод, резистор R1 – подтягивающий, он подтягивает ножку RESET микроконтроллера к "плюсу" питания, это делается для того, чтобы предотвратить случайный сброс микроконтроллера. Вот из серии сборки "железа" всё, но не спешите включать девайс, ведь без программы ничего не заработает. А программа для микроконтроллера не такая уж сложная и работает по алгоритму, описанному выше в блок схеме.

Программа:

$regfile = "attiny13.dat"                                   ‘задаём регистрационный файл для микроконтроллера Attiny13

$crystal = 9600000                                         ‘задаём частоту на которой будет работать тактовый генератор микроконтроллера

Config Portb.2 = Output                                  ‘конфигурируем PORTB.2 (7 нога) на выход

Do                                                          ‘открываем операторную скобку бесконечного цикла

Portb.2 = 1                                             ‘устанавливаем на PORTB.2 логическую единицу

Waitms 250                                             ‘задержка в 250 миллисекунд

Portb.2 = 0                                             ‘устанавливаем на PORTB.2 логический ноль

Waitms 250                                             ‘задержка в 250 миллисекунд

Loop                                                        ‘закрываем операторную скобку бесконечного цикла

End                                                         ‘конец программы

Как видно выше, программа очень простая и хорошо прокомментирована, теперь только напишите всё это в BASCOM-AVR и откомпилируйте, в результате вы получите HEX файл – это и есть уже готовая программа для микроконтроллера, осталось только прошить её в микроконтроллер и установить фьюз биты. Фьюз биты, устанавливаем на 9.6МГц без делителя на 8 (смотрите картинку ниже).

Про прошивку микроконтроллера я уже рассказывал уроком ранее.

Теперь прошивайте микроконтроллер и вставляйте его в панельку устройства и подавайте питание. О чудо, светодиод замигал! Если же нет, то ищите ошибки в монтаже или при программировании!

И видео работы на отладочной плате:

Скачать исходники проекта и прошивку

Автор: Яковлев Александр Вячеславович (г.Витебск, Беларусь)


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 5 + 4

Добавить изображение

Последние статьи