.include "m8def.inc" .equ TAKT = 16000000 .def dsec = r17 .org 0x0000 rjmp init .org OC1Aaddr rjmp timer1_compare init: ;init Stack ldi r16,low(RAMEND) out SPL,r16 ldi r16,high(RAMEND) out SPH,r16 ;init Port ldi r16,0xFF out DDRB,r16 ;init Timer1 ldi r16,low(20000-1) // OCR1A Wert out OCR1AL,r16 ldi r16,high(20000-1) out OCR1AH,r16 ldi r16,(1 << WGM12) | (1 << CS11) // CTC mit 1/8 TAKT out TCCR1B,r16 ldi r16,(1 << OCIE1A) // Overflow Interrupt aktivieren out TIMSK,r16 ldi dsec,0 ldi r16,0 sei loop: rjmp loop timer1_compare: inc dsec cpi dsec,100 brne end_isr an: in r16,PINB andi r16,1 brne aus sbi PORTB,0 clr dsec reti aus: cbi PORTB,0 clr dsec end_isr: reti