Кнопки

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
Anjey_N
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб ноя 03, 2007 20:15:42
Откуда: Энергодар, Украина

Кнопки

Сообщение Anjey_N »

Всем привет! Вот пришёл просить помощи. Задача несложная, только я вконец уже запутался.
Есть МК ATmega16, АЛС, индикация динамическая, кнопки М, +, -
Есть массив переменных set_temp[3]. Пока кнопки не нажаты, происходит каждые 5 сек поочерёдный вывод на индикатор содержимого массива. ( с этим я разобрался работает). При нажати на М включается режим редактирования, 2 мл разряда индикатора мигают. Кнопками + и - изменяется содержимое элемента массива. Последующее нажатие М приводит к переходу к следующему элементу массива.
Если все элементы отредактированы - записать в EEPROM.

Кто что посоветует, или поможет кодом. Свой я надлежаще оформлю и выставлю позже. Пишу на Си в ИАРе.
Может я в чём-то и не прав, но это моё мнение
Аватара пользователя
Anjey_N
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб ноя 03, 2007 20:15:42
Откуда: Энергодар, Украина

Сообщение Anjey_N »

схема
Вложения
skp_tr.GIF
(32.98 КБ) 432 скачивания
Может я в чём-то и не прав, но это моё мнение
Аватара пользователя
DIM4
Родился
Сообщения: 16
Зарегистрирован: Пн янв 21, 2008 20:21:02
Контактная информация:

Сообщение DIM4 »

что показывает первый разряд в то время как два младшие мигают?
Аватара пользователя
Anjey_N
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб ноя 03, 2007 20:15:42
Откуда: Энергодар, Украина

Сообщение Anjey_N »

служебный символ. этот код используется в программе терморегулятора. Например символ обозначает нижнюю уставку (вкл. нагревателя).
Может я в чём-то и не прав, но это моё мнение
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Может я что-то не так понял, но я думаю что тебе надо что-то типа этого. Это пример кода для работы с кнопками и масивом. Когда i=4 тогда нечего не меняем.

Код: Выделить всё

if(i>4){       //Ставим ограничение
i=0;
}
if(!PIND.2){          //если нажата кнопка  М
delay_ms(100);
i++;
}
if(!PIND.0){          //если нажата кнопка +
delay_ms(100);
set_temp[i]++;
}
if(!PIND.1){          //если нажата кнопка -
delay_ms(100);
set_temp[i]--;
}
Изображение
V-SV
Родился
Сообщения: 11
Зарегистрирован: Вс мар 09, 2008 23:35:07
Контактная информация:

Re: Кнопки

Сообщение V-SV »

Anjey_N писал(а):Последующее нажатие М приводит к переходу к следующему элементу массива.
Если все элементы отредактированы - записать в EEPROM.
Кто что посоветует, или поможет кодом.


Типа такого?http://www.ultratrafaret.ru/7segm/7segm.htm
Аватара пользователя
Anjey_N
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Сб ноя 03, 2007 20:15:42
Откуда: Энергодар, Украина

Сообщение Anjey_N »

За ответы спасибо. Посмотрите ещё мой код, может найдёте ошибки.
Вложения
Keys.rar
(36.15 КБ) 306 скачиваний
Может я в чём-то и не прав, но это моё мнение
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»