Мигающий светодиод на микроконтроллере AVR ATmega32

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

Мигающий светодиод на микроконтроллере AVR ATmega32: внешний вид конструкции

Необходимые компоненты

Аппаратное обеспечение

  1. Микроконтроллер ATmega32.
  2. Программатор AVR-ISP (купить на AliExpress), USBASP (купить на AliExpress) или другой подобный.
  3. Светодиод.
  4. Резистор 220 Ом.
  5. Источник питания с напряжением 5 Вольт.

Программное обеспечение

  1. Atmel Studio версии 6.1 (или выше).
  2. Progisp или flash magic (необязательно).

Работа схемы

Схема устройства приведена на следующем рисунке. Как видите, она простейшая.

Схема подключения мигающего светодиода к микроконтроллеру AVR ATmega32

Светодиод D1 подсоединен через резистор R1 к выводу 19 микроконтроллера. Резистор необходим для ограничения тока, протекающего через светодиод. Помните, что микроконтроллер не может обеспечивать на своих выводах ток более 30 мА.

Для этой схемы нет необходимости в использовании внешнего кварцевого резонатора. Микроконтроллер ATmega32 по умолчанию работает от своего внутреннего RC-генератор с частотой 1 МГц – для рассматриваемой нами задачи этого вполне достаточно. Внешний кварцевый резонатор целесообразно подключать к микроконтроллеру только когда требуется повышенная точность таймера или возникают другие задачи, требующие точного измерения временного промежутка. По умолчанию при покупке микроконтроллер настроен так, чтобы работать от внутреннего RC-генератора.

Исходный код программы на языке C (Си) с пояснениями

Программа для рассматриваемой схемы представлена следующим фрагментом кода на языке C (Си). Комментарии к коду программу поясняют принцип работы отдельных команд.

Теперь код программы без комментариев.

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
1 348 просмотров


Комментарии

Мигающий светодиод на микроконтроллере AVR ATmega32 — 4 комментария

  1. Ничего не мигает. Просто загорелись все диоды кроме первого и последнего

    • Вы наверное к какой то другой статье хотели свой комментарий написать? На схеме в этой статье всего один светодиод

    • Особого смысла в этом нет, можно один раз вместо этого написать _delay_ms(440);, просто я решил не изменять программу-оригинал с того сайта, откуда я ее взял. Статья просто переводная, с англоязычного сайта. Конечно, такую статью я мог бы и сам написать, но картинки и видео свои к такой статье быстро не сделаешь, поэтому и беру их с англоязычного сайта. Но я думаю авторы того сайта не в обиде - я же популярность их видеороликов повышаю. Все равно сами они никогда не будут писать статьи на русском, им это не выгодно

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

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