Vajk, vielleicht hilft Dir ein bisschen Code weiter (ist für den Mega16. Da werden in den einzelnen Routinen jeweils die 8bit (Timer 0 und 2) sowie der 16bit Timer (Timer 1) gesetzt
Code:
void pwmInit( void )
{
	// enable PWM outputs
	DDRD = (1<<6) | (1<<5);

	pwmWidth = 0x10;
	// initialise time and pwm modes
	pwmInit0();
//  pwmInit1();
//	pwmInit2();
}



void pwmInit0( void )
{
	// 8 bit phase correct PWM
	TCCR0A = (1<<COM0A1)|(1<<COM0B1)|(1<<WGM00);

	// set prescaler for PWM frequency
	TCCR0B = (1<<CS01); // This selects prescaler 8. fPWM = F_CPU/(510*Prescaler) = 4.52kHz@18.432MHz

	// for fast initialisation (OCRxA/B values are taken on the first TCNTx = TOP)
	TCNT0 = 0xfe;
	
	// set initial PWM Width
	OCR0A = pwmWidth;
	OCR0B = 0x03;
}


void pwmInit1( void )
{
	// 16 bit phase correct PWM
	TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);

	// set prescaler for PWM frequency
	TCCR1B = (1<<CS11);

	// for fast initialisation (OCRxA/B values are taken on the first TCNTx = TOP)
	TCNT1 = 0x00fe;
	
	// set initial PWM Width
	OCR1A = (uint16_t)pwmWidth;
	OCR1B = (uint16_t)0x03;
}


void pwmInit2( void )
{
	// 8 bit phase correct PWM
	TCCR2A = (1<<COM2B1)|(1<<WGM20);

	// set prescaler for PWM frequency
	TCCR2B = (1<<CS21);

	// for fast initialisation (OCRxA/B values are taken on the first TCNTx = TOP)
	TCNT2 = 0xfe;

	// set initial PWM Width
	OCR2B = pwmWidth;
}
Durch Umsetzen der entsprechenden OCRxA und OCRxB Register im Programm, kannst Du das Puls-Pausen Verhältnis ändern.