saludos a todos, resulta q estoy un poco confundido con el manejor del TMR0, tengo unos apuntes en donde para calcular el valor a cargar en el TMR0 se toma en cuenta la Frecuencia del XT y otro apunte donde no se toma en cuenta la Frecuencia de XT, entonces les pongo un ejemplo para generar dosmilisegundos y luego pongo las dudas:
prescaler rate
bit value TMR0 RATE
000--------1:2
001--------1:4
010--------1:8
011--------1:16
100--------1:32
101--------1:64
110--------1:128
111--------1:256
Precarga TMR0= 255 - #incrementos TMR0
Tms=(#incrementos * Rate)/1000 donde Tms=tiempo en milisegundo
#incrementos=(2 * 1000)/8 #=numero
#incrementos=250 *=multiplicacion
Precarga TMR0= 255 - 250
Precarga TMR0= 5
para generar dosmilosegundos entonces
dosmili movlw .5
movwf TMR0
no btfss intcon,2
goto no
bcf intcon,2
return
ahora tambien tengo unos apuentes donde para calcular el tiempo tenemos en cuenta la frecuencia de XT
Tiempo=(4*TMR0*RATE)/Fosc
entonces estoy confundido porque para el primer caso no tenemos en cuenta en la ecuacioncita la Fosc, para la segunda Si.
ademas ¿q pasa si uso un XT=20MHZ en el primer caso?
yo se q ambas ecuaciones me van a llevar al mismo resultado, pero entonces ¿la primera es unicamente para un XT=4MHZ?