Hallo Searcher,

vielen Dank für deine schnelle Antwort und für den Hinweis mit dem [ CODE]. Das hatte ich gesucht nur leider nicht gefunden, sorry.
Deine Hinweise habe ich wie folgt umgesetzt, nur leider ist es das gleiche Verhalten wie zuvor.

Zitat Zitat von Searcher Beitrag anzeigen
Mit dem Bitmuster 0b00011101 wird zwar CTC aber mit ICR1 als TOP Wert eingestellt.
Das Bitmuster habe ich jetzt auf 0b00001101 geändert.
Code:
;; Control Register B
LDI				temp,	0b00001101	; Timer prescaler of 1024 & Clear Timer on Compare Match (CTC) Mode -> self adjust overflow value
OUT				TCCR1B,	temp		; Control Register B


Zitat Zitat von Searcher Beitrag anzeigen
Werte nicht nachgerechnet aber beide Register werden in der falschen Reihenfolge beschrieben. Auszug aus dem Datenblatt, Abschnitt "Accessing 16-bit Registers":
To do a 16-bit write, the high byte must be written before the low byte. For a 16-bit read, the low
byte must be read before the high byte
Die Reihenfolge habe ich nun geändert.
Code:
;; Output Compare Register 1 A for CTC
; write value 15625 -> 15625 * 1024 = 16MHz -> 1 second count
LDI				temp,	0b00111101
OUT				OCR1AH,	temp
LDI				temp,	0b00001001
OUT				OCR1AL,	temp
;; Output Compare Register 1 B for CTC
; write value 31,250 -> 31,250 * 1024 = 32MHz -> 2 seconds count
LDI				temp,	0b01111010
OUT				OCR1BH,	temp
LDI				temp,	0b00010010
OUT				OCR1BL,	temp

Zitat Zitat von Searcher Beitrag anzeigen
Kommentar irreführend.
Kein Fehler aber Sichern des SREG und Wiederherstellen ist nicht notwendig, da die nachfolgenden Kommandos bis reti das Statusregister nicht ändern.
Das Sichern des SREG habe ich eingefügt, weil ich es machen wollte. Also als Übung und Vorsatz damit ich mir das angewöhne.


Beste Grüße
Helmut