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

 
 
> Прерывания от кнопок
over
сообщение Jan 20 2005, 16:39
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 20-01-05
Пользователь №: 2 086



Есть в семействе AVR чип которого можно разбудить изменением лог. уровня на входе порта? Реально есть 4 кнопки, нужно чтобы контроллер впадал в спячку при отпускании кнопки и завершении операции и соотв. будился при нажатии любой кнопки. В 2313 есть только два входа внешнего прерывания что маловато. Можно подвесить что-нибудь снаружи, но теряется кайф использования микроконтроллера.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stas
сообщение Jan 29 2005, 18:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 1-10-04
Из: Челябинск
Пользователь №: 751



Я делаю так. По внешнему прерыванию от нажатия кнопки проц просыпается и считывает код нажатой клавиши, снимает внешнее прерывание и запускает таймер на 250мс и производит какие то действия по обработке реакции на однократное нажатие, по прерыванию переполнения таймера считываем код нажатой клавиши, если код тот же - то считаю вторым нажатием (чтоб пользователь не мацал клаву и не портил себе нервы) и опять заряжаем таймер на 250 мс производим соответствующие действия по обработке 2 - х кратного нажатия и т.д. - считаем все многократным нажатием. Если при очередном переполнении таймера код считанной кнопки изменился то это идет как первое нажатие другой клавиши. Если же при прерывании таймера нет нажатой клавиши, то опять производим какие то действия (засыпаем, обрабатываем что вызвалось нажатием клавиши и т.п.). Все просто. А 250 мс - это засело со времен института, вроде как оптимальное время сканирования клавиатуры. Если устройство критично к потреблению, то можно сделать чтоб проц сам себе управлял питанием. Т.е. - нажали кнопку - подали питание - по прерыванию RESET он оживился и обработал клаву как написано выше, после чего сам себе отрубил питание.. При работе с ЖКИ и клавиатурой бывает удобна идея системного таймера, когда один таймер формирует сетку частот на сканирование клавы и на вывод в ЖКИ (если использовать порт с ЖКИ только на вывод, не считывая его бит состояния).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- over   Прерывания от кнопок   Jan 20 2005, 16:39
- - RayDen   Обычные четырехногие кнопки для пайки на плату име...   Jan 20 2005, 17:05
|- - over   Цитата(RayDen @ Jan 20 2005, 20:05)Обычные че...   Jan 20 2005, 17:21
|- - -Tумблер-   Цитата(over @ Jan 20 2005, 20:21)Но ситуация ...   Jan 21 2005, 12:05
- - nml   Цитата(over @ Jan 20 2005, 19:39)Есть в семей...   Jan 20 2005, 20:24
- - halfdoom   Цитата(over @ Jan 20 2005, 20:39)Есть в семей...   Jan 21 2005, 08:42
- - KRS   В Atiny2313 есть же Pin Change Interrupt   Jan 21 2005, 13:33
- - -Tумблер-   Цитата(over @ Jan 20 2005, 19:39)Реально есть...   Jan 21 2005, 14:56
|- - halfdoom   Цитата(-Tумблер- @ Jan 21 2005, 18:...   Jan 24 2005, 04:34
- - sseett   Как вариант - использовать АЦП (всего 1 вывод), а ...   Jan 22 2005, 04:47
- - TriD   Цитата(over @ Jan 20 2005, 20:39)Есть в семей...   Jan 24 2005, 14:19
- - over   Всё прочитал. Благодарю. Особенно Trid. Попробую о...   Jan 28 2005, 20:18
- - over   Есть вопрос по алгоритму защиты от дребезга контак...   Jan 29 2005, 18:01
- - over   проц просыпается и считывает код нажатой клавиши А...   Jan 29 2005, 19:03
- - Stas   Дребезг появляется в момент нажатия / размыкания к...   Jan 29 2005, 19:32
- - Пришелец   Нормально работает опрос 1 раз в 50 мс (с нормальн...   Jan 31 2005, 05:37
- - sav6622   Я устраняю дребезг следующим образом: организуется...   Feb 3 2005, 12:21
- - veter   у меня реализовано следующее: по таймеру вызываю ...   Feb 3 2005, 14:33
- - berberber   Цитата(over @ Jan 20 2005, 19:39)Есть в семей...   Feb 4 2005, 17:26


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

 


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


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