Solo aclarando lo ya aclarado,: Esta formula es muy sencilla y te dice exactamente lo que necesitas,:
T. de DESBORDE= (4/Fosc)*(-TMR0)* N
Donde, N es el divisor de frecuencia, Fosc es el Xtal que usas y –TMR0 es desde donde empiezas.
Ejemplo:
a)Xtal 20 mhz sin D.F.(divisor de frecuencia) con 175 pasos de conteo
(4/20,000000)*(175)*(1) =35 Us, OJO!!!!! Que no cargas ese valor a timer, sino su complemento = Valor maximo CUANTITATIVO DE TMRX – (-TMRX)
=256-175= 81
por tanto:
set_timer0(81); ß- esto es lo correcto, no al reves!!!!!!!!!!!!
b)Otro ejemplo
Xtal 4 mhz con 4 de D.F. con 5 pasos de conteo
(4/4,000000)* (5)*(4) =0.02 ms ~~~(256-5) : set_timer0(251)
c)Otro ejemplo
Xtal 4 mhz con 4 de D.F. con 251 pasos de conteo
(4/4,000000)* (251)*(4) =1.004 ms ~~~(256-251) : set_timer0(5)
d)Un ejemplo mas para deshabilitar TODA interrupcion inesperada ene este post, jejeje.
Xtal 4 mhz con 4 de D.F. con 250 pasos de conteo
(4/4,000000)* (250)*(4) =1 ms ~~~(256-250) : set_timer0(6) <<--
Un abraso panas