Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Microcontroladores
Eulogio Alberto Pari Aguilar
5
Propósito:
- Entender el funcionamiento de los temporizadores
y utilizarlos para resolver problemas que requieren
control de tiempo.
ATmega328p: Temporizador/Contador 0
El temporizador/contador 0 es un
módulo de 8 bits con dos unidades
independientes de comparación
con soporte PWM. Proporciona
temporización precisa durante la
ejecución del programa (control
por eventos) y generación de
ondas.
Para que este módulo funcione, el
bit PRTIM0 (registro PRR) debe
ponerse a cero (valor por defecto).
ATmega328p: Temporizador/Contador 0
Registros:
TCNT0: Registro de 8 bits que lleva
la cuenta del Timer0. Empieza en
0x00 y el máximo es 0xFF.
TCCR0A y TCCR0B: Registro de
control del Timer0. Controla
parámetros como el modo de
operación, el valor máximo de
cuenta y la forma de onda
generada en los pines OC0A y
OC0B.
ATmega328p: Temporizador/Contador 0
Dependiendo del modo seleccionado, el contador se incrementa, decrementa o reinicia
con cada pulso de la señal de reloj que lo controla. Esta señal de reloj puede ser externa
o interna y se elige a través de los bits (CS2:CS0) del registro TCCR0B. Si no se selecciona
ninguna fuente de reloj, el temporizador se desactiva. La secuencia de conteo se
determina con los bits WGM00, WGM01 y WGM02 de los registros TCCR0A y TCCR0B,
bits que seleccionan entre los distintos modos de operación del contador. Cuando el
temporizador se desborda, se genera la interrupción TOV0. Su configuración varía con el
modo de operación escogido y puede ser utilizada como interrupción de la CPU.
ATmega328p: Temporizador/Contador 0
Señales internas:
count: Incrementar o decrementar TCNT0 en 1
direction: Seleccionar entre incremento y decremento
clear: Borrar el registro TCNT0 (ponerlo a cero)
clkT0: Reloj del temporizador/contador
top: Indica que el registro TCNT0 ha alcanzado su máximo valor
bottom: Indica que el registro TCNT0 ha alcanzado su mínimo valor (cero)
ATmega328p: Temporizador/Contador 0
ATmega328p: Temporizador/Contador 0
ATmega328p: Temporizador/Contador 0