Na przykład (w tym stylu skonfigurowałem to w swoim projekcie lata temu, na oba kanały na raz, atmega16, 1MHz zegar):
// piny PWMa
DDRD = (1<<PD5) | (1<<PD4);
// PWM
TCCR1A =(1<<COM1A1)| //tryb komparatora bez inwersji kanału OC1A
(1<<COM1B1)| //tryb komparatora bez inwersji kanału OC2B
(1<<WGM10); //wybor trybu (Fast PWM 8-bit)
TCCR1B =(1<<WGM12)| //wybor trybu (Fast PWM 8-bit)
(1<<CS10)| //uruchomienie timera z prescalerem 64
(1<<CS11);
OCR1A = 60; // 60/256 duty cycle -> ~25% dłgość pulsu
OCR1B = 120; // 120/256 duty cycle -> ~50% długość pulsu
U mnie z taktowaniem 1MHz to dawało 1MHz / 64 prescaler / 256 (bo 8-bit PWM) == 61Hz. Nie równo 50Hz, ale współczesne serwa akceptują duże zakresy częstotliwości (bardziej interesuje je szerokość pulsu).
Wrzuciłem ten kod u siebie na początek programu i potem tylko edytowałem OCR1A i OCR1B żeby kontrolować moc silników.
Z 8MHz można na przykład użyć prescaler 256 i tryb 9-bitowy PWMa żeby dostać analogicznie 61Hz. Albo można użyć Fast PWM z "customowym" maxem i ustawiając ICR1 dostać niemal dokładnie 50Hz (np: 8MHz / prescaler 8 / 20000 ICR1 == 50MHz). Jak chcesz to mogę Ci spróbować na sucho napisać konfigurację do tego.
Po szczegóły polecam zajrzeć do specyfikacji atmegi, rozdział "16-bit Timer/Counter1", przede wszystkim podrozdziały "Modes of Operation" i "16-bit Timer/Counter Register Description"; ładnie opisują wszystkie tryby w których może działać PWM i jak je włączyć.