Hier ist der Code:

Code:
.include "m8def.inc"

;31248 1 Sek 
.EQU TIME05 = 65536 - 15624		; 0,5 Sekunden 
.EQU TIME2 = 65536 - 62496		; zwei Sekunde 
.EQU TIME1 = 65536 - 31248		; eine Sekunde
 
.def temp = r16

.org 0x0000
	rjmp start
.org OVF0addr		;Interrupt-handler für 8 Bit Timer0
	rjmp interrupt


start:
    ldi r20,HIGH(TIME2)	;Trick, um Timer0 auf 16 Bit zu erweitern
    ldi temp,LOW(TIME2)		;Starwert Timer
    out TCNT0,temp
    ldi temp,(1<<CS02|1<<CS00)	;Prescaler Systemtakt/1024
    out TCCR0,temp
	ldi temp,(1<<TOIE0)	;Timer Interrupt über TOV0 erlauben
	out TIMSK,temp		;    "

;Hauptprogramm:
loop:				;leere Schleife
   	rjmp loop

;Interrupt Handler 
interrupt:			;LEDs toggeln
	inc r20			;Timererweiterung inkrementieren
	brne interrupt2	;wenn r20=0, zu interrupt2 springen
    ldi r20,HIGH(TIME2)		;sonst Starwert Timer neu setzen

[...]

interrupt2:
    ldi temp,LOW(TIME2)		;Startwert Timer neu
    out TCNT0,temp
    reti
Du meinst ich muss am Ende auch noch ldi temp,HIGH(TIME2) einfügen?