ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Устранение дребезга контактов
При работе МК с датчиками, имеющими механические или электромеханические контакты (кнопки, клавиши, реле и т.п.), возникает явление, называемое дребезгом контактов (рисунок 4.4). Это явление заключается в том, что при замыкании контактов возможно появление отскока контактов, которое приводит к переходному процессу. При этом сигнал с контакта может быть прочитан МК как случайная последовательность нулей и единиц. Подавить это нежелательное явление можно схемотехническими средствами с использованием буферного триггера (рисунок 4.5), но чаще это делается программным путем. Наибольшее распространение получили два программных способа ожидания установившегося значения: 1) подсчет заданного числа последовательно совпадающих значений сигнала; 2) временная задержка. Блок-схемы процедур подавления помех от дребезга контактов при вводе сигнала логического 0 показаны на рисунке 4.6. В первом способе число N подбирается экспериментально для каждого типа используемых датчиков в зависимости от частоты кварцевого резонатора МК и лежит, как правило, в пределах от 5 до 50. Устранение дребезга контакта путем введения временной задержки заключается в следующем. Программа, обнаружив замыкание контакта, запрещает опрос состояния этого контакта на время, заведомо большее длительности переходного процесса, после чего вновь проверяет наличие замыкания. Если замыкание не подтвердилось, делается вывод о случайной помехе и процесс опроса повторяется. Временная задержка (в пределах 1 – 10 мс) подбирается экспериментально для каждого типа датчиков. Подробное описание реализации временных задержек приведено в пункте 4.3.
а) путем многократного считывания;
Рисунок 4.6 – Блок-схемы процедур подавления дребезга контактов
Примеры программ устранения дребезга контактов первым и вторым способом приведены в листингах 4.6, 4.7 соответственно. Листинг 4.6 – Программа устранения дребезга контактов путем ; Пример программного подавления дребезга контакта приводится ; для случая, когда датчик импульсного сигнала подключен к входу ; Р3.4 (Т0), счет «удачных» опросов ведется в регистре RЗ, N=20. ; При замыкании на вход Р3.4 поступает логический 0.
Листинг 4.7 – Программа устранения дребезга контактов путем ; Программа написана для случая подключения датчика к входу Т0 ; Временная задержка реализуется подпрограммой DELAY. ; Длительность временной задержки определяется числом, ; загружаемым в регистры R1:R0. ; При замыкании на входТ0 поступает логический 0. Не нашли, что искали? Воспользуйтесь поиском:
|