можно сделать такПривожу часть кода:
Код: Выделить всё
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
// тут думаем останавливать нам таймер или нет, так как таймер будет отсчитывать секунды,возможны срабатывания реле снова
};
}Код: Выделить всё
delay_ms(5000);Добавил некоторые изменения