5.2 定时/计数器特殊功能寄存器
定时/计数器包含的特殊功能寄存器有中断控制寄存器TCON、中断允许寄存器IE、中断优先寄存器IP、工作方式寄存器TMOD、T0的高8位初值寄存器TH0、T0的低8位初值寄存器TL0、T1的高8位初值寄存器TH1、T1的低8位初值寄存器TL1。
5.2.1 定时/计数器控制寄存器TCON
1.定时/计数器TCON各位名称
定时/计数器控制寄存器TCON是对中断请求的标志位、计数器的启动与停止进行设置,其各位名称见表5-3。
表5-3 TCON各位名称

2.外部中断在TCON的中断标志位
外部中断在TCON中要设置的中断标志位见表5-4。
表5-4 TCON中断标志位

续表

5.2.2 定时/计数器允许寄存器IE
1.IE各位名称
定时/计数器允许寄存器IE,是用户设置允许中断源发生中断,还是不允许发生中断,其对应的位名称见表5-5。
表5-5 IE各位名称

2.定时/计数器在IE中的允许位设置
MCS-51单片机对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。定时/计数器在IE中要设置的中断允许标志位见表5-6。
表5-6 IE允许位设置

5.2.3 定时/计数器优先寄存器IP
1.IP各位名称
中断优先寄存器IP用于控制各中断源优先级,其格式见表5-7。
表5-7 IP各位名称

2.定时/计数器在IP中的优先位设置
定时/计数器在IP中要设置的优先标志位见表5-8。
表5-8 IP优先位设置

5.2.4 定时/计数器工作方式寄存器TMOD
1.定时/计数器TMOD各位名称
TMOD为定时/计数器T0、T1的工作方式控制寄存器,高4位为T1的工作方式设置位,低4位为T0的工作方式设置位,只能按字节对它寻址。TMOD的位结构如图5-3所示。

图5-3 TMOD控制寄存器
2.定时/计数器在TMOD中的设置
定时/计数器在TMOD中的设置,见表5-9。(https://www.daowen.com)
表5-9 TMOD各位设置

3.工作方式选择位说明
工作方式选择位说明,见表5-10。
表5-10 工作方式选择位

4.TMOD在程序中的使用
TMOD只能字节寻址,不能位寻址,在使用时只能按字节赋值,若程序中只使用了一个定时/计数器,另一个定时/计数器工作方式设置默认为0。
例1 设置T0为软件启动、计数功能、工作方式1,则TMOD各位的值见表5-11。
表5-11 TMOD各位值

所以TMOD的值用十六进制表示为0x05,在程序中使用如下:

例2 设置T1为软件启动、定时功能、工作方式1;T0为软硬启动,计数功能,工作方式2,则TMOD各位的值见表5-12。
表5-12 TMOD各位值

所以TMOD的值用十六进制表示为0x1E,在程序中使用如下:


5.2.5 定时/计数器的初值计算
T0、T1都是16位加法计数器,T0由TL0、TH0两个8位寄存器组成16位,T1由TL1、TH1两个8位寄存器组成16位。
1.初值计算公式
初值计算是已知定时时间或已知计数次数的情况下,求出所要设定的定时器初值或计数初值,其公式为:

其中,n为计数器位数,根据工作方式的选择而定。
2.初值计算举例
例3 采用T0,定时5ms,选择工作方式0,晶振频率为6MHz,请计算定时初值。
分析:(1)工作方式0为13位计数器,n为13;
(2)晶振频率为6MHz,机器周期=2μs;
(3)定时时间5ms,将单位转化为微秒5 000μs。

例4 采用T1,计数100次,选择工作方式2,晶振频率为12MHz,请计算计数初值。
分析:(1)工作方式2为8位计数器,n为8;
(2)晶振频率为12MHz,机器周期=1μs;
(3)计数次数为100次。
则,计数初值=8
2-100 =256-100=156。