реклама на сайте
подробности

 
 
> Подключение клавиатуры, Не получается
SergeyM
сообщение Jun 15 2005, 17:09
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 1-05-05
Из: Снежинск
Пользователь №: 4 654



Всем привет wink.gif
Решил усовершенствовать свой проект и добавить клаву 4х4. Прочел AVR240 вроде так называлась статья, но реализовывал используя ЖК а не светодиодный индикатор. К тому же клаву подключил к одному порту, ЖК к другому и програмно отправляю символ нажатой клавиши. Все вроде работает но не доконца smile.gif символы выводятся но только по первому столбцу т.е. 7, 4, 1, С (это символы первого столбца в моей клаве). Пробовал по разному делать задержку для антидребезга, но чето никак. Вообще реализую так:
на порт выдаю 0xF0 и с помощью прерываний проверяю число на PIN если не равно 240, то значит нажали на кнопку и отправляюсь в функцию обработки нажатия:
Код
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 = 12;
       delay_ms(10);
       break;  
   };
PORTB = 0x0F;
DDRB = 0xF0;
delay_us(10);
switch (PINB) {
   case 7: key += 0;
       delay_ms(10);
       break;
   case 11: key += 1;
       delay_ms(10);
       break;
   case 13: key += 2;
       delay_ms(10);
       break;
   case 14: key += 3;
       delay_ms(10);
       break;  
   };
PORTB = 0xF0;
DDRB = 0x0F;
PORTA.2 = 1; типа флаг нажати ниче более мудрого сразу не пришло :)

}


Далее в бесконечном цикле проверяю флаг нажатия и отправляю на экран символ из "таблицы" в качестве которой использовал массив символов, а key это номер символа в массиве. Разумеется после отправки флаг сбрасываю.

PS Сильно не ругайте, а вот за дельный совет всегда благодарен буду.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SergeyM   Подключение клавиатуры   Jun 15 2005, 17:09
- - rezident   Немного не так это делается. По крайней мере я не ...   Jun 15 2005, 17:57
|- - Make_Pic   Цитата(rezident @ Jun 15 2005, 20:57)Немного ...   Jun 15 2005, 18:11
|- - SergeyM   Цитата(rezident @ Jun 15 2005, 20:57)Немного ...   Jun 16 2005, 05:01
|- - yung   Обычно делается так. Строки определяются как выход...   Jun 16 2005, 05:21
|- - rezident   Цитата(SergeyM @ Jun 16 2005, 11:01)А какое у...   Jun 16 2005, 15:52
|- - SergeyM   Цитата(rezident @ Jun 16 2005, 18:52)Обычно и...   Jun 16 2005, 16:07
|- - SergeyM   Цитата(rezident @ Jun 16 2005, 18:52)Вот вам ...   Jun 17 2005, 14:09
- - vet   Цитата(SergeyM @ Jun 15 2005, 21:09) на мой в...   Jun 15 2005, 18:24
|- - yung   а в процедуре опроса клавиш гасил бы столбцы поо...   Jun 16 2005, 04:41
|- - SergeyM   Цитата(vet @ Jun 15 2005, 21:24)Код//коды кла...   Jun 16 2005, 16:17
|- - rezident   Цитата(SergeyM @ Jun 16 2005, 22:17)Цитата(ve...   Jun 16 2005, 16:29
|- - vet   Цитата(rezident @ Jun 16 2005, 20:29)Цитата(S...   Jun 16 2005, 16:35
|- - SergeyM   Цитата(rezident) Ниче страшного самое главное сут...   Jun 16 2005, 16:43
|- - rezident   Цитата(SergeyM @ Jun 16 2005, 22:43)Цитата(re...   Jun 16 2005, 18:29
- - AndyBig   Я делаю по тому же принципу, что описал vet: Цитат...   Jun 16 2005, 20:00
- - rezident   Вот вам мой модуль для обслуживания клавиатуры 2х3...   Jun 17 2005, 10:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 02:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016