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

 
 
> Разъясните, как организовать кнопку на прерывании, Mega8, CodeVision
Alex K
сообщение Jul 19 2009, 05:04
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 19-07-09
Пользователь №: 51 371



камень - ATMega8, компилятор - CodeVision 1.24.8.
девайс считает импульсы со входа INT0 и выводит на светодиодный семисегментный индикатор. для расчета кол-ва импульсов задействован таймер_2, для динамической индикации - таймер_0. дополнительно используется ШИМ (для регулировки цвета светодиодного индикатора) - юзается таймер_1. на вход INT1 подвешена кнопка. собственно при нажатии на нее должна вызываться процедура, в которой задаются различные коэффициенты пересчета, цвет индикатора и т.п.
собственно проблема: при нажатии на эту кнопку возникает прерывание INT1, входим в процедуру настройки, но пропадает индикация (т.к. таймер_0 останавливается). я так понимаю, что после нажатия на кнопку (или после перехода в процедуру настройки) нужно запретить реагировать на возникновение этого прерывания? т.е. чтобы все остальные прерывания (кроме int1) вновь заработали... так? какие директивы прописать? ткните носом, если уже разжевывалось, найти не получилось...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex K
сообщение Jul 22 2009, 05:26
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 19-07-09
Пользователь №: 51 371



собственно количество кнопок обусловлено габаритами прибора и отсутствием свободных ножек микроконтроллера. и настройка будет производиться только один раз при установке и наладке прибора (можно и вовсе обойтись без кнопки и ручного ввода параметров, задавая все через программатор, но хочется, чтобы конечный юзер смог это сделать сам).


p.s. кнопка пострадала из-за неаккуратного обращения -)
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jul 22 2009, 06:46
Сообщение #3


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



С одной кнопкой много не сделаеш. Но у вас есть индикация. Нажимаете и удерживаете кнопку - переход в меню настройки, например начинает мигать номер меню и по одиночному нажатию перелистываете номера. Ещё раз нажатие и удержание переход в выбранное меню, по одиночным нажатиям меняете параметр, нажимаете и удерживаете кнопку - изменённый параметр сохраняется и переходит на уровень вверх. Ещё раз нажать и удержать выход из меню настройки. Немного запутанно но вполне реализуемо smile.gif
Ещё лучше предусмотреть выход с уарта (там пару проводков) на внешний преобразователь ttl-rs232 и настраивать через com-порт smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alex K   Разъясните, как организовать кнопку на прерывании   Jul 19 2009, 05:04
- - stells   мне кажется лучше в цикле динамической индикации с...   Jul 19 2009, 05:22
- - INT1   Установите MCUCR так, чтобы INT1 происходило по пе...   Jul 19 2009, 05:50
- - mempfis_   Самы простой вариант как вам посоветовали перенест...   Jul 19 2009, 07:32
- - Alex K   Цитата(INT1 @ Jul 19 2009, 11:50) Установ...   Jul 19 2009, 09:37
|- - stells   Цитата(Alex K @ Jul 19 2009, 13:37) пожал...   Jul 19 2009, 10:35
|- - mempfis_   Эх вы как настроить прерывание разобрались а как ...   Jul 19 2009, 10:59
- - Alex K   спасибо, сейчас пытаюсь придумать систему меню, чт...   Jul 19 2009, 11:40
|- - stells   Цитата(Alex K @ Jul 19 2009, 15:40) спаси...   Jul 19 2009, 12:16
|- - XVR   Цитата(Alex K @ Jul 19 2009, 15:40) спаси...   Jul 21 2009, 08:13
|- - AHTOXA   Пользователи бывают разные Некоторые даже умудряют...   Jul 21 2009, 09:08
|- - stells   Цитата(XVR @ Jul 21 2009, 12:13) У меня б...   Jul 21 2009, 09:28
- - KvKv   С одной кнопкой можно использовать, например, двой...   Aug 8 2009, 07:06


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

 


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


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