Программу без регулировки написал:
#define F_CPU 1000000
#include <avr/delay.h>
#include <avr/io.h>
void preset()
{
DDRB = 0xFF; // PORTB работает на выход
DDRC = 0b00001111; // PC0-PC3 работает на выход, остальные РС4-РС7 на вход
DDRD = 0b00000000; // Весь порт работает на вход
PORTB = 0x00; // по умолчанию 0
PORTC = 0b11110000; // PC0-PC3 по умолчанию 0, к РС4-РС7 включены подтягивающие резисторы
PORTD = 0b11111111;// на весь порт включен подтяг резист
}
int main(void)
{preset();
while(1)
{
for (int b=0; b<=7; b++)
{PORTB = (1<<b);
_delay_ms(200);}
PORTB = 0x00;
for (int c=0; c<=3; c++)
{PORTC = (1<<c);
_delay_ms(200);}
PORTC = 0x00;
}
}
а вот как сюда кнопки регулировки пристроить не пойму пока (знаний не хватает). Хотелось бы регулировать с определенным диапазоном "+" или "-" например по 100мс, т.е. менять кнопками функцию _delay_ms. Если можно, то с комментариями. МК ATmega8, 12 светодиодов РВ0-РВ7 и РС0-РС3 и кнопки РС4 больше, т.е. =100мс, РС5 меньше, т.е. -100мс


