"DVDXpert" - компас в мире Hi-Fi и High End техники и другой stereo и home cinema аппаратуры.

ПРОГРАММЫ И СХЕМЫ ПИШЕМ ПЕРВЫЕ ПРОГРАММЫ

29-03-2020

Схема показана на рис. 35. Светодиоды LED0 и LED1 предназначены только для индикации срабатывания сенсоров. В схеме, предназначенной для практического применения, их может не быть. Но

миналы резистора и конденсаторов могут потребовать подбора в зависимости от конкретного экземпляра. У автора схема надежно работала при значениях R2=10K и Cl=C2=470pF. Поскольку считывать состояние входа надо не более, чем через 1...2 миллисекунды после подачи высокого уровня на выход, должен применяться кварцевый резонатор с частотой 4МГц. В качестве сенсорных кнопок можно использовать печатные контакты площадью около 1см2. Соединительные проводники до сенсоров должны быть как можно короче, чтобы избежать ложных срабатываний.

В схеме совершенно произвольно, для примера, сенсорные датчики подключены к каналам RBI, RB2. Они могут быть подключены к любым другим каналам.

Программа построена таким образом, чтобы при изменении схемы изменения в программе были минимальными. Ее можно было бы оптимизировать еще больше, но в этом случае пострадала бы наглядность. Изначально установлено, что сенсоры подключены к порту В, выводы 7 и 8, а светодиоды к порту А, выводы 17 и 18. Изменив схему, следует изменить базовые значения SB0 и SB1, означающие номе

ра битов в слове, прочитанном из порта, изменить LED0 и LED1, соответствующим образом изменить INIT_A, INIT_B, SB0_SET и SB1_SET. При этом не понадобится делать изменений в теле программы, что увеличивает ее гибкость. Изменения в программе понадобятся, когда вы удалите светодиоды или подключите сенсоры к порту А. Разумеется, вам понадобится вставить программу взаимодействия с исполнительным устройством или интерфейсную программу в отмеченное рамкой место.

В начале работы программы настраиваются порты вводавывода, затем программа начинает работать циклически. В каждом цикле вызывается подпрограмма проверки состояния сенсоров. Сначала канал RB1 настраивается на ввод, a RB2 на вывод. На выводе RB2 формируется положительный фронт. Тут же, следующей командой, считывается и тестируется уровень на выводе RB1. Если он низкий, значит есть прикосновение к сенсору и выставляется в единицу флаг бит <0> переменной FLAGS. Затем оба канала настраиваются на вывод, на канал RB2 подается низкий уровень и конденсатор разряжается, чтобы надежно определить следующее прикосновение. Попутно разряжаются внутренние емкости входных цепей микроконтроллера. Если бы мы не разряжали конденсатор, то к моменту следующего тестирования он был бы уже заряжен, сглаживание фронта не произошло бы, и программа сделала бы ошибочный вывод, что прикосновения к сенсору нет.


Смотрите также:
 Возможности виртуальных студий
 СИНТАКСИС ИСХОДНОГО ТЕКСТА
 РАСШИРЕННЫЕ ОТЛАДОЧНЫЕ ФУНКЦИИ MPLAB
 ПРОГРАММЫ И СХЕМЫ ПИШЕМ ПЕРВЫЕ ПРОГРАММЫ
 Эфирное цифровое телевидение: DVB-T

Добавить комментарий:
Введите ваше имя:

Комментарий:

Защита от спама - решите пример: