Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
• Temporizador / contador de 8 bits
• Legible y escribible.
• Preescalador programable por software de 8 bits
• Selección de reloj interno o externo.
• Interrupción por desbordamiento de FFh a 00h.
• Selección de borde para reloj externo.
El temporizador 0 no es más que un simple contador binario que se puede configurar para contar pulsos de reloj (interno / externo). Una vez que alcanza el valor máximo, volverá a cero configurando un indicador de sobreflujo y generará la interrupción si está habilitado.
Como su nombre indica, estos se utilizan para medir el tiempo o generar el retraso de tiempo exacto. El microcontrolador también puede generar / medir los retrasos de tiempo requeridos ejecutando bucles, pero el temporizador / contador libera a la CPU de esa tarea redundante y repetitiva, lo que le permite asignar el tiempo máximo de procesamiento para otras tareas.
Pic16f877A tiene tres temporizadores independientes que se pueden usar como temporizador, contadores o para la generación de PWM.
La siguiente tabla proporciona los detalles de los tres temporizadores.
Cálculos de retraso para 1 ms a 20 MHz con Prescaler como 32:
REGISTROS DEL TMR0:
REGISTROS
REGISTRO OPTION_REG
REGISTRO INTCON
código:
A continuación se detallan los pasos para configurar y usar el Timer0 para la generación de demoras:
1.- Calcule el recuento de temporizadores para el retraso requerido.
2.- Establezca los bits Presaclar en OPTION_REG según los cálculos de retraso.
3.- Borre el bit de PSA para usar el prescalar.
4.- Seleccione la fuente del reloj interna / externa usando el bit TOCS .
5.- Cargue el valor del temporizador en el registro TMRO .
6.- Habilite la interrupción del temporizador 0 configurando el bit TMR0IE.
7.- Habilite las interrupciones globales y periféricas configurando bits GIE y PIE.