Программирование таймера на 2 часа (tiny2313)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Сообщения: 155
Зарегистрирован: Вт авг 19, 2008 23:39:59
Откуда: г.Смоленск

Сообщение Saadov »

Привожу часть кода:
можно сделать так

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

interrupt [TIM1_COMPA] void timer1_compa_isr(void) 
{ 
// сюда попадаем каждую секунду 
// проверяем счётчик секунд. если досчитал до нуля, то ничего не делаем 

if(sec_counter!=0) // если не ноль, то уменьшаем на единичку 
{ 
sec_counter--;
  //делаем что то, если  sec_counter не равен 0
}else{                 //если sec_counter равен 0, то выполняем код
sec_counter=0; // обнуляем счетчик
PORTB.0=1;        //перекл реле2 в сост 0 
PORTB.1=1;     //замыкание реле 3 по 1

// тут думаем останавливать нам таймер или нет, так как таймер будет отсчитывать секунды,возможны срабатывания реле снова 
        };
}
А если вам нужно, чтобы отсчет времени начинался через 5 секунд после включения, то просто запускайте таймер после

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

delay_ms(5000);
Вы можете запускать и останавливать таймер AVR в любой момент когда захотите.

Добавил некоторые изменения
Реклама
Закрыто

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