//connect 8 leds to port b blink one by one
#include <stdint.h>
#define DDRB (*(volatile uint8_t*)0x24)
#define PORTB (*(volatile uint8_t*)0x25)
void delay1sec(void){
TCNT1 = 0;
TCCR1A = 0x00;
TCCR1B = 0x05;
while (TCNT1 < 15625);
TCCR1B = 0x00;
}
void setup() {
// put your setup code here, to run once:
DDRB |= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7);
}
void loop() {
// put your main code here, to run repeatedly:
PORTB |= (1<<0);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2)|(1<<3);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
PORTB |= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7);
delay1sec();
PORTB &= ~((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
delay1sec();
}