Anda di halaman 1dari 4

TEMPORIZADOR / CONTADORES

Temporizador / contadores son probablemente los perifricos ms utilizados complejos en un microcontrolador. Son altamente verstiles, siendo capaz de medir perodos de tiempo, para determinar ancho de pulso, para medir la velocidad, para medir la frecuencia, o para proporcionar seales de salida. Algunos ejemplos de aplicaciones podran incluir la medicin de las rpm del motor de un auto, el momento de un perodo exacto de tiempo, como las necesarias para el tiempo de la bala velocmetro fa, la produccin de tonos para crear msica o para conducir el sistema de encendido por chispa de un coche, o la prestacin de un pulso de anchura variable de frecuencia o de accionamiento para controlar la velocidad de un motor. En esta seccin del temporizador / contadores sern discutidos en el sentido genrico, y luego temporizador tpica /los contadores en los microcontroladores AVR ser discutido. A pesar de utilizar de dos modos muy diferentes, el ritmo y el conteo del temporizador / contadores binarios son simplemente los mostradores. Cuando se utiliza en modo de sincronizacin, los contadores binarios estn contando los plazos aplicados a su entrada, y en el modo de mostrador, estn contando los eventos o pulsos o algo de esta naturaleza. Por ejemplo, si los contadores binarios tenan 1-milisegundo impulsos como su entrada un perodo de tiempo ser medido por el contador de partida en el comienzo de un evento y parada del contador al final del evento. El recuento final en el contador sera el nmero de milisegundos que haba transcurrido durante el evento. Cuando un temporizador / contador se utiliza como un contador, los eventos a ser contados se aplica a la entrada del contador binario, y el nmero de eventos que ocurren se cuentan. Por ejemplo, el contador se podra utilizar para contar el nmero de latas de guisantes bajando una lnea de montaje mediante la aplicacin de un impulso a la entrada del contador para cada lata de guisantes. En cualquier momento, el contador se puede leer para determinar cuntas latas de guisantes haba bajado una lnea de montaje. Los microcontroladores AVR proporcionar de 8-bit y 16 bit de temporizador / contadores. En cualquier caso, una tema importante del programa es saber cundo el contador alcanza su cuenta mxima y promedio rollos. En el caso de un contador de 8-bits, esto ocurre cuando el recuento llega a 255, en cuyo caso el siguiente impulso har que el contador a rodar a 0. En el caso de un contador de 16-bits, lo mismo ocurre a 65.535. Los eventos de volcadura son extremadamente importantes para que el programa sea capaz de leer con precisin los resultados de un temporizador / contador. De hecho, rollovers son tan importantes que una interrupcin se prev que se producir cuando un rollos de temporizador/contador otra vez. Algunos microcontroladores AVR tiene dos temporizadores de 8-bits (tpicamente, el temporizador y el temporizador 0 2) y un 16-bit de temporizacin (tpicamente, el temporizador 1), aunque esta configuracin variar dependiendo del tipo exacto de microcontrolador AVR que se utiliza. Las siguientes secciones se discutir el temporizador preescaler y selector de entrada, una caracterstica comn a todos los contadores de tiempo, y luego discutir cada uno de los contadores de tiempo comunes en turno. Los usos ms comunes para cada temporizador / contador ser discutido, aunque los temporizadores tienen muchas ms funciones que se tratan en este texto. Para cualquier procesador especfico, consulte las especificaciones para determinar todas las diversas funciones posibles con el temporizador/contadores.

2.7.1 TEMPORIZADOR / CONTADOR PREESCALERS Y SELECTORES DE ENTRADA Unidades de temporizador / contador puede usar una variedad de frecuencias internas derivadas del reloj del sistema como su entrada, o pueden conseguir su entrada de un pin externo. El temporizador contador registro de control (TCCRx) asociada con el temporizador contiene los bits de contador seleccione (CSx2, CSxl, CSxO) que el control de entrada que se utiliza con un

contador especfico. La figura 2-16 muestra el pre-escalador y la configuracin del selector de entrada para un control contra el cronmetro registro que se utiliza en la mayora de los microcontroladores AVR. El fragmento de cdigo siguiente se muestra, como ejemplo, cmo inicializar el temporizador 0 para usar el reloj del sistema dividido por 8 como su fuente de reloj(los bits de seleccin de venta libre son los tres bits menos significativos de TCCRO):
TCCRO = 0x2; /*Timer 0 uses clock/8*/

2.7.2 Timer 0 El sintonizador 0 suele ser un temporizador de 8 bits, pero esto vara segn el tipo de procesador especfico. Es capaz de cumplir las funciones habituales del temporizador/contador, pero con mayor frecuencia se utiliza para crear una base de tiempo o marque para el programa. El temporizador contador de registro de control 0, TCCRO, controla la funcin de temporizador de 0 para seleccionar la fuente de reloj aplicada al temporizador 0.

La Figura 2-17 muestra las definiciones de un reloj precontador de bits para TCCRO. Otros bits de control TCCRO son funciones adicionales del temporizador 0 en una manera similar a los bits de control para el temporizador 1 presenta ms adelante.

El tic tac de programa, como el tictac de un reloj, provee un evento de alta precisin al sincronizarlo. El esquema general es que un nmero se selecciona y se cargan en el temporizador. El temporizador cuenta de este nmero hasta 255 y da vuelta. Siempre que da vuelta, se crea una interrupcin. La rutina de servicio de interrupcin recarga el mismo nmero en el contador de tiempo, ejecuta todas las actividades crticas en el tiempo que sean necesarios, y luego vuelve al programa. El ciclo se repite, el contador vuelve a contar desde el nmero que se carg a 255, y da vuelta, creando otra interrupcin. La interrupcin se produce sobre una base regular cuando cada perodo de tiempo ha transcurrido. El nmero cargado en el contador determina la duracin del perodo. Cuanto ms bajo sea el nmero, ms tiempo tardar el temporizador para llegar a 255, y se da vuelta, y el periodo ms largo ser el tic tac. A modo de ejemplo, supongamos que un programa es para cambiar el estado de un LED cada 0,5 segundos. El LED est conectado al bit menos significativo del puerto C como se muestra en la figura 218.

Un temporizador para ser utilizado como un tic tac, primero es necesario determinar el nmero que se carga en el contador cada vez que se produce la interrupcin. En este ejemplo, queremos que el LED cambie cada 0,5 segundos. Una solucin sera que la interrupcin se produzca cada 0,5 segundos

en el caso de temporizador 0, la configuracin sistema / 1024.

ms

lenta de la pre-escalador reloj es el

reloj

del

Anda mungkin juga menyukai