Hallo !

Habe mich durch zig andere Varianten von "LED-Blinker-mit-Timer-Interrupts" gelesen und kann den Fehler in meiner nicht entdecken... hat jemand ein Stichwort für mich ?

Das Problem: Statt dem erwarteten Verhalten (LED für ca. 1 Sek. ein, dann für ca. 1 Sek. aus), blitzt die LED in Abständen von ca. 1 Sek kurz auf. Warum ??

Code:
.include "m8def.inc"

.org	0x000	
	rjmp main
.org	0x008	
	rjmp TimerHandler

main:	ldi r16,0xFF ; PortB ist Output
	out DDRB, r16
	
	ldi r16,0b00000100 ; Overflow Interrupt Enable
	out TIMSK, r16
	
	ldi r16,0b00000011 ; Timer div. 1/64
	out TCCR1B, r16
	
	ldi r16,0b00000000
	out PORTB, r16
	
	sei
	
loop:	rjmp loop

TimerHandler:	in r16,PORTB;	Aktuellen Zustand von PORTB einlesen
		sbrc r16,0;                sind die LEDs gerade aus ?Dann Einschalten, sonst...
		rjmp Ausschalten;	       ausschalten...

		ldi r16,0b00000111
		out PORTB,r16
		rjmp Ende

Ausschalten:	ldi r16,0b00000000
		out PORTB,r16

Ende:		reti


[/code]