void port_init();
void out_port(unsigned char x);
void delay1();
void delay1() {
volatile long i;
for (i = 0; i < 200000; i++); // Basic delay loop
}
void port_init() { /////DDRB (Data Direction Register for Port B)
DDRB = 0xF3; // Set PB0, PB1, PB4, PB5 as outputs (0b11110011)
}
void out_port(unsigned char x) { //PORTB (Port B Data Register)
PORTB = x; // Set the output value on Port B
}
void setup() {
port_init(); // Initialize the port
}
void loop() {
uint8_t i;
unsigned char y;
while (1) {
for (i = 0; i < 8; i++) {
y = 1 << i;
out_port(y); // Output the value to PORTB
delay1(); // Delay for visualization
}
}
}