Hallo Merlin321,

zu Deiner Frage am Anfang dieses Posts:
Hier die Initialisierung für eine 100kHz ISR mit Timer1 (M32):
Code:
#define F_TIMER1			100000		// Timer 1 frequency (100kHz)

	cli();
	// Timer 1: Normal port operation, mode 4 (CTC), clk/8
	TCCR1A =  (0 << COM1A1) 
			| (0 << COM1A0) 
			| (0 << COM1B1) 
			| (0 << COM1B0) 
			| (0 << FOC1A) 
			| (0 << FOC1B) 
			| (0 << WGM11) 
			| (0 << WGM10);
	TCCR1B =  (0 << ICNC1) 
			| (0 << ICES1) 
			| (0 << WGM13) 
			| (1 << WGM12) 
			| (0 << CS12) 
			| (1 << CS11) 
			| (0 << CS10);
	OCR1A = ((F_CPU/8/F_TIMER1)-1);	// 19 at 100kHz
Als ISR nimmst du den TIMER1_COMPA_vect.

Gruß Dirk