Визуальная среда программирования микроконтроллеров AVR
Е. ЛИХОУЗОВ, г. Черногорск, Хакасия
О промышленных системах диспетчер-15 ского управления и сбора информации SCADA широкое распространение получил графический язык программирования FBD (Function Block Diagram). Он прост в понимании, нагляден и удобен для специалистов, не имеющих специальной подготовки в области информатики. Именно простота и удобство этого языка подтолкнули меня к идее применить его к микроконтроллерам AVR.
В результате появилась связка графической среды Configurator, работающей под управлением операционной системы Windows и исполнительной программы HR AVR, работающей непосредственно на микроконтроллере. В такой связке процесс создания программы для разрабатываемого микро-контроллерного устройства сводится к построению FBD-схемы.
Приведу простой пример — устройство "Маячок". На рис. 1 изображена его принципиальная схема. Устройство построено на микроконтроллере ATtinyl 3A-I/P. Для контроля логического состояния кнопок SB1 и SB2 использованы две линии портов микроконтроллера (РВЗ и РВ4). К ещё одной линии РВ2 подключён светодиод HL1, сигнализирующий о логическом уровне напряжения, установленном на этой линии микроконтроллером.
Используя программу Configurator, составим для этого устройства FBD-схему, показанную на рис. 2. В ней использованы FBD-блоки "PinB3" и "PinB4", задающие логическое состояние линий РВЗ, РВ4 микроконтроллера соответственно. Блок "PinB2" формирует логическое состояние линии РВ2 микроконтроллера. Блок "Генератор" создаёт последовательность импульсов нужной частоты и скважности. Кроме того, применены блоки "AND" (функция логического И) и "Триггер" (RS-триггер).

При установке логической единицы на входе РВЗ микроконтроллера (команда "Включить") на выходе блока ”PinB3" формируется логическая единица, поступающая на вход S триггера и устанавливающая его в состояние с логической единицей на выходе. При снятии логической единицы с линии РВЗ триггер останется в этом состоянии до появления логической единицы на его входе R. Она будет сформирована при установке логической единицы на входе РВ4 микроконтроллера (команда "Выключить"). Сигналы с блоков "Генератор" и "Триггер" обрабатываются блоком "AND" и поступают на блок "PinB2". В результате светодиод HL1 после нажатия на кнопку SB1 мигает с частотой "Генератора", а после нажатия на кнопку SB2 гаснет.
После того как FBD-схема составлена, необходимо собрать (скомпилировать) разработанную программу. В результате успешной сборки Configurator создаст НЕХ-файл, который остаётся загрузить в память микроконтроллера с помощью программатора.
На момент подготовки статьи в программу Configurator включено более 50 типов микроконтроллеров семейства AVR и около двух десятков различных FBD-блоков. Пользователи имеют возможность разрабатывать и добавлять собственные FBD-блоки.