; timer functions
-TIMER1_INIT:
+TIMER1_INIT_NP:
- ; clock select, prescaler 8
- ldi tmp1,0x02
+ ; clock select, no prescaler
+ in tmp1,TCCR1B
+ cbr tmp1,(1<<CS12)
+ cbr tmp1,(1<<CS11)
+ sbr tmp1,(1<<CS10)
out TCCR1B,tmp1
ret
+TIMER1_INIT_8:
+
+ ; clock select, prescaler 64
+ in tmp1,TCCR1B
+ cbr tmp1,(1<<CS12)
+ sbr tmp1,(1<<CS11)
+ cbr tmp1,(1<<CS10)
+ out TCCR1B,tmp1
+
+ ret
+
+TIMER1_INIT_64:
+
+ ; clock select, prescaler 64
+ in tmp1,TCCR1B
+ cbr tmp1,(1<<CS12)
+ sbr tmp1,(1<<CS11)
+ sbr tmp1,(1<<CS10)
+ out TCCR1B,tmp1
+
+ ret
+
+TIMER1_INIT_256:
+
+ ; clock select, prescaler 256
+ in tmp1,TCCR1B
+ sbr tmp1,(1<<CS12)
+ cbr tmp1,(1<<CS11)
+ cbr tmp1,(1<<CS10)
+ out TCCR1B,tmp1
+
+ ret
+
+TIMER1_INIT_1024:
+
+ ; clock select, prescaler 1024
+ in tmp1,TCCR1B
+ sbr tmp1,(1<<CS12)
+ cbr tmp1,(1<<CS11)
+ sbr tmp1,(1<<CS10)
+ out TCCR1B,tmp1
+
+ ret
+
+TIMER1_INT_ENABLE:
+
+ ; overflow interrupt enable
+ in tmp1,TIMSK
+ sbr tmp1,(1<<TOIE1)
+ out TIMSK,tmp1
+
+ ret
+
+TIMER1_INT_DISABLE:
+
+ ; overflow interrupt disable
+ in tmp1,TIMSK
+ cbr tmp1,(1<<TOIE1)
+ out TIMSK,tmp1
+
+ ret
+