|
В одном из моизх проектов было сделано следующее:
В системе была П/П типа RTC, генерящая временные метки в 1/100с, в ней же вызывались некоторые системные П/П типа драйверов дисплея и клавиатуры, так вот там для опроса линии клавиатуры применялся такой приём: под каждую кнопочку был заведён SRAM счётчик, который инкрементировался, если кнопка на момент опроса была нажата и декрементировался в противном случае (естественно с контролем граничных значений $00 и $ff) и тут же сравнивался с порогом. Значение порога влияет на степень подавления и естественно на время обработки сигнала с клавиши. При значении порога 30 - работало всё прекрасно при подключении кнопок напрямую к портам АВРа. Был ещё более помехоустоичивый вариант, где под входную линию заводилось два счётчика: счётчик нажатого и отжатого сотояния, с последующим их сравнением (кто больше), да ещё и гистерезис был заведён, ну это ващщепо-моему ничего не боялось по входу.
В общем можно и программно подавить, можно и аппаратно (программно в этом случае тоже надо, но алгоритм может быть проще). А вообще очень многое зависит от требований к надёжности и временным параметрам системы.
E-mail: info@telesys.ru