
第6章 MCS-51单片机的定时器/计数器 本章要点: ·单片机定时器/计数器的内部逻辑结构 ·单片机定时器/计数器的控制寄存器 。 单片机定时器/计数器的具体应用
第6章 MCS-51单片机的定时器/计数器 本章要点: • 单片机定时器/计数器的内部逻辑结构 • 单片机定时器/计数器的控制寄存器 • 单片机定时器/计数器的具体应用

6.1定时/计数方法概述 在单片机的控制应用中,定时和计数是必不可少的, MCS-51单片机有两个可编程的定时器/计数器T0和T1, 都是16位加法计数结构,分别由TH0和TL0及TH1和TL1组 成。 单片机的计数是指对外部事件进行计数,从T0 (P3.4)和T1(P3.5)引脚输入信号。即对外来脉冲进 行计数。外部输入的脉冲负跳变时计数器加1(加法计 数)。 单片机的定时是通过计数器的计数来实现的,计数 脉冲来自单片机的内部,即每个机器周期产生一个计数 脉冲。也就是每个机器周期计数器加1
6.1定时/计数方法概述 在单片机的控制应用中,定时和计数是必不可少的, MCS-5l单片机有两个可编程的定时器/计数器T0和T1, 都是16位加法计数结构,分别由TH0和TL0及TH1和TL1组 成。 单片机的计数是指对外部事件进行计数,从T0 (P3.4)和T1(P3.5)引脚输入信号。即对外来脉冲进 行计数。外部输入的脉冲负跳变时计数器加1(加法计 数)。 单片机的定时是通过计数器的计数来实现的,计数 脉冲来自单片机的内部,即每个机器周期产生一个计数 脉冲。也就是每个机器周期计数器加1

6.1.1定时器/计数器的控制寄存器 1.定时器控制寄存器(TCON) TC0N寄存器有关定时的控制位共有4位,在第五章中已提到, 现介绍如下: 位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号TF1TR1TF0TR0IE1T1IE0IT0 TF0和TF1:计数溢出标志位。当计数器计数溢出(计满)时,该位 置1。使用查询方式时,此位作状态位供查询,但应注意查询有效后 应以软件方法及时将该位清0:使用中断方式时,此位作中断标志位, 在转向中断服务程序时由硬件自动清0。 TR0和TR1:定时器运行控制位。当TR0(TR1)=O,停止定时器/ 计数器工作;TR0(TR1)=1,启动定时器/计数器工作。该位根据 需要以软件方法使其置1或清0
6.1.1 定时器/计数器的控制寄存器 1.定时器控制寄存器(TCON) TCON寄存器有关定时的控制位共有4位,在第五章中已提到, 现介绍如下: 位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF0和TF1:计数溢出标志位。当计数器计数溢出(计满)时,该位 置l。使用查询方式时,此位作状态位供查询,但应注意查询有效后 应以软件方法及时将该位清0;使用中断方式时,此位作中断标志位, 在转向中断服务程序时由硬件自动清0。 TR0和TR1:定时器运行控制位。当TR0(TR1)=0,停止定时器/ 计数器工作;TR0(TR1)=1,启动定时器/计数器工作。该位根据 需要以软件方法使其置1或清0

2.工作方式控制寄存器门(TMOD) TMOD用于设定定时器/计数器的工作方式,不能位寻址,它的低4 位定义T0,高4位定义T1。 位序 D7 D6 D5 D4 D3 D2 D1 DO 符号 GATE C/T MI MO GATE c/T MI MO GATE:门控位。 GATE=O时,以运行控制位TR启动定时器; GATE=1,且TR=1时,以外中断请求信号(或)启动定时器。 CT:定时方式或计数方式选择位。 CT=0,定时工作方式: cT=1,计数工作方式。 M1M0:王作方式选择位,其对应关系如表6-1所示
2.工作方式控制寄存器门(TMOD) TMOD用于设定定时器/计数器的工作方式,不能位寻址,它的低4 位定义T0,高4位定义T1。 GATE:门控位。 GATE=0时,以运行控制位TR启动定时器; GATE=1,且TR=1时,以外中断请求信号(或)启动定时器。 :定时方式或计数方式选择位。 =0,定时工作方式; =1,计数工作方式。 M1M0:工作方式选择位,其对应关系如表6-1所示。 位序 D7 D6 D5 D4 D3 D2 D1 D0 符号 GATE M1 M0 GATE M1 M0

表6-1定时器/计数器工作方式选择 M1 MO 工作方式 功能说明 0 0 方式0 13位定时器/计数器 0 方式1 16位定时器/计数器 0 方式2 自动加载的8位定时器/计数 器 方式3 T0分为两个独立的8位计数器 TL0和TH0,定时器T1停止计数
M1 M0 工作方式 功能说明 0 0 方式0 13位定时器/计数器 0 1 方式1 16位定时器/计数器 1 0 方式2 可自动加载的8位定时器/计数 器 1 1 方式3 T0分为两个独立的8位计数器 TL0和TH0,定时器T1停止计数 表6-1 定时器/计数器工作方式选择

3.中断允许控制寄存器(E) 与定时器/计数器有关的位是:EA、ET0、ET1。在第五 章中已提到,现重复介绍如下: EA:中断允许总控制位 ET0和ET1:定时/计数中断允许控制位 ET0(ET1)=0,禁止定时(或计数)中断; ET0(ET1)=1,允许定时(或计数)中断。 6.1.2定时工作方式 MCS-51单片机的定时器有4种工作方式,由TMOD的 M1M0来设定工作方式
3.中断允许控制寄存器(IE) 与定时器/计数器有关的位是:EA、ET0、ET1。在第五 章中已提到,现重复介绍如下: EA:中断允许总控制位。 ET0和ET1:定时/计数中断允许控制位。 ET0(ET1)= 0,禁止定时(或计数)中断; ET0(ET1)= 1,允许定时(或计数)中断。 6.1.2定时工作方式 MCS-51单片机的定时器有4种工作方式,由TMOD的 M1M0来设定工作方式

表6-2定时器/计数器0工作方式控制寄存器的设定 定时器T0用作定时器 TMOD 方式 定时器TO的功能 GATE-O GATE=1 0 13位定时器 OOH 08H 16位定时器 01H 09H 2 8位定时器 02H OAH 8位定时器 03H OBH 定时器T0用作计数器 TMOD 方式 定时器T0的功能 GATE-0 GATE=1 0 13位计数器 04H OCH 16位计数器 05H ODH 2 8位计数器 06 OEH 3 8位计数器 07H OFH
定时器T0用作定时器 方式 定时器T0的功能 TMOD GATE=0 GATE=1 0 13位定时器 00H 08H 1 16位定时器 01H 09H 2 8位定时器 02H 0AH 3 8位定时器 03H 0BH 定时器T0用作计数器 方式 定时器T0的功能 TMOD GATE=0 GATE=1 0 13位计数器 04H 0CH 1 16位计数器 05H 0DH 2 8位计数器 06H 0EH 3 8位计数器 07H 0FH 表6-2 定时器/计数器0工作方式控制寄存器的设定

表6-3定时器/计数器1工作方式控制寄存器的设定 定时器TI用作定时器 TMOD 方式 定时器T0的功能 GATE-0 GATE-1 0 I3位定时器 00H 80H 16位定时器 10H 90H 2 8位定时器 20H AOH 定时器T0工作在方式3下,T1只能工作在方式0、方式1、方式2下。 定时器T1用作计数器 TMOD 方式 定时器T0的功能 GATE-0 GATE=1 0 13位计数器 40H COH 1 16位计数器 50H DOH 3 8位计数器 60H EOH 定时器T0工作在方式3下,T1只能工作在方式0、方式1、方式2下
定时器T1用作定时器 方式 定时器T0的功能 TMOD GATE=0 GATE=1 0 13位定时器 00H 80H 1 16位定时器 10H 90H 2 8位定时器 20H A0H 定时器T0工作在方式3下,T1只能工作在方式0、方式1、方式2下。 定时器T1用作计数器 方式 定时器T0的功能 TMOD GATE=0 GATE=1 0 13位计数器 40H C0H 1 16位计数器 50H D0H 2 8位计数器 60H E0H 定时器T0工作在方式3下,T1只能工作在方式0、方式1、方式2下。 表6-3 定时器/计数器1工作方式控制寄存器的设定

1.方式0 方式0下的电路逻辑结构如图6-2所示,以T0为例。内部计数 器是13位,由TH0的8位和TL0的低5位构成。当TL0低5位计数溢 出时向TH0进位,TH0计数满时则将T℉0置1。 振荡器 ÷12 C/T=0 THO TFO 中附 C/T=1 To. 控制 TRO GATE INTO
1.方式0 方式0下的电路逻辑结构如图6-2所示,以T0为例。内部计数 器是13位,由TH0的8位和TL0的低5位构成。当TL0低5位计数溢 出时向TH0进位,TH0计数满时则将TF0置1。 振荡器 ÷ 12 C/T= 0 C/T= 1 T0 控制 TR0 GATE & ≥ 1 1 INT0 中断 TL0 低5位 TH0 8位 TF0

如图所示,当cT0时,多路开关接通振荡脉冲的12分频输出, 为定时工作方式。当=C疗多路开关接通计数引脚(T0), 外部计数脉冲由引脚TO输入,为计数工作方式。 当GATE=O时,由TRO控制计数器的接通与断开,TRO=1,TO工 作;TR0=0,T0停止工作。当GATE=1,且TR0=1时,由INTO 控制计数器的接通与断开,INTO=1,T0工作;INT0=0,T0停止 工作。 当为计数工作方式时,计数值的范围是:1~213 当为定时工作方式时,定时时间的计算公式为: (213-计数初值)×晶振周期(振荡周期)×12 或(213-计数初值)×机器周期
如图所示,当 =0时,多路开关接通振荡脉冲的12分频输出, 为定时工作方式。当 =l时,多路开关接通计数引脚(TO), 外部计数脉冲由引脚TO输入,为计数工作方式。 当GATE=0时,由TR0控制计数器的接通与断开,TR0=1,T0工 作;TR0=0,T0停止工作。当GATE=1,且TR0=1时,由INTO 控制计数器的接通与断开,INT0=1,T0工作;INT0=0,T0停止 工作。 当为计数工作方式时,计数值的范围是:1~2 13 当为定时工作方式时,定时时间的计算公式为: (2 13-计数初值)×晶振周期(振荡周期)×12 或(2 13-计数初值)×机器周期