Code:
#include <avr/io.h>         // I/O Port definitions 
#include <avr/interrupt.h>   // Interrupt macros 

#define F_CPU 16000000 		//CPUTAKT

#define TIMER (256-F_CPU/8/100000)	//TIMER VORLADEN

//------------------------------------------------------------------------------------------------------//

//PORT BEZEICHNUNGEN
#define PORTH1 PORTA0
#define PORTSCH1 PORTA1
#define PORTK1 PORTA2

#define PORTH2 PORTA3
#define PORTSCH2 PORTA4
#define PORTK2 PORTA5

#define PORTH3 PORTA6
#define PORTSCH3 PORTA7
#define PORTK3 PORTC7

#define PORTH4 PORTC6
#define PORTSCH4 PORTC5
#define PORTK4 PORTC4

#define PORTH5 PORTD7
#define PORTSCH5 PORTC2
#define PORTK5 PORTC3

#define PORTH6 PORTD4
#define PORTSCH6 PORTD5
#define PORTK6 PORTD6

//SERVO POSITIONEN
volatile int posH1 = 0;
volatile int posSCH1 = 0;
volatile int posK1 = 0;

volatile int posH2 = 0;
volatile int posSCH2 = 0;
volatile int posK2 = 0;

volatile int posH3 = 0;
volatile int posSCH3 = 0;
volatile int posK3 = 0;

volatile int posH4 = 0;
volatile int posSCH4 = 0;
volatile int posK4 = 0;

volatile int posH5 = 0;
volatile int posSCH5 = 0;
volatile int posK5 = 0;

volatile int posH6 = 0;
volatile int posSCH6 = 0;
volatile int posK6 = 0;

//TIMER ZÄHLVARIABLEN
volatile int countH1 = 0;
volatile int countSCH1 = 0;
volatile int countK1 = 0;

volatile int countH2 = 0;
volatile int countSCH2 = 0;
volatile int countK2 = 0;

volatile int countH3 = 0;
volatile int countSCH3 = 0;
volatile int countK3 = 0;

volatile int countH4 = 0;
volatile int countSCH4 = 0;
volatile int countK4 = 0;

volatile int countH5 = 0;
volatile int countSCH5 = 0;
volatile int countK5 = 0;

volatile int countH6 = 0;
volatile int countSCH6 =0;
volatile int countK6 = 0;

volatile int ISRcount = 0;

//------------------------------------------------------------------------------------------------------//

//TIMER LADEN
void timer_init(void) 
{
	TCCR0B |= (1<<CS01) | (!(1<<CS00)) | (!(1<<CS02));		//PRESCALER 8
	TCNT0 = TIMER;											//TIMER VORLADEN
	TIMSK0 |= (1<<TOIE0);									//INTERUPTS AKTIVIEREN
	
};

//INITIALISIEREN DER PORTS
void initialisieren(void)
{
	DDRA = 0xFF;		//PINS A AUSGANG
	PORTA = 0x00;		//PINS A LOW
	DDRC = 0xFF;		//PINS C AUSGANG
	PORTC = 0x00;		//PINS C LOW
	DDRD = 0xFF;		//PINS D AUSGANG
	PORTD = 0x00;		//PINS D LOW

};

//------------------------------------------------------------------------------------------------------//

//SERVOPOSITIONEN ANFAHREN
void servoposH(void)
{

	//HÜFTEN
	// (1)
	if(countH1>=posH1)
		PORTA &= ~(1<<PORTH1);
	else
		PORTA |= (1<<PORTH1);
	

	// (2)
	if(countH2>=posH2)
		PORTA &= ~(1<<PORTH2);
	else
		PORTA |= (1<<PORTH2);
	
	
	// (3)
	if(countH3>=posH3)
		PORTA &= ~(1<<PORTH3);
	else
		PORTA |= (1<<PORTH3);
	
	/*
	// (4)
	if(countH4>=posH4)
		PORTC &= ~(1<<PORTH4);
	else
		PORTC |= (1<<PORTH4);
	
	// (5)
	if(countH5>=posH5)
		PORTD &= ~(1<<PORTH5);
	else
		PORTD |= (1<<PORTH5);
	

	// (6)
	if(countH6>=posH6)
		PORTD &= ~(1<<PORTH6);
	else
		PORTD |= (1<<PORTH6);*/

};

void servoposSCH(void)
{
	//SCHULTERN
	// (1)
	if(countH1>posSCH1)
		PORTA &= ~(1<<PORTSCH1);
	else
		PORTA |= (1<<PORTSCH1);
	if(countSCH1>(1740-posSCH1))
		countSCH1 = 0;

	// (2)
	if(countSCH2>posSCH2)
		PORTA &= ~(1<<PORTSCH2);
	else
		PORTA |= (1<<PORTSCH2);
	if(countSCH2>(1740-posSCH2))
		countSCH2 = 0;

	// (3)
	if(countSCH3>posSCH3)
		PORTA &= ~(1<<PORTSCH3);
	else
		PORTA |= (1<<PORTSCH3);
	if(countSCH3>(1740-posSCH3))
		countSCH3 = 0;
	
	// (4)
	if(countSCH4>posSCH4)
		PORTC &= ~(1<<PORTSCH4);
	else
		PORTC |= (1<<PORTSCH4);
	if(countSCH4>(1740-posSCH4))
		countSCH4 = 0;

	// (5)
	if(countSCH5>posSCH5)
		PORTC &= ~(1<<PORTSCH5);
	else
		PORTC |= (1<<PORTSCH5);
	if(countSCH5>(1740-posSCH5))
		countSCH5 = 0;

	// (6)
	if(countSCH6>posSCH6)
		PORTD &= ~(1<<PORTSCH6);
	else
		PORTD |= (1<<PORTSCH6);
	if(countSCH6>(1740-posSCH6))
		countSCH6 = 0;
	
};

void servoposK(void)
{
	//KNIEHE
	// (1)
	if(countK1>posK1)
		PORTA &= ~(1<<PORTK1);
	else
		PORTA |= (1<<PORTK1);
	if(countK1>(1740-posK1))
		countK1 = 0;

	// (2)
	if(countK2>posK2)
		PORTA &= ~(1<<PORTK2);
	else
		PORTA |= (1<<PORTK2);
	if(countK2>(1740-posK2))
		countK2 = 0;

	// (3)
	if(countK3>posK3)
		PORTC &= ~(1<<PORTK3);
	else
		PORTC |= (1<<PORTK3);
	if(countK3>(1740-posK3))
		countK3 = 0;
	
	// (4)
	if(countK4>posK4)
		PORTC &= ~(1<<PORTK4);
	else
		PORTC |= (1<<PORTK4);
	if(countK4>(1740-posK4))
		countK4 = 0;

	// (5)
	if(countK5>posK5)
		PORTC &= ~(1<<PORTK5);
	else
		PORTC |= (1<<PORTK5);
	if(countK5>(1740-posK5))
		countK5 = 0;

	// (6)
	if(countK6>posK6)
		PORTD &= ~(1<<PORTK6);
	else
		PORTD |= (1<<PORTK6);
	if(countK6>(1740-posK6))
		countK6 = 0;
		
};

//INTERUPT
ISR(TIMER0_OVF_vect) 
{

	TCNT0 = TIMER;
	
	if(countH1<=(1740-posH1))
	countH1++;
	else
	countH1 = 0;	
	
	if(countH2<=(1740-posH2))
	countH2++;
	else
	countH2 = 0;
	
	if(countH3<=(1740-posH3))
	countH3++;
	else
	countH3 = 0;
	/*
	if(countH4<=(1740-posH4))
	countH4++;
	else
	countH4 = 0;

	if(countH5<=(1740-posH5))
	countH5++;
	else
	countH5 = 0;	
	
	if(countH6<=(1740-posH6))
	countH6++;
	else
	countH6 = 0;
	
	

	/*countSCH1++;
	countSCH2++;
	countSCH3++;
	countSCH4++;
	countSCH5++;
	countSCH6++;
	

	countK1++;
	countK2++;
	countK3++;
	countK4++;
	countK5++;
	countK6++;*/
	
};

//------------------------------------------------------------------------------------------------------//

int main(void) 
{
	//INITIALISIEREN DER PORTS
	initialisieren();

	//TIMER LADEN
	timer_init();		

	//GLOBALE INTERUPTS AKTIVIERT
	sei();

	posH1 = 135;
	posH2 = 119;
	posH3 = 130;
	posH4 = 127;
	posH5 = 135;
	posH6 = 132;	

	posSCH1 = 130;								
	posSCH2 = 130;
	posSCH3 = 130;
	posSCH4 = 130;
	posSCH5 = 130;
	posSCH6 = 130;
	
	posK1 = 130;
	posK2 = 130;
	posK3 = 130;
	posK4 = 130;
	posK5 = 130;
	posK6 = 130;

	//HAUPTSCHLEIFE
	for(;;)
	{
		servoposH();
		/*servoposSCH();*/
		
				

	}

}
Das ist alles
Nicht erschrecken, ist mein Bastelcode in dem ich alles ausprobiere

Ich kenne die Lösung mit dem getimten ansprechen der Servos... gefällt mir irgendwie nicht, da ich das unglaublch unübersichtlich finde.

Sollte den das Auswerten und setzten des Ausgangssignals in der ISR möglich sein... rein von der Leistung?
Ursprünglich hatte ich auch das setzten der Ausgänge in der ISR... das hat aber gar nicht funktioniert. Deshalb habe ich sie rausgenommen damit die ISR sich wenigstens beim hochzählen nicht vertut(Ist das überhaupt ein Wort?).

Wie würde das den mit der Hardware PWM aussehen?
Ich habe mich damit noch nie beschäftigt.

Und ja es sollte eigentlich 0.01ms heissen

Besten dank für eure Hilfe und Hinweise