там не дали такой информации.вот схема и прошивка.
------------------------------------------------------
SB1 будет для переключения режима мигания, а кнопка SB2 для изменения частоты мигания. Исходный код приведен ниже:
int main(void)
{
DDRD = 0xff; /* все выводы порта D сконфигурировать как выходы */
DDRC = 0x00; //выводы порта С сконфигурировать как входы
PORTC = 0xff; // установить "1" на всех выводах порта C,
// включаем подтягивающие резисторы
int i=0; //для задержек
int j=0; //для смены битов порта D
int d=20; //для изменения периода миганий
int sw=0; //для изменения режимов миганий
while (1) // Бесконечный цикл
{
if (!(PINC & (1<<PINC4))) //если логический ноль на 4 бите порта С
{
sw++; //преключить режим миганий
if(sw>4)sw=0;
}
if (!(PINC & (1<<PINC3))) //если логический ноль на 3 бите порта С
{
d+=20; //увеличить период миганий
if(d>260)d=20;
}
switch(sw)
{
case 0:
DDRD |= 1<<j;
for(i=0;i<d;i++)_delay_us(50);
DDRD &= ~(1<<j);
for(i=0;i<d;i++)_delay_us(50);
j++;
if(j>3)j=0;
break;
case 1:
DDRD |= 1<<j;
for(i=0;i<d;i++)_delay_us(50);
DDRD &= ~(1<<j);
for(i=0;i<d;i++)_delay_us(50);
j--;
if(j<0)j=3;
break;
case 2:
DDRD &= ~(1<<j);
for(i=0;i<d;i++)_delay_us(50);
DDRD |= 1<<j;
for(i=0;i<d;i++)_delay_us(50);
j++;
if(j>3)j=0;
break;
case 3:
DDRD &= ~(1<<j);
for(i=0;i<d;i++)_delay_us(50);
DDRD |= 1<<j;
for(i=0;i<d;i++)_delay_us(50);
j--;
if(j<0)j=3;
break;
case 4:
DDRD=0xff;
for(i=0;i<d;i++)_delay_us(50);
DDRD=0x00;
for(i=0;i<d;i++)_delay_us(50);
break;
}
}
}