Продолжаем опыты с микроконтроллером – для новичков в радиоделе

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

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

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

И в этом случае, когда встроенный модуль АЦП заканчивает измерение напряжения, это тоже событие, требующее внимания со стороны контроллера Можно сразу вывести значение напряжения на индикатор Можно произвести несколько  измерений и вывести на индикатор среднее значение Зачем получать среднее значение

Дело в том, что измеряя постоянное напряжение, мы имеем дело не совсем с постоянным напряжением Вспомним, постоянное напряжение – это напряжение, которое определит постоянный ток через нагрузку, то есть, ток, который не будет меняться ни по величине, ни по направлению Возьмём батарейку и лампочку карманного фонаря Если мы включим фонарь и будем наблюдать за ним достаточно долго, то убедимся, что напряжение на лампочке будет уменьшаться Батарейка разряжается Но ток при этом изменяется по величине То есть, такой ток, строго говоря, не назовёшь постоянным Мало того, сопротивление лампочки будет меняться При уменьшении тока через лампочку меняется рассеиваемая на ней мощность, меняется температура спирали, а с ней меняется сопротивление спирали

Конечно, АЦП проводит процесс измерения напряжения очень быстро Но в реальном устройстве происходят разные процессы, влияющие на изменения тока Любой источник питания, батарейка или аккумулятор, имеют внутреннее сопротивление, на котором образуется падение напряжения, пусть небольшое, но все-таки А изменяющийся ток сформирует переменное падение напряжения Да и сам процесс измерения может иметь некоторые меняющиеся от измерения к измерению вариации значения Так что, усреднить полученные данные полезно

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

Пример такой событийно-ориентированной программы можно найти в руководстве к IE-ROBOPIC

void main()

{

Sound_Init(&ampPORTC, 0) // Инициализация Звукового сигнала while(1)

{

if (PORTAF4) // Тестирование состояния кнопки RA4 sound_play(250,50) // Выдача звукового сигнала 2кГц на вывод RC0

}

}

Давайте проверим эту программу, а затем обсудим её

Рис 391 Создание и трансляция программы в MicroC PRO Для первой проверки я использую Proteus

Рис 392 Проверка работы программы

В динамиках компьютера слышен звук при нажатой кнопке Программа работает Теперь макетная плата… Загружаю программу с помощью PICkit2 Нажимая кнопку, я слышу звук из динамика на макетной плате

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

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

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