bueno depende del cristal oscilador que estes usando ( si usas cristal externo claro). por ejemplo, has de mirar la formula :
PWM period = [(PR2) + 1] • 4 • TOSC • (TMR2 prescale value)
contage del registro Inversa de frec. oscilacion prescaler para adecuar ( 1,4 o 16)
(maximo 255+1) multiplica x4 ese tiempo ( o divide
/4 la frec.) pq es el ciclo maquina
Bien 50 Hz es un valor que no conseguirias con 4 Megas de oscilador, al menos asi directamente. Como dices alrededor, que no es exactamente 50 Hz, vemos como conseguir directamente el valor mas pequeño para la resolucion de esa formula :
PWM period = [(255) + 1] • 4 •0,00000025 • (16);
PWM period =0,004096 (244,140625 Hz)
Uhmm demasiado , ¿ no? Pues si usases ese cristal, no hay otra solucion que adecuar un temporizador a partir de esa señal. Si multiplicamos ese tiempo por 4.88. La verdad es que no he sabido muy bien como definir eso, pero mira este link