Светодиодная мигалка на контроллере для радиолюбителя это своего рода «HelloWorld» для программиста. изготовить простую мигалку, конечно допустимо и на мультивибраторе. Взять пару транзисторов конденсаторов и не выносить себе мозг всякими там прошивками программированием.
Но это путь пойдет для начинающих, а если вы уже в этом деле не новичок, то самое время начать изучать контроллеры. К тому же мигалка на контроллере намного интереснее. Так как в ней будет куча разных программно настраиваемых параметров.
В качестве «сердца» нашей мигалки будет выступать всеми известный микроконтроллер ATmega8, о том как программировать на языке под контроллеры подробно будет описано в следующих статьях, здесь же приведем пример готового кода.
Схема светодиодной мигалки на контроллере ATmega8

Как видно схема очень несложная, всего 4 светодиода которые подключаются к PORTD, к ножкам PD0, PD1, PD2, PD3. Значение ограничивающих сопротивлений R1-R4 — 300 Ом. Кнопка SB1предназначена для установки режима мигания, а кнопка SB2позволяет настраивать частоту с которой мигают светодиоды.
В бесконечно цикле while мы проверяем нажатие кнопок SB1и SB2. При условии что нажата кнопка SB1то мы увеличиваем значение переменной sw. Если эта переменная равна 0, то пишем в нулевой бит единицу, далее выжидаем время-изготавливаем задержку.
Далее записываем в нулевой бит ноль, опять выжидаем время, потом увеличиваем переменную j. В случае если кнопка SB1не нажата то все повторяется до следующего бита и таким образом мы поочередно включаем светодиоды. Если переменная j будет больше 3-х то ей присваиваем ноль и эти операции повторяются вновь.
оригинальный код прошивки мигалка на контроллере
Компиляция прошивки осуществлялась в WinAVR, ну или в любой другой какая нравиться, тут не принципиально) После удачной компиляции полученный файл с расширением.hex допустимо закачать в контроллера при помощи программы PonyProg, конечно допустимо применять и любую понравившуюся прошивку. О том как прошить микроконтроллер была отдельная статья.
Сам проект в Atmel Studio 7 выложен по ссылке ниже, там же находится исполняемый hex файл в папке debug.
Комментарии (0)