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

 
 
 
Reply to this topicStart new topic
> Как подключить 4 кнопки к at2313? чтобы...
Genri
сообщение Mar 17 2008, 15:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Как подключить 4 кнопки к at2313, чтобы по нажатию любой из них возникало прерывание, причем кнопки эти двух контактные работают на замыкание?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 17 2008, 16:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Читай AppNote AVR240 - клавиатура правда 4x4, но идея та же.
Там по сути элемент ИЛИ или ИЛИ-НЕ в диодной логике.
Правда я лично не проверял.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
sysel
сообщение Mar 17 2008, 16:10
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(Genri @ Mar 17 2008, 18:38) *
Как подключить 4 кнопки к at2313, чтобы по нажатию любой из них возникало прерывание, причем кнопки эти двух контактные работают на замыкание?


См. прикрепленную картинку.
Используются внутренние подтягивающие резисторы. (линии АВР настроены как входы, в порт записаны единицы).
При нажатии на какую-либо из кнопок на линии INT1 появиться 0.
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
sysel
сообщение Mar 17 2008, 17:20
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Или другой вариант с экономией диодов.

состояние 1 (начальное):
ПОРТ - выход, все = 0
INT1 - подтянутый к "1" вход, прерывание по отрицательному перепаду

В обработчике прерывания:
делаем ПОРТ подтянутым входом
делаем INT1 выходом = 0;
считываем с линий порта, что за кнопка нажата (соотв. бит будет = 0))
делаем чего-то полезное
переводим всё в состояние 1 (начальное)
выходим из прерывания.

Сообщение отредактировал sysel - Mar 17 2008, 17:21
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
CDT
сообщение Mar 18 2008, 13:21
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



А можно запустить таймер с периодом прерываний 4-10 мс и опрашивать кнопки в этом прерывании.


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 18 2008, 13:30
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Genri - не забудте про антидребезговые элементы - можете поиметь траблы если пропустите этот момент..
Go to the top of the page
 
+Quote Post
Genri
сообщение Mar 18 2008, 19:50
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Цитата(Kuzmi4 @ Mar 18 2008, 17:30) *
2 Genri - не забудте про антидребезговые элементы - можете поиметь траблы если пропустите этот момент..

Извините за дилетантские вопросы. Что вы подразумеваете под "антидребезговыми элементами"?
Включить емкости параллельно кнопкам? Я думал программно с дребезгом бороться (ввести задержку например или многократный опрос состояния) или этого может быть недостаточно?
Подскажите чайнику как лучше сделать, зараннее спасибо
Go to the top of the page
 
+Quote Post
CDT
сообщение Mar 19 2008, 04:00
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



Цитата(Genri @ Mar 18 2008, 22:50) *
Извините за дилетантские вопросы. Что вы подразумеваете под "антидребезговыми элементами"?
Включить емкости параллельно кнопкам? Я думал программно с дребезгом бороться (ввести задержку например или многократный опрос состояния) или этого может быть недостаточно?
Подскажите чайнику как лучше сделать, зараннее спасибо

А по входу прерывания?
Если его обработка будет короче дребезга - так и будете туда прыгать.


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post

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

 


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


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