Есть вопрос по алгоритму защиты от дребезга контактов. Я поразмыслил и вижу два варианта: Начинается с выводом МК из спячки нажатием на любую кнопку. Дребезг контактов в цифре представляет собой последовательность нулей и единиц с преобладанием первых (активный уровень у нас нуль). 1. Запускаем таймер, выдаются прерывания каждые, скажем 50 мс, поверяем все 4 кнопки, как только находим на какой-то из них нуль делаем вывод о нажатии. 2. Запускаем таймер как и в предыдущем пункте, проводим 50 итераций. Для каждой кнопки считаем общее количество нулей и единиц отдельно. Затем подытоживаем. При превышении количества нулей над единицами, скажем в три раза, делаем вывод о нажатии. На практике кто какой алгоритм использовал? Есть какие-то другие варианты?
|