AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
17.11.2013, 10:37
|
#1
|
Частый гость
Регистрация: 10.04.2009
Адрес: Санкт-Петербург
Сообщений: 43
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Проект для мультиварки
Помогите пожалуста дописать и подредактировать код,вот файлы протеуса и исходники codevisionavr,при нажатии на кнопку выбирается определенная команда например суп ,каши и так далее при которой на дисплее уже загорается определенное время которое можно будет задавать самому,и определенный светодиод,
сейчас остановился на том как при нажатии кнопки PIND7 начать обратный отсчет времени при котором загорелся бы светодиод D5 (вместо него нагревательный тен) например на команде свечения светодиода D1, ТАК ЧТОБЫ в конце таймера когда будут все 00 00 светодиод D5 погас , все вернулось на начала выбора программы.
Помогите пожалуста
|
|
|
|
17.11.2013, 18:46
|
#2
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: проект для мультиварки
Для настройки портов используйте визард.
В вашем случае, для порта В он выдает
[HTML]// Port B initialization
// Func7=In Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=P State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTB=0xFF;
DDRB=0x7F;[/HTML]
Проверьте остальные порты, порт Д явно неверно инициализирован.
В протеусе замените KNOPKI1.нех на KNOPKI1.cof и сможете заняться пошаговой отладкой.
Желтый квадратик в протеусе это признак замыкания, такого не должно быть.
|
|
|
Сказали "Спасибо" CodeNameHawk
|
|
|
17.11.2013, 20:47
|
#3
|
Частый гость
Регистрация: 10.04.2009
Адрес: Санкт-Петербург
Сообщений: 43
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: проект для мультиварки
Сообщение от CodeNameHawk
|
Для настройки портов используйте визард.
В вашем случае, для порта В он выдает
[HTML]// Port B initialization
// Func7=In Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=P State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTB=0xFF;
DDRB=0x7F;[/HTML]
Проверьте остальные порты, порт Д явно неверно инициализирован.
В протеусе замените KNOPKI1.нех на KNOPKI1.cof и сможете заняться пошаговой отладкой.
Желтый квадратик в протеусе это признак замыкания, такого не должно быть.
|
А можете подсказать как упростить код
Как от одной кнопки делать две и более операции?
нажал одну кнопку загорелся один светодиод
нажал еще раз эту же кнопку загорелся второй светодиод
|
|
|
|
17.11.2013, 21:20
|
#4
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,087
Сказал спасибо: 2,565
Сказали Спасибо 11,899 раз(а) в 5,972 сообщении(ях)
|
Re: проект для мультиварки
Переменная "счетчик нажатий", а по результату анализа - действие.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
17.11.2013, 21:29
|
#5
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: проект для мультиварки
State machine однозначно. Давненько, году в 2006 заказчику приспичило так же одной кнопкой орудовать . Куча предустановленных режимов и т.д. и т.п. , отлов коротких нажатий , длительных, повторов .
И тут на глаза попалось сие http://www.aqdi.com/state.htm
__________________
Осторожно , злой кот
|
|
|
Сказали "Спасибо" dosikus
|
|
|
17.11.2013, 22:05
|
#6
|
Частый гость
Регистрация: 10.04.2009
Адрес: Санкт-Петербург
Сообщений: 43
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: проект для мультиварки
Сообщение от akegor
|
Переменная "счетчик нажатий", а по результату анализа - действие.
|
что за переменная ?
|
|
|
|
17.11.2013, 22:25
|
#7
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,087
Сказал спасибо: 2,565
Сказали Спасибо 11,899 раз(а) в 5,972 сообщении(ях)
|
Re: проект для мультиварки
Откуда взялась? Сами заведите и при каждом нажатии наращивайте в пределах количества состояний Вашего автомата, Досикус ссылку дал. "Цифровой автомат", "машина состояний" - суть одно и то же.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
18.11.2013, 12:48
|
#8
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Re: Проект для мультиварки
Я очень извиняюсь, но нафига ОДНОЙ КНОПКОЙ?
Я чисто по-человечески интересуюсь...
Если это такой тип мазохизма (острый интерес), то, наверное, для полного удовольствия надо это сделать лично самому. Но тогда зачем спрашивать?
А если с точки зрения минимализации органов управления - не сочтите за рекламу, взгляните вот сюда. Валкодер с нажатием (aka "ОК") + кнопка "Esc". Очень удобно - говорю это как обладатель дивайса.
Все необходимые детали, при желании, выдираются из любой приличной "мышки".
Если самому и непеременно одной кнопкой - у Вас в каждый момент времени есть некоторое состояние (узел) и возможность переходов из него (ветви). Переходов не более количества видов воздействия на кнопку. На "однокнопочных" видов воздействия обычно не более трех (нажатие, двойное нажатие и длинное нажатие). Строите дерево и гуляете по нему. Программно (скажем, по событию "Завершение программы") вы можете переходить в любой узел дерева.
Правила эргономики требуют, чтобы пользователь при нахождении в каждом узле знал все возможные переходы из этого узла и воздействия им соответствующие.
Например, узел "Птица". Одно нажатие - "Цельный кусок", двойное нажатие "Кусками", длинное нажатие "Возврат к разделу Ингредиентов".
И вот еще про организацию древовидных меню. Думаю, будет полезно.
Последний раз редактировалось EagleB3; 18.11.2013 в 12:52.
|
|
|
|
18.11.2013, 13:42
|
#9
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Проект для мультиварки
|
|
|
|
18.11.2013, 22:58
|
#10
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: проект для мультиварки
Сообщение от harry7777
|
А можете подсказать как упростить код
Как от одной кнопки делать две и более операции?
нажал одну кнопку загорелся один светодиод
нажал еще раз эту же кнопку загорелся второй светодиод
|
Делал так:
"короткое" нажатие кнопки выбор следующего пункта меню, если это последний пункт меню - переход на первый.
"длинное" нажатие(удержание) выполнение выбранного пункта или переход в под меню.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:51.
|
|