Азы программирования – для новичков в радиоделе

July 7, 2014 by admin Комментировать »

Создание программы очень напоминает создание электронного устройства Если вы решили создать какое-то устройство, то не думаю, что начнёте сразу паять сопротивления, транзисторы, конденсаторы Пусть мысленно, но начнёте вы с функциональной схемы

Рис 351 Функциональная схема

Функциональная схема позволяет вам решить основные вопросы: будете ли вы использовать для создания мультивибратора транзисторы или  микросхему будете  ли  вы использовать  для переключателя диапазонов галетный переключатель или используете микросхему с набором ключей будете ли вы использовать для блока питания сетевой адаптер или батарейку

Имея перед глазами функциональную схему, вы легко разобьёте работу на несколько этапов: создать мультивибратор создать блок питания создать переключатель создать делитель напряжения Теперь вы можете забыть об устройстве в целом и заняться его составными частями Собрав, скажем, мультивибратор, проверив его работу, проведя измерение напряжения и потребляемого схемой тока, вы готовы определиться с созданием блока питания Вы можете составить перечень всех элементов и приступить к закупке компонентов Вы можете, если вам так больше нравится развести плату и сделать печатный монтаж

Разработка программы тоже начинается с функциональной схемы Для изображения этой схемы давно придумали графические элементы После того, как вы нарисовали функциональную схему программы, вы также можете приступить к продумыванию составляющих блоков

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

По мере развития языков программирования, по мере развития компьютеров, и особенно это касается микроконтроллеров, всё чаще язык программирования удаляется от машинного языка единиц и нулей и приближается к естественному человеческому языку Языки программирования Basic, Pascal, C достаточно близки к обычному языку Но ещё удобнее при  разработке использовать графический язык Что и сделано в таких программах как Flowcode и KTechlab

К сожалению, для работы программы KTechlab нужен Linux, а для осциллографа, программа которого не работает в Linux, приходится использовать Windows, поэтому речь пойдёт о Flowcode

Любая программа содержит  ряд стандартных элементов, как любая электрическая схема содержит резисторы, конденсаторы и тп Этот набор стандартных элементов не так велик, но позволяет создавать множество полезных программ

Рис 352 Набор стандартных элементов программы Flowcode

Такие элементы как Вход или Выход, скорее, характерны для микроконтроллера, но ввод данных и вывод данных – общий элемент для любых программ

Не исключение и Задержка (пауза) Но для микроконтроллера она имеет большее значение, чем для прикладных компьютерных программ С помощью паузы можно формировать выходные импульсы, можно избавляться от дребезга контактов Сама Задержка формируется на основе заданной тактовой частоты микроконтроллера Поэтому надо внимательно задавать правильную тактовую частоту В программе Flowcode для PIC-контроллеров эта тактовая частота определяется словом конфигурации, где выбирается базовый элемент тактового генератора, и в настройках проекта, где задаётся именно тактовая частота

Ветвление программы – это аналог синтаксиса if… then… else Как правило, без этого элемента не обходится ни одна программа В программировании микроконтроллера этот элемент тесно связан с элементом Вход, который используется для опроса кнопок или аналоговых входов Он позволяет при изменении состояния входа обратиться к подпрограмме (элемент Макрос) или вызвать Прерывание

Переключатель – это удобная форма объединения последовательных элементов ветвления в единую конструкцию Этот элемент появился в последних версиях программы Flowcode, что позволяет упростить вид создаваемой программы для микроконтроллера

Элементы Метка и переход к метке многие программисты считают признаком «дурного тона», знаменитая операция Goto, но иногда без них трудно обойтись

Элемент Цикл в программе Flowcode многоцелевой: это и аналог оператора while, и конструкции

for, и dowhile Окончательно вид цикла определяется в его свойствах

Макрос имеет в разных языках программирования разные виды: собственно макрокоманда, процедура, функция, подпрограмма Конечно, каждая из разновидностей имеет свои особенности в конкретных языках программирования, но суть их очень схожа Поэтому в программе Flowcode использовали Макрос

Поскольку микроконтроллеры сегодня почти обязательно имеют встроенные модули: АЦП, последовательного обмена данными, широтно-импульсной модуляции и тд, – создатели программы Flowcode позаботились об этом, создав элемент Готового макроса (Макрос компонента) Если вы используете встроенный компонент, то вам не надо задумываться о создании подпрограммы для него, достаточно обратиться к уже готовому макросу

Микроконтроллер работает на основе микропроцессора, «спрятанного за забором портов ввода- вывода» Как сегодняшний компьютер не столько вычисляет, сколько развлекает нас картинками разного  рода,  так  и  микроконтроллер  не  столько  вычисляет,  хотя  может  это делать,  сколько

«трудится в поте лица» обслуживая датчики и клавиатуру и выводя информацию на индикаторы, или приводит в действие исполняющие устройства: двигатели, реле, тиристоры Но иногда без вычислений не обойтись, поэтому элемент Вычисление весьма значим Простейший случай применения этого элемента – присваивание значения переменной и работа с этой переменной

Элемент Работа со строками, как и Готовые макросы, помогает вам быстрее получить результат Фактически строки в данном случае – это символьные массивы При работе с последовательным обменом информации удобно эту информацию передавать в виде строк При обработке строк, а это может быть, например, команда, вы сэкономите время, если используете доступные функции в блоке работы со строками

Прерывание давно стало столь привычным элементом программы, что многие, порой, злоупотребляют этим элементом программы Но элемент программы необходимый Если заглянуть в его свойства, то можно найти перечень всех штатных прерываний И есть возможность создать собственное прерывание, если штатных прерываний не хватает

Для сложных программ, а микроконтроллер может выполнять довольно сложные задачи, может не хватать готовых элементов В этом случае можно использовать Вставку на языке Си Чтобы быть уверенным, что вставка правильная, следует ознакомиться с компилятором, входящим в состав программы Flowcode Иногда приходится обращаться к ассемблеру, если другие способы оптимизации программы не помогают уменьшить объём кода или добиться нужного быстродействия Дело в том, что каждый оператор языка высокого уровня переводится во множество операторов на ассемблере Хорошо владея ассемблером, можно сократить количество команд, а, значит, и время их выполнения

А Комментарии нужны всем: и автору программы, и читателю программы Автор и сам быстро забывает, что он делает в том или другом месте программы, а читатель программы и не знает этого Программа Flowcode использует элемент Комментарий для коротких заметок, как в языке Си, например, однострочный комментарий Но при желании оставить расширенный комментарий, вы можете использовать операцию добавления текста (Объекты-Текст)

Существуют разные способы отладки созданной программы, а к ней приходится прибегать и профессиональным программистам, есть специальные отладочные платы, можно отлаживать на обычной макетной плате Но любая среда разработки имеет отладочный модуль Есть он и в программе  Flowcode  Поскольку  микроконтроллер  редко  используется  без  дополнительных

элементов: кнопки, клавиатура, индикаторы и тп, – в программе есть множество таких элементов, скорее, отладочных Начиная с версии 4, программа Flowcode, например, позволяет отлаживать программы двух микроконтроллеров, работающих в одном устройстве Все отладочные элементы сгруппированы на инструментальной панели в ряд категорий: Объекты, Обычные, Входы, Выходы и тд

Добавляя эти элементы на отладочную панель, вы получаете доступ к Готовым макросам, если они есть, если они требуются Кроме функциональных свойств, эти элементы могут иметь, например, конструктивные свойства: кнопки могут быть с фиксацией и без, индикаторные светодиоды могут быть разного цвета и тд И все эти элементы должны быть соединены с микроконтроллером Для этого служит панель свойств, где есть Расширенные свойства и Соединения

Источник: Гололобов ВН,- Самоучитель игры на паяльнике (Об электронике для школьников и не только), – Москва 2012

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты