Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Устранение дребезга контактов




  Рисунок 4.4 – Переходные процессы при дребезге контактов   Рисунок 4.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.

.ORG 0000H ; Адрес начала программы
SETB P3.4 ; Настройка разряда 4 ; порта P 3 на ввод сигнала
BEGIN: NEXT: MOV R3, #20 JB P3.4, BEGIN   DJNZ R3, NEXT ; Инициализация счетчика ; Если контакт разомкнут, ;(Р3.4=”1”), то переход к ; инициализации счётчика ; Иначе декремент ; счётчика и проверка его ; на равенство нулю. Если ; R 3=0, то выход из цикла ; Иначе – переход на опрос ; разряда порта
  ; Подпрограмма обработки ; нажатия кнопки
  JMP BEGIN ;Переход на начало ; программы

 

Листинг 4.7 – Программа устранения дребезга контактов путем
введения временной задержки

; Программа написана для случая подключения датчика к входу Т0

; Временная задержка реализуется подпрограммой DELAY.

; Длительность временной задержки определяется числом,

; загружаемым в регистры R1:R0.

; При замыкании на входТ0 поступает логический 0.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных