
定时/计数器 一、定时/计数器的基本组成 89C51单片机内部有两个16位的可编程的定时/计数器,称为定 时器0(T0)和定时器1(T)。可通过编程将其设定为定时器 或计数器。 定时/计数器的基本组成:89C51定时/计数器由定时器0 (T0)、定时器1(T1)、定时器工作方式寺存器TMOD和定时 器控制寄存器TCON组成
定时/计数器 一、定时/计数器的基本组成 89C51单片机内部有两个16位的可编程的定时/计数器,称为定 时器0(T0)和定时器1(T1)。可通过编程将其设定为定时器 或计数器。 定时/计数器的基本组成:89C51定时/计数器由定时器0 (T0)、定时器1(T1)、定时器工作方式寄存器TMOD和定时 器控制寄存器TCON组成

二、定时/计数器的工作原理 ·定时/计数器设置为定时工作方式时,计数器对内部机器 周期计数,每过一个机器周期,计数器增1,直至计数溢出, 发出中断请示信号。 ·当定时/计数器设置为计数工作方式时,计数器对来自输 入引脚T0(P3.4)和T1(P3.5)的外部脉冲信号计数,外 部脉冲的下降沿将触发计数
二、定时/计数器的工作原理 • 定时/计数器设置为定时工作方式时,计数器对内部机器 周期计数,每过一个机器周期,计数器增1,直至计数溢出, 发出中断请示信号。 • 当定时/计数器设置为计数工作方式时,计数器对来自输 入引脚T0(P3.4)和T1(P3.5)的外部脉冲信号计数,外 部脉冲的下降沿将触发计数

三、定时/计数器中的控制寄存器 (一)定时器控制寄存器TCON TCON的作用:控制定时器的启动、停止,标志定时器的溢 出和中断情况。 TCON TF1 TRI TFO TRO IE1 ITI IEO ITO (88H 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 入一与定时/计数器有关 与中断有关 1、TF1:定时/计数器T1溢出标志 当T1计数溢出时,将TF1置1;CPU响应中断后由硬件将TF1清0。 在中新屏藏时,TF1可作查询测试用,此时只能由软件清0。 2、TF0:定时/计数器T0溢出标志 3、TR1:定时/计数器T1运行控制位 TR1=1附,启动T1,T1开始运行;TR1=0时,T1停止运行 4、TR0:定时/计数器TO运行控制位
三、定时/计数器中的控制寄存器 (一)定时器控制寄存器TCON TCON的作用:控制定时器的启动、停止,标志定时器的溢 出和中断情况。 TCON (88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 与定时/计数器有关 与中断有关 1、TF1:定时/计数器T1溢出标志 2、TF0:定时/计数器T0溢出标志 3、TR1:定时/计数器T1运行控制位 TR1=1时,启动T1, T1开始运行; TR1=0时, T1停止运行 4、TR0:定时/计数器T0运行控制位 当T1计数溢出时,将TF1置1;CPU响应中断后由硬件将TF1清0。 在中断屏蔽时,TF1可作查询测试用,此时只能由软件清0

(二)定时/计数器工作方式寄存器TMOD 作用:用于设定定时/计数器的工作方式 TMOD (89H)GATE C/MI MO GATE C/MI MO GATE:门控位 当GATE=O时,定时/计数器TO只受TCON中的运行控制位TRO控制 即TR0=1时,T0运行;TR0=0时,T0停止运行 当GATE=1时,定时/计数器TO的运行同时受TR0和外部中断输入信号双重控制 即TR0=1且NT0=1时,T0才能运行。 C/下:定时/计数的方式选择位 C/厅=1,为计数工作方式,对外部事件脉冲计数,用作计教器 C/行=0,为定附工作方式,对片内机器周期脉冲计数,用作定时器
(二)定时/计数器工作方式寄存器TMOD 作用:用于设定定时/计数器的工作方式 TMOD (89H) GATE C/ M1 M0 GATE C/ M1 M0 T T T1 T0 GATE:门控位 当GATE=0时,定时/计数器T0只受TCON中的运行控制位TR0控制 即TR0=1时, T0运行; TR0=0时, T0停止运行 当GATE=1时,定时/计数器T0的运行同时受TR0和外部中断输入信号双重控制 即TR0=1且 INT0 =1时, T0才能运行。 C / T :定时/计数的方式选择位 C / =1,为计数工作方式,对外部事件脉冲计数,用作计数器 C / =0,为定时工作方式,对片内机器周期脉冲计数,用作定时器 T T

M1M0:工作方式选择位 1、M1M0=00时,定时/计数器工作于方式0 振荡器 12 ,C/斤=0 控制 TF0→中断 T0P3.4) C斤=I TRO GATE & INTO 定附/计数器T0(或T1)工作方式0 定财财问=(2定时器初值)*机器周期 定财器初值=23。定财财间/机器周期
振荡器 /12 TH0 (8位) TL0 (低5位) 中断 C/ =0 T C/ =1 T T0(P3.4) & TR0 1 + GATE INT0 控制 定时/计数器T0(或T1)工作方式0 M1M0:工作方式选择位 1、 M1M0=00时,定时/计数器工作于方式0 定时时间=(2 13 - 定时器初值)* 机器周期 定时器初值= 2 13 - 定时时间 / 机器周期 TF0

2、M1M0=01时,定时/计数器工作于方式1 振荡器2 控制 F0一中断 T0(P3.4) C/=1 TRO GATE & 00- INTO 定时/计数器T0(或T1)工作方式1 定时器初值=26。定时时问/机器周期
2、 M1M0=01时,定时/计数器工作于方式1 T0(P3.4) 振荡器 /12 TH0 (8位) TL0 (8位) TF0 中断 C/ =0 T C/ =1 T & TR0 1 + GATE INT0 控制 定时/计数器T0(或T1)工作方式1 定时器初值= 2 16 - 定时时间 / 机器周期

3、M1M0=10时,定时/计数器工作于方式2 振荡器 /12 C/=0 控制 TLO (8位) TF0→中断 T0P3.4) C斤= 自动恢复 TRO & GATE 定时/计数器T0(或T1)工作方式2 定时器初值=28。定时时问/机器周期
3、 M1M0=10时,定时/计数器工作于方式2 T0(P3.4) 振荡器 /12 TF0 中断 C/ =0 T C/ =1 T & TR0 1 + GATE INT0 控制 定时/计数器T0 (或T1)工作方式2 TL0 (8位) TH0 (8位) 8 自动恢复 定时器初值= 2 8 - 定时时间 / 机器周期

4、M1M0=11时,定时/计数器工作于方式3(注意:方式3仅适用于T0,T1无方式3。) 振荡器 12 控制 TLO TF0→中断 (8位) T0P3.4) C斤=1 TRO & GATE INTO 控制 振荡器 12 THO (8位) F1→中断 定时/计数器T0工作方式3
4、 M1M0=11时,定时/计数器工作于方式3(注意:方式3仅适用于T0, T1无方式3。) T0(P3.4) 振荡器 /12 TF0 中断 C/ =0 T C/ =1 T & TR0 1 + GATE INT0 控制 定时/计数器T0工作方式3 TL0 (8位) TH0 (8位) 振荡器 /12 控制 TR1 TF1 中断

*TL0使用T0原有的控制寺存器资源,构成一个8位的定时 计数器 *TH0借用T1的中断溢出标志TF1、运行控制开关TR1, 只能对片内机器周期计数,组成一个8位定时器。 *T0方式3情况下的T1仍可设置成方式0、1、2, 常用作串行口波特率发生器
* TL0使用T0原有的控制寄存器资源,构成一个8位的定时 计数器 * TH0借用T1的中断溢出标志TF1、运行控制开关TR1, 只能对片内机器周期计数,组成一个8位定时器。 * T0方式3情况下的T1仍可设置成方式0、1、2, 常用作串行口波特率发生器

MIMO 工作方式 功能说明 最大计数值 00 方式0 13位计数器 25=8192 01 方式1 16位计数器 216=65536 两个8位计数器 10 方式2 初值自动装入 28=256 两个独立8位计 11 方式3 数器仅适用于 28=256 TO
2 =256 两个独立8位计 数器仅适用于 T0 11 方式3 2 =256 两个8位计数器 10 方式2 初值自动装入 01 方式1 16位计数器 2 =65536 00 方式0 13位计数器 2 =8192 M1M0 工作方式 功能说明 最大计数值 13168 8