Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение клавиатуры
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
SergeyM
Всем привет ;)
Решил усовершенствовать свой проект и добавить клаву 4х4. Прочел AVR240 вроде так называлась статья, но реализовывал используя ЖК а не светодиодный индикатор. К тому же клаву подключил к одному порту, ЖК к другому и програмно отправляю символ нажатой клавиши. Все вроде работает но не доконца :) символы выводятся но только по первому столбцу т.е. 7, 4, 1, С (это символы первого столбца в моей клаве). Пробовал по разному делать задержку для антидребезга, но чето никак. Вообще реализую так:
на порт выдаю 0xF0 и с помощью прерываний проверяю число на PIN если не равно 240, то значит нажали на кнопку и отправляюсь в функцию обработки нажатия:
[CODE]
KeyPress(void){
//delay_ms(20); пробовал ее везде пихать :)
switch (PINB) {
case 224: key = 0;
delay_ms(10);
break;
case 208: key = 4;
delay_ms(10);
break;
case 176: key = 8;
delay_ms(10);
break;
case 112: key =
Miron
Я извеняюсь а как вы сделали клавиатуру?

Если это матрица 4х4 то перед чтением надо
сначала выбрать одну из строк, потом прочитать
данные с порта, пререключить строку снова прочитать и тд
естественно если нажатие на строке зафиксированно
отсчитать дребезг и снова проверить тот ли код прочитан
что и до фиксации нажатия. Естественно кнопки надо опрашивать
через какой нибудь временной интервал (можно прямо в пп прерывания
от таймера)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.