[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Не знаю кто как, а я опрос клавиатуры делаб следующим образом.
Половину битов порта делаю входными(как правило младшая тетрада),
оставшиеся выводы-выходы. Входы подключаются к земле через резистры.
На выходах поочередно выставляю 1 и опрашиваю младшую тетраду. Если в младшей тетраде присутствует 1 перехожу к подпрограмме определения номера нажатой клавиши. Для защиты от дребезга через 30-70 мс (в зависимости от качества кнопок) повторно опрашиваю младшую тетраду.
Если результаты совпадают все нормально. Если нет принятую комбинацию игнорирую.
Пример схемной реализации вышлю по почте.
E-mail: info@telesys.ru