ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Один их простых схемотехнических способов устранения звона состоит в подключении RC-цепи (рис. 4.2). В этой схеме время, требуемое для заряда/ разряда конденсатора до порогового напряжения, маскирует «звон» контактов при переключении. Можно также установить триггер Шмидта между схемой ключа и микроконтроллером, чтобы усилить эффекта подавления «звона». Недостатки этого метода - дополнительные затраты на компоненты, которые должны быть установлены на плате, и дополнительное время, требуемое для заряда/разряда RC-цепи. Все это может затруднить использование данной схемы, так как для некоторых ключей с большим уровнем шумов дополнительная задержка может составить десятые доли секунды.

Значительно лучший способ избавиться от звона — сделать это программно. Если уровень напряжения на выходе ключа не изменяется в течение 20мс, то можно считать что звон окончился, и больше изменений состояния не ожидается.

Программа на языке С, выполняющая фильтрацию звона, может иметь следующий вид:

DBounce: // Начать при высоком уровне

сигнала на выходе ключа while (( Port & SW ) != О ); // Ожидать низкого уровня сигнала

Go to Top