Пацаны,подскажите пожалста как работает матричная клавиатура,ну к примеру 3х3 или 4х3, а то сам я никак не могу докумекать как это
действует вообще????.... Спасибо.
Последний раз редактировалось aen Чт окт 23, 2014 02:33:51, всего редактировалось 1 раз.
Причина:Исправил. Нарушение Правил форума п. 1.5
Я делаю так: на столбцах формирую "бегущую единицу", то есть "1" появляется вначале на первом столбце, затем на втором, третьем... и так далее, по циклу, в прерываниях от таймера или тупо задержкой, с частотой сотни Гц . После формирования "1" на каком либо столбце, считываю состояние всех горизонтальных линий опроса, сразу получая 1 байт. Гашу в "0" не значащие 4 разряда этого байта (там могут быть посторонние сигналы) . Далее, складываю полученный байт с номером текущего столбца возведённому в квадрат. (чаще всего, нужно только сложение, так как в подпрограмме бегущей "1", квадрат номера столбца может получается автоматически, при использовании линий одного порта МК подряд.) Получаю код клавиши. Такой способ применим для 4х4 или меньших матриц. Далее следует проверка на дребезг контактов, и если нужно, подпрограмма автоповтора. В результате код клавиши заносится в буфер и ставится признак, что его надо считать.