Есть прерывание. Обнуление таймера надо проводить до выполнения кода или это обязательно делать в конце функции-обработчика? Но ведь если от прерывания до обнуления будет выполняться действие - часы будут отставать? :roll:
- Код: Выделить всё
void timer1_ovf_isr(void)
{
sec++;
if(sec==60){sec=0;min++;}
if(min==60){min=0;sec=0;hr++;}
if(hr==24){hr=0;min=0;sec=0;}
//Вот эти вот строчки можно в начало?
TCNT1H = 0xC2; //reload counter high value
TCNT1L = 0xF7; //reload counter low value
}