forkir
|
|
1 | |
Метод опроса матричной клавиатуры.13.11.2016, 11:11. Показов 5854. Ответов 5
Метки нет (Все метки)
Добрый день. Возник один вопрос. В моем устройстве используется матричная клавиатура. Опрашиваю я её поднимая одну 1 в столбце (остальные нули). Но в интернете в большинстве примеров делается наоборот - при опросе поднимается один ноль (а остальные столбцы держатся в 1). Моя программа впринципе работает, но это в идеальных лабораторных условиях. Вопрос в следующем: опрос нулем дает ли какие-либо приемущества (например лучшую помехозащищенность и т. п.) или же никакой разницы нет?
|
13.11.2016, 11:11 | |
Ответы с готовыми решениями:
5
Эквивалентная схема матричной клавиатуры Опрос матричной клавиатуры 5*3 с помощью прерывания Контроллер матричной клавиатуры с выходом на i2c Сканирование матричной клавиатуры Опрос матричной клавиатуры |
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
|
|
13.11.2016, 12:31 | 2 |
Преимуществ по помехозащищённости нет, но т.к. многие МК имеют внутреннюю подтяжку только к единице то на них матричную клавиатуру без внешних компонентов можно реализовать только при опросе нулём.
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
13.11.2016, 12:38 | 3 |
Главное понимать - на остальных ногах столбца не ноль выставлять, а подтяжку к земле. Иначе одновременное нажатие двух соседних кнопок спалит порт. Соответственно в AVR подтяжки есть только к питанию, и если не использовать внешних резисторов, то вариант один - выставляем везде выход с подтяжкой к питанию и один столбец в ноль.
0
|
forkir
|
|
13.11.2016, 14:31 | 4 |
Понятно спасибо. Я использую милиндровский cortex m1. От кз защищаюсь диодами. Хотя да, правильнее было бы сделать программную защиту. Чтобы во время опроса остальные ножки были сконфигурированы на вход (High-Z) с подтяжкой.
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
|
|
13.11.2016, 15:40 | 5 |
Я себе довольно просто делал: ноги, подключенные к столбцам, настроил как opendrain с подтяжкой к плюсу; подключенные же к строкам ноги настроил на плавающий вход тоже с подтяжкой к плюсу.
Поочередно столбцы сажаю на землю и смотрю, что там в строках. Указанный пример позволяет эмулировать на компьютере обычную USB-клаву при помощи матричной. P.S. Код написан через одно место совершенно не является образцом для подражания. По-человечески, надо было делать КА, а не страдать фигней с блокировками и непосредственной проверкой. А еще можно использовать ПДП для опроса клавы: в столбцы DMA будет писать поочередно нужные значения, а из строк считывать. Правда, в данном случае сложней будет антидребезг реализовать.
0
|
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
|
|
13.11.2016, 18:54 | 6 |
Есть еще вариант замороченный с ADC и резисторами, он экономит порты но тратит время на обработку. (подобный изврат особенно любит APPLE на своих мобильных устройствах)
Суть в следующем, куча резисторов при нажатии на кнопки получается делитель. Успех в реализации напрямую зависит от качества стабилизатора напряжения (обычно ставят отдельный LDO) и правильности подбора резюков. P\S помех оно совершенно не боится, а вот попадание в воду с последующим окислением выводит устройство из строя (у Айфонов кнопки переставали работать боковые).
0
|
13.11.2016, 18:54 | |
13.11.2016, 18:54 | |
Помогаю со студенческими работами здесь
6
Опрос матричной клавиатуры 3х3 Опрос матричной клавиатуры. Подтверждение отправки ATtiny2313. ASM. Динамический опрос матричной клавиатуры Программа для матричной клавиатуры стенда SDK-1.1 MSP430 Подключение матричной клавиатуры к цифровому светодиоду Как организовать опрос матричной клавиатуры + DS18B20? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |