TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: franco_90_00 en 08 de Noviembre de 2014, 15:49:54
-
tengo dudas de como calcular el resultado del tmr0 para calcular el tiempo que se va a efectuar la interrupsion.
si quiero calcular una interrupsion cada 1 segundo para que se prenda un led por ejemplo uso la siguiente formula.
1segundo = (1000000 microsegundos)
el clock es 20mhz ; el temporizador= 1 seg ; un predivisor de 256 tmr0 registro de 8 bits (0 a 255)
temp=[ciclo de instruccion*(255-tmr0)*predivisor]
1000000us=[(4*1/20mhz)*(255-tmr0)*256]
1000000us/(0,2 ciclos/us *256)=255-tmr0
19531,25 ciclos=255-tmr0
tmr0=255-19531,25 ciclos
tmr0= -19276,25 (negativo?)
la otra ecuacion que encontre es la siguiente, de la cual no entiendo como mezcla unidades de segundos y microsegundos sin hacer conversiones..
temp=[predivisor*ciclo de instrucion*256*x]
1seg=[256*(4*1/20,000,000hertz)*256]*x
x= [1/ (4/20000000)*256]
x=76,3 .......(que unidad?)
-
Hola franco_90_00 aquí en la pagina de RedPic encontraras una muy buena explicación:
Los cristales y el Tiempo
http://picmania.garcia-cuervo.net/conceptos.php#CristalyTime
Saludos!
-
muchas gracias me sirvio de mucha ayuda esta info que compartis!! saludos