Страница 1 из 1

Матричная клавиатура

Добавлено: Чт окт 23, 2014 02:30:40
eduardo
Пацаны,подскажите пожалста как работает матричная клавиатура,ну к примеру 3х3 или 4х3, а то сам я никак не могу докумекать как это
действует вообще????.... :dont_know: Спасибо.

Re: Матричная клавиатура

Добавлено: Чт окт 23, 2014 03:56:08
kalobyte
столбец выставляется в 1
потом в цикле пробегаеш по входам строк и ловиш единицу

либо столбцы подтягиваеш к полюсу резисторами, на одном столбце выставляеш 0 и ищеш в строках ноль

Re: Матричная клавиатура

Добавлено: Сб окт 25, 2014 20:37:24
4elovek37
Добавлю, что таким образом у каждой клавиши появляется адрес в формате "строка - столбец"

Re: Матричная клавиатура

Добавлено: Ср окт 29, 2014 12:51:37
Microtech
Я делаю так: на столбцах формирую "бегущую единицу", то есть "1" появляется вначале на первом столбце, затем на втором, третьем... и так далее, по циклу, в прерываниях от таймера или тупо задержкой, с частотой сотни Гц . После формирования "1" на каком либо столбце, считываю состояние всех горизонтальных линий опроса, сразу получая 1 байт. Гашу в "0" не значащие 4 разряда этого байта (там могут быть посторонние сигналы) . Далее, складываю полученный байт с номером текущего столбца возведённому в квадрат. (чаще всего, нужно только сложение, так как в подпрограмме бегущей "1", квадрат номера столбца может получается автоматически, при использовании линий одного порта МК подряд.) Получаю код клавиши. Такой способ применим для 4х4 или меньших матриц. Далее следует проверка на дребезг контактов, и если нужно, подпрограмма автоповтора. В результате код клавиши заносится в буфер и ставится признак, что его надо считать.