Temporizador AVR


Compartir: Share on Facebook0Tweet about this on TwitterShare on Google+0Share on Tumblr0Share on LinkedIn0

temporizador avrUn temporizador AVR es un registro que aumenta su valor en una unidad con cada ciclo de reloj al cual se encuentre funcionando el microcontrolador AVR, si por ejemplo la frecuencia del oscilador es de 1MHz, entonces  su ciclo de trabajo será de 1us, por lo que el temporizador AVR aumentará  su  valor de uno en uno en cada microsegundo; por ejemplo cuando el temporizador aumenta su valor en 10 unidades habrán transcurrido 10us.

El temporizador AVR es utilizado para obtener medidas de tiempos muy precisas, de ahí que se le da el nombre de temporizador, en este caso el temporizador AVR funciona con el reloj del sistema; pero también puede ser utilizado para realizar conteos, por lo que también se le llama contador, en este caso el temporizador AVR ya no aumenta su valor de uno en uno en cada ciclo de trabajo, sino que lo hará mediante el flanco de subida o el flanco de bajada de alguna señal que llegue a un pin del AVR, estos pines son identificados como Tx donde x es el número temporizador AVR que será usado como contador.

Una de las características muy importantes del temporizador AVR es que permite ser utilizado en modo de comparación, en la generación de señales PWM, además de producir interrupciones.

Los microcontroladores AVR suelen tener varios temporizadores, como ejemplo se utilizará el ATmega88, el cual tiene 3 temporizadores que son llamados timer0, timer1 y timer2, el tiempo que tarda el temporizador AVR en aumentar su valor de unidad en unidad, se puede modificar por programa mediante el uso de prescalers, siendo de esta manera mucho mas provechosos; dependiendo del modelo de microcontrolador AVR utilizado, no todos los temporizadores pueden ser utilizados como temporizador y también como contador.

El registro en los microcontroladores AVR donde se guardan y realizan los aumentos de uno en uno del temporizador AVR, es llamado registro temporizador contador y es representado por TCNTx, donde x es el número de temporizador AVR que puede ser 0, 1, 2, dependiendo del número de temporizadores con que cuente el microcontrolador AVR; el temporizador AVR puede ser de 8 bits o de 16 bits.

El temporizador AVR puede aumentar sus valores de 0 a 255 si es de 8 bits como el timer0, o de 0 a 65535 si es de 16 bits como el timer1, cada vez que estos registros alcanzan su máximo valor sse reinician, volviendo a contar desde su valor mínimo hasta su máximo, ademas pueden ser programados para provocar interrupciones.

Para el uso del temporizador AVR se cuenta además con un grupo de registros mediante los cuales se puede lo puede configurar de acuerdo a las necesidades que se tengan.

En los enlaces que siguen se comentara por separado como se puede proceder para utilizar cada una de las posibilidades  de trabajo del temporizador AVR para el timer0, el timer1 y el timer2 del ATmega88,  siendo muy importante contar con su hoja de datos que se puede ver y descargar aquí, con algunas pequeñas variaciones es un procedimiento común para otros microcontroladores AVR

 

Temporizador AVR

 

Compartir: Share on Facebook0Tweet about this on TwitterShare on Google+0Share on Tumblr0Share on LinkedIn0