#include #include #include #define DELAY 50 #define BITS sizeof(PORTB) * CHAR_BIT - 1 int main(void) { int i; DDRB = 0xff; PORTB = 1; for (;;) { for (i = 0; i < BITS; i++) { _delay_ms(DELAY); PORTB = PORTB << 1; } for (i = BITS; i > 0; i--) { _delay_ms(DELAY); PORTB = PORTB >> 1; } } return 0; }