В данном уроке соберём простой девайс на микроконтроллере 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 (смотрите картинку ниже).
Про прошивку микроконтроллера я уже рассказывал уроком ранее.
Теперь прошивайте микроконтроллер и вставляйте его в панельку устройства и подавайте питание. О чудо, светодиод замигал! Если же нет, то ищите ошибки в монтаже или при программировании!
Урок 7. Работа с ЖК индикатором на контроллере HD44780 и его аналогах
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATtiny13 | 1 | Поиск в магазине Отрон | ||
R1 | Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
R2 | Резистор | 150 Ом | 1 | Поиск в магазине Отрон | ||
HL1 | Светодиод | 1 | Поиск в магазине Отрон | |||
Bat1 | Элемент питания | 3В | 1 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- AVR6.rar (3 Кб)
Комментарии (2) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация