TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: kuku_jerez en 18 de Marzo de 2005, 02:53:00

Título: Timer0 ( tiempo de desbordamiento)
Publicado por: kuku_jerez en 18 de Marzo de 2005, 02:53:00
Me gustaría saber exactamente que significa DIV_2,DIV_4, DIV_8,...;a la hora de seleccionar el clock del timer0 de un pic. Es decir ¿ tiene que ver con el tiempo de desbordamiento? si es así¿ de qué manera? Estaré encantado de recibir ayuda. Gracias desde BurgosSonrisa
Título: RE: Timer0 ( tiempo de desbordamiento)
Publicado por: gauchosuizo en 18 de Marzo de 2005, 03:08:00
hola

el tema es sencillo: el timer desborda cuando pasa de 0xffff a 0x0000, o sea cuenta ascendentemente. Para calcular el tiempo se utiliza la siguiente formula:

Suponiendo que Timer0 es de 8 Bits
Valor_Timer = 255 - tiempo_deseado * Freq_Cristal / 4 * Divisor interno.

Lo que vos pensas "DIV_2,DIV_4, DIV_8" es exactamente el divisor interno.

Despues se hace
Codigo:

set_timer0(Valor_Timer);


y para configurar el Timer
Codigo:

setup_timer_0(rtcc_internal | rtcc_div_8);



Quizas para que lo entiendas mejor, tendrias que mirar la hoja de datos y ver como esta construido el Timer.

Aloha
Título: RE: Timer0 ( tiempo de desbordamiento)
Publicado por: tornar en 18 de Marzo de 2005, 04:02:00
Pues la explicacion que te ha dado gauchosuizo es correcta, solo añadir para aclararte aun mas el tema, que cuanto menor sea el valor del divisor interno, el desbordamiento del TIMER0 se producira cada menos tiempo; y cuanto mayor sea, tardara mas tiempo en desbordarse.