Autor Tema: Delay con el Timer0  (Leído 2120 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tuxs

  • PIC10
  • *
  • Mensajes: 2
Delay con el Timer0
« en: 31 de Agosto de 2004, 13:50:00 »
Hola.
Soy un novato y tan solo quiero que alguien me explique cómo se programa un retardo (delay) en lenguaje ensamblador para un 16F873 utilizando el Timer0.
Muchas gracias.

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: Delay con el Timer0
« Respuesta #1 en: 01 de Septiembre de 2004, 01:03:00 »
Todo principiante debe comenzar viendo las app notes de microchip

Todo sobre el tmr0 esta ahi, incluso en los datasheet especificos de cada PIC.

Ahora, en forma generica, para el TMR0 debe tenerse en cuenta la frecuancia de reloj, pues el timer0 se incrementa en cada cliclo, y si se usa un preescaller, se incrementara a pasos de 2-4-8-16, etc... ciclos de reloj...

ejemplo, cristal de 4 MHZ => Fosc= 1 MHZ ==> Tciclo= 1 us.....asi el timer0 se incremeta cada 1 us....al multiplicar por el preescaller te da que incrementa cada 2 us, 4us, 8 us, 16us....si tmr0 se desborda al pasar de 255 a 0, da que tiene un desplazamiento de 256 posiciones....asi, por ejemplo, usando preescaller de 16, el tmr0 se desbordara cada 256x16 us.......cuando se desborda, aparece un flag que avisa de esto.

Considerar que al escribir un valor en el tmr0, este se vuelve a incrementar despues de 2 ciclos de reloj ( ó  2 x  preescaller ciclos).

Espero te sirva de algo....busca el datashet de 873, seguro sale un ejemplo de codigo asm para configurarlo...


Bye