; Registers: ; r16: timer0 start and stop operations .MACRO START_BLINK ldi r16, (1 << OCF0A) ; Write Output Compare Flag 0 A to 1 out TIFR, r16 ; Clear Timer0 interrupt flag register clr r16 ; Cleanup register out TCNT0, r16 ; Reset Counter to 0 ldi r16, (1 << CS02) | (1 << CS00) ; Load prescaler value (00000101 = prescaler 1024) out TCCR0B, r16 ; Enable clock source sbi PORTB, PB0 ; Set LED on .endm stop_blink: cbi PORTB, PB0 ; Set LED off clr r16 ; Cleanup register out TCCR0B, r16 ; Stop timer0 by clearing prescaler ldi r16, (1 << OCF0A) out TIFR, r16 ; Clear timer0 interrupt flag register reti