logo
HCS12 с применением языка С - royallib

5.5.2. Программная защита от механического дребезга контактов

Существует несколько методов программной защиты от эффекта дребезга механических контактов. Мы кратко остановимся на двух наиболее часто используемых:

• Прикладная программа проводит мониторинг состояния контакта, опрашивая линию порта и контролируя уровень логического сигнала. Как только программа зафиксировала изменение сигнала, она фиксирует это изменение и формирует задержку 100…200 мс. За это время дребезг закончится, и контакт зафиксируется в установившемся состоянии. Если это новое состояние совпадет с первым зафиксированным изменением, то произошло переключение контакта. В противном случае имела место помеха.

• Прикладная программа также производит мониторинг контакта. После обнаружения первого переключения программа продолжает постоянно опрашивать контакт в течение тех же 100…200 мс. Если к концу интервала опроса состояние не стабилизировалось и постоянно считывается то 0 то 1, то это помехи, а если установилось в одном из состояний, то произошло переключение.

а) При нажатии клавиши на выходе формируется высокий логический уровень

б) При нажатии клавиши на выходе формируется низкий логический уровень

Рис. 5.10. Примеры схем подавления механического дребезга контактов