Код: Выделить всё
#define F_CPU 8000000UL
#define XTAL 8000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
static uint8_t s;
void timer0_init (void){
DDRD=(1<<PD0); /* PD0 в режим выхода*/
TCCR0B|=(1<<CS02)|(1<<CS00);/*Предделитель = 1024*/
TIFR0 = (1<<TOV0);/*флаг прерывания по переполнению*/
TCNT0 = 255;
s = 0;
TIMSK0=(1<<TOIE0);//прерывание по переполнению таймера 1
sei();//Разрешить прерывания
}
ISR(TIMER0_OVF_vect)
{
PORTD=(1<<s);
s++;
if(s==120)
{
s=0;
}
TCNT0= 255;/*начальное значение таймера*/
}
int main(void)
{ timer0_init();
while(1)
{
}
}



