Составители:
246
Рис. 137. Эффект фантомного нажатия кнопки
Итак, проблема проявляется при следующем условии: нажатыми должны
быть минимум три кнопки, первая из которых находится в сканируемом
столбце, вторая в том же ряду, что и первая, а третья в том же столбце, что и
вторая.
Основным решением проблемы представляется ограничение на количество
одновременно нажатых кнопок. Безопасным количеством являются две кнопки
.
Если нажато более двух кнопок, можно всячески предупреждать об этом
пользователя (визуальная и/или звуковая сигнализация).
Второе решение проблемы вытекает из условия проявления проблемы.
Ведь не любое сочетание клавиш приводит к фантомному нажатию. Можно
реализовать алгоритм, проверяющий условие, при котором эта проблема
проявляется, и в этом случае игнорировать ввод. Но
вот нужна ли такая
клавиатура, в которой не все комбинации клавиш допустимы, это вопрос
конкретной разработки.
Если у нас кнопок не просто много, а очень много, то даже
матрицирование не спасает от огромного расхода линий порта
микроконтроллера. Тут приходится либо жертвовать несколькими портами,
либо вводить дополнительную логику, например, дешифратор с инверсным
выходом. Дешифратор принимает на вход двоичный код, а на выходе выдает
«1» в выбранный разряд, а у инверсного дешифратора будет «0» (рис. 138).
Страницы
- « первая
- ‹ предыдущая
- …
- 245
- 246
- 247
- 248
- 249
- …
- следующая ›
- последняя »
