Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Урок 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 (смотрите картинку ниже).

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

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


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

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

cxem.net

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *