Доброе время суток. В данный момент изучаю AVR, пишу простую прошивку на 3 светодиода, помогите организовать бесконечный цикл, и изменения время задержки.
PD0 переключение светодиодов 123
PD1 переключение светодиодов 321
PD2 остановка переключений.
#include <delay.h>
void main(void)
{
PORTC=0x00;
DDRC=0x07;
PORTD=0x07;
DDRD=0x00;
while (1)
{
if(PIND.0==0)
{
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
PORTC.1=1;
delay_ms(100);
PORTC.1=0;
PORTC.2=1;
delay_ms(100);
PORTC.2=0;
};
if(PIND.2==0)
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=0;
};
if(PIND.1==0)
{
PORTC.2=1;
delay_ms(100);
PORTC.2=0;
PORTC.1=1;
delay_ms(100);
PORTC.1=0;
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
}
};
}
PD0 переключение светодиодов 123
PD1 переключение светодиодов 321
PD2 остановка переключений.
Спойлер
#include <mega8.h>#include <delay.h>
void main(void)
{
PORTC=0x00;
DDRC=0x07;
PORTD=0x07;
DDRD=0x00;
while (1)
{
if(PIND.0==0)
{
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
PORTC.1=1;
delay_ms(100);
PORTC.1=0;
PORTC.2=1;
delay_ms(100);
PORTC.2=0;
};
if(PIND.2==0)
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=0;
};
if(PIND.1==0)
{
PORTC.2=1;
delay_ms(100);
PORTC.2=0;
PORTC.1=1;
delay_ms(100);
PORTC.1=0;
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
}
};
}