использую AVR Studio 5
контроллер АТМЕГА32
Код: Выделить всё
#include <avr/io.h>
#include <avr/interrupt.h>
unsigned short sec=0, flag=0, min=0;
// обработчик прерывания по переполнению
ICR(TIMER1_OVF_vect) {
TCNT1H=0;
TCNT1L=0;
sec++;
flag=1;
}
void initTimer1(void)
{
cli();
TCCR1A=0; // выводы - нет, шим -нет
TCNT1=0; // стартуем начиная с нуля
TCCR1B=2; // тактирование на 8
TIMSK|=_BV(TOIE1); // прерывание по переполнению ТС1
sei();
}
int main(void)
{
initTimer1();
while(1) {
if (flag==1){
flag=0;
if(sec>59) {
sec=0;
min++;
if(min>59) min=0;
}
}
}
}