/* Cylon eyes actually turns out to be a decent POV routine. The only change here is in DELAYTIME. */ #include /* Defines pins, ports, etc */ #include /* Functions to waste time */ #define DELAYTIME 2 /* milliseconds */ int main(void) { uint8_t i=0; DDRB = 0b11111111; /* Data Direction Register B: all on */ while (1) { while (i < 7) { PORTB = (1 << i); /* illuminate only i'th pin */ _delay_ms(DELAYTIME); /* wait */ i = i + 1; /* move to the next LED */ } while (i > 0) { PORTB = (1 << i); /* illuminate only i'th pin */ _delay_ms(DELAYTIME); /* wait */ i = i - 1; /* move to the previous LED */ } } return 0; }