| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- ;Incs and Defs----------------------------------------------------------
- .include "atm328p.inc"
- .include "global.inc"
- ;Initialisierungen------------------------------------------------------
- .global timer2_init
- timer2_init:
- sts TCCR2A, false ;clear Registers
- sts TCCR2B, false
- sts TCNT2, false
- sts TIMSK2, false
- ldi timer2_r, (1<<CS20)|(1<<CS21)|(1<<CS22)
- sts TCCR2B, timer2_r ;Prescaler x1024 (60Hz)
-
- sts timer2_bool, false ;set Variables
- sts timer2_cnt, false
- ret
- ;Interrupt-Handler------------------------------------------------------
- .global timer2_OVF
- timer2_OVF:
- push timer2_r
- lds timer2_r, timer2_cnt ;Timer-Scaling
- inc timer2_r
- lds temp, timer2_MAX
- cp timer2_r, temp
- brne .+22
- ;timed actions
- in timer2_r, PORTC ;toggle PINC
- lds temp, timer2_var
- eor timer2_r, temp
- out PORTC, timer2_r
- lds timer2_r, timer2_bool ;toggle Variable
- com timer2_r
- sts timer2_bool, timer2_r
- clr timer2_r
- sts timer2_cnt, timer2_r
- pop timer2_r
- reti
|