Se sabe que el fosc del microcontrolador 8051 es de 12MHz, y T1 se usa para la programación de prueba usa los pines P1.2 y P1.3 para generar ondas cuadradas con períodos de 2 ms y 500 μs respectivamente.
El temporizador T1 está configurado en 250 μs y el modo de trabajo está configurado en el modo 2. Utilice TL1 como un temporizador de 8 bits para generar una sincronización de 250 μs. El valor de tiempo inicial X es: X=2^8-. (12* 10^ 6* 250 * 10^ (-6))/12=6
TH1=TL1=6H, TMOD=20H
El código fuente es el siguiente:
MOV ? TMOD, #20H
MOVTH1, #06H
MOVTL1, #06H
SETB? p>DS1_RPTA:
MOVR2, #04H
DS1_RPTB:
JNB TF1, $
CLR TF1
CPL P1.3
DJNZ R2, DS1_RPTB
CPL P1.2
LJMP DS1_RPTA
Hay dos temporizadores T0 y T1 en el microcontrolador 51, que está compuesto por dos registros especiales de 8 bits, es decir, el temporizador/contador T0 está compuesto por TH0 y TL0, y T1 está compuesto por TH1 y TL1. La interrupción aplicada cuando el temporizador del microcontrolador se desborda logra el propósito de cronometrar o contar. Y use el registro de control de tiempo para controlarlo. Entre ellos:
TF1: Indicador de desbordamiento del temporizador 1. Configurado por hardware cuando el temporizador/contador de eventos se desborda. Borrado por hardware durante el manejo de interrupciones. O borrarlo con software.
TF0: Indicador de desbordamiento del temporizador 0. Configurado por hardware cuando el temporizador/contador de eventos se desborda. El hardware lo borra durante el procesamiento de la interrupción o el software lo borra.
Información ampliada
Proceso de funcionamiento del temporizador:
Tome 51 como ejemplo y utilice el modo temporizador 0 para generar un tiempo de 50 milisegundos:
1. Determine qué temporizador usar y qué método usar. Configúrelo a través de TMOD. Los cuatro bits bajos de TMOD se usan para configurar el temporizador 0 y los cuatro bits altos se usan para configurar el temporizador 1. M0 y M1 se usan para configurar. El modo en el que funciona el temporizador, GATE generalmente no se usa para configurar. C/T selecciona el modo de conteo o el modo de sincronización. Por ejemplo: TMOD = 0X01, significa que el temporizador 0 funciona en el modo 1.
2. Configure el tiempo, use un temporizador, como: 50 milisegundos, puede usar este método TH0 = (65535 - 50000) / 256, TL0 = (65535 - 50000) 256; utilice este método Comprensión: debido a que este es el valor inicial del temporizador, es decir, el pulso de conteo aumenta en función de este número. Después de alcanzar 65535, se desborda y genera una interrupción.
3. Active las interrupciones, use el registro IE, primero active la interrupción total EA = 1, este paso es necesario para todas las interrupciones, luego active la interrupción del temporizador 0, ET0 = 1.
4. En este momento, se completa el trabajo de preparación, inicia el temporizador, usa el registro TCON, TR0 = 1 y logra una sincronización de 50 milisegundos.
"Principios y aplicaciones de los microcontroladores" Editado por Cao Qiaoyuan Electronic Industry Press Capítulo 4 ¿Funciones de temporización y aplicaciones de los microcontroladores? Sección 1: Estructura y principio de funcionamiento del temporizador/contador Sección 2. ¿Aplicación de contadores de temporizador? Sección 3 Ejemplo de aplicación integral del temporizador
Enciclopedia Baidu: interrupción del temporizador