#include <avr/io.h>//input output
#define F_CPU 16000000UL//kecepatan clock

int main(){
  DDRD = 0xFF;
      PORTD |= (1<<7);
      delay_ms(750);//delay 750ms
      PORTD &= ~(1<<7);
  while(1){
    for(int i=6; i>=0;--i){ //Active running LED from center to edge
      PORTD |= (1<<i);
      delay_ms(750);//delay 750ms
      PORTD &= ~(1<<i); }
      for(int i=1; i<=7;++i){ //Active running LED from center to edge
      PORTD |= (1<<i);
      delay_ms(750);//delay 750ms
      PORTD &= ~(1<<i); }
   
  } 
}
void delay_ms(uint16_t milliseconds) { 
    while(milliseconds) {
        // Mengatur prescaler 64 untuk timer1 (16-bit timer) untuk periode 1 ms
        TCCR1B |= (1 << CS11) | (1 << CS10); // Prescaler 64
        TCNT1 = 0; // Reset counter value
        while (TCNT1 < 125); // Timer akan menghitung sebanyak 125 siklus untuk 1 ms pada prescaler 64
        milliseconds--;
    }}