TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cucu en 19 de Febrero de 2009, 09:21:56

Título: calculo del preescaler en timer
Publicado por: cucu en 19 de Febrero de 2009, 09:21:56
hola, tengo una duda en el cálculo de mi preescaler del timer0.

Quiero calcular las vueltas que dará en un segundo, con lo que, mi idea sería:

1seg = (vueltas.preescaler)/frecuencia.

Siendo frecuencia la de mi reloj, ¿es así?

Gracias. saludos
Título: Re: calculo del preescaler en timer
Publicado por: micro_cadaver en 19 de Febrero de 2009, 13:34:50
primero debes saber el tiempo que demora en desbordar el timer0, es decir de pasar de 0 a 255, ese tiempo depende del preescaler. existe una formula:

Periodo del TMR0 = 4 x    1   x Preescaler x (255- Valor cargado en Timer0)
                                   Fxtal

entonces por decir, para un Xtal de 4MHZ, un preescaler de 256, y le cargas valor 0 en timer0 entonces:
Periodo TMR0 = 0.0625

Para 1seg = 16x 0.0625
Título: Re: calculo del preescaler en timer
Publicado por: cucu en 20 de Febrero de 2009, 06:41:22
Gracias. pero cuna duda más. cuando necesito exactitud,

Código: [Seleccionar]
vueltas = 255-valor del timer



Según la fórmula me salen 5 vueltas, el valor del timer es 249,250 o 251? es que me hago un lio exagerao! Gracias. Saludos.