Это исходный текст прошивки:
Код:
/*
*/
#include <avr/io.h>
#include <math.h>
#include <avr/delay.h>
#define SEC (60*60) //время одного цикла в секундах (всего 4 цикла)
static inline void delay() //задержка в одну секунду. При смене тактовой частоты нужно изменять коэффициенты
{
unsigned int k;
for(k=0;k<500;k++)
{
_delay_loop_2(500); //вызов задержки на 4 такта
}
}
int main(void)
{
PORTB=6+1;
DDRB=1+2+4+8+16+32;
unsigned int i;
unsigned int j;
for(i=8;i<128;i*=2) //перебор циклов
{
for(j=0;j<SEC;j++)
{
delay();
PORTB=(PORTB&(~2))|((~PORTB)&2); //переключение D1 из включенного состояния в выключенное и наоборот
}
PORTB=PORTB|i; // включение следующего светодиода
}
PORTB=PORTB&(2+4+8+16+32); //команда на исполнительное устройство
while(1) //зацикливание
{
PORTB=(PORTB&(~(2+4+8+16+32)))|((~PORTB)&(2+4+8+16+32));
delay();
}
return 0;
}
Компилировать его нужно в AvrStudio, установив перед этим пакет программ WinAvr.