@A.Hoffmann:
Ich habe mal ne Frage:
Was bringt folgender Code:
Code:
;*********************************************************
;* Interrupt Routine für Timer 0 *
;*********************************************************
delay:
push ZH
push ZL
push temp2
push temp
in temp, SREG
push temp ; sichern
lds temp, timer_6 ; Milisekunenden
inc temp ; Zähler
sts timer_6, temp ; + 1
adiw r25:r24, 1 ; Counter + 1
ldi temp, 0xE8 ;0xE8 ; 0x03E8 = 1000
ldi temp2, 0xFF ;0x03
cp r24, temp ; Counter Low / 16 Bit compare
cpc r25, temp2 ; Counter High
brne next_step ; noch keine Sekunde vergangen
lds temp, timer_1 ; erhöhe die Sekunden Zähler um 1
inc temp
sts timer_1, temp
ldi r24, 0
ldi r25, 0
next_step:
ldi temp, 131 ; Counter Register
out TCNT0, temp ; neu Vorbelegen
pop temp ; Register
out SREG, temp
pop temp
pop temp2
pop ZL
pop ZH ; wieder herstellen
reti
Lesezeichen