Segun las cuentas me sale que usas un cristal de 4 MHz.
Esto implica que tendremos que buscar una temporizacion que sea multiplo de 4 us (si el cristal fuera de 10 MHz en este caso no haria falta) y a la vez submultiplo exacto de 1 segundo.
Tomamos 2 ms como referencia,por ejemplo(multiplo de 4 us y submultiplo de 1 seg:
2 ms = 4*32*(256-valor_de_carga) / 4 MHz => valor de carga = 62.5
...si salen decimales,es que el preescaler es demasiado grande.Probamos con preescaler 4:
2 ms = 4*4*(256-valor_de_carga) / 4 MHz => valor de carga = 500
...demasiado grande,el preescaler debe ser algo mayor:
2 ms = 4*8*(256-valor_de_carga) / 4 MHz => valor de carga = 250
Con preescaler 8,valor_de carga 250 y cristal a 4 MHz tienes una interrupcion cada 2 ms exactos.
Todo esto es muy bonito si,pero me acabo de dar cuenta que para 40 ppm o para 240 ppm va bien,pero para todo el rango que necesitas cubrir no vale.
La unica solucion que veo es usar la menor temporizacion posible,que para 4MHz es de 1us,y mejor ponerle 10 us para que te de tiempo a ejecutar lo que necesites (que sea mas bien poco) entre una iterrupcion y la siguiente.De esa forma seguira habiendo un pequeño error,pero del orden de los pocos us.Con esa latencia del orden de los us no hay cambio de ritmo perceptible,creeme.
Otra posible solucion pero bastante engorrosa seria reconfigurar el timer para cada velocidad concreta.Es decir,para 40 ppm establecemos una temporizacion de 2 ms por ejemplo con preescaler 8 y valor de carga 250...para 61 ppm ya deberias establecer otra temporizacion que fuese divisor exacto del tiempo por pulso en segundos,y en funcion de tu cristal de 4 MHz,estimar el valor del preescaler y calcular el valor de carga.Esto deberia hacerse para todo el rango de 200 valores (De locos!!!),asi que seria buena idea implementar un algoritmo que calcule los parametros de reconfiguracion del timer en funcion de las ppm que le pongas.De todas formas,ni asi la temporizacion iba a ser perfecta...para 70 ppm el tiempo por pulso es de 70/60 = 1.16666666666666... segundos....
Por cierto,si le pones al pic un cristal mas rapido,mejor que mejor.
Suerte