This repository has been archived on 2026-07-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
il-clock/src/led.inc
T

27 lines
1.0 KiB
PHP

; 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