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

 
 
> Вопрос по прерываниям.
ps1x
сообщение Mar 19 2006, 14:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Как реализовать одновременную работу индикатора (16 светодиодов для отображения времени в двоичном виде, т.е. 6 диодов на секунды, 6 на минуты и 4 на часы), кнопок и собствено подсчет времени. При этом я не втыкаю как управлять ключами на транзисторах. На сколько я понял -
нужно сделать прерывание по таймеру(быстрому, чтобы не было мерцания) и в прерывании включить первые 6 диодов, а затем вторые, т.е. если допустим светодиоды подключены к порту B а ключи к ногам 0 и 1 порта C то:

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
PORTC.0=1;//включаем первые 6 диодов (секунды)
PORTB=sec;//собсно записываем на выход значение секунд.
delay_ms(100);//ждем чтобы они немного посветили
PORTC.0=0;//выключаем первые 6 диодов (секунды)
PORTC.1=1;//включаем вторые 6 диодов (минуты)
PORTB=min;//собсно записываем на выход значение минут.
delay_ms(100);//ждем чтобы они немного посветили
PORTC.1=0;//выключаем вторые 6 диодов (минуты)
}

- но в протеусе это не работает (((

а еще одно прерывание, делаем для подсчета времени, прерывание выполняется каждую секунду.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Mar 19 2006, 14:22
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Хм... Да что и говорить схема серьезная. советую почитать теорию http://www.ssau.ru/books/electronic_keys/

ну и вдобавок что касается непосредственно AVR - имея практически полностью свободный порт D вы жертвуете пином Reset от которого зависить ISP программирование. После чего можно бежать покупать параллельный программатор или бежать покупать новый чип..
Go to the top of the page
 
+Quote Post



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

 


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


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