首页 理论教育 MCS-51单片机内部定时器控制实例

MCS-51单片机内部定时器控制实例

时间:2023-10-22 理论教育 版权反馈
【摘要】:MCS-51系列单片机对内部定时器/计数器的控制主要是通过TCON和TMOD两个特殊功能寄存器实现的。具体情况如下:1)TF1:定时器/计数器1溢出标志。2)TR1:定时器/计数器1运行控制位。图中,M1和M0为工作方式控制位,C/T为定时器/计数器的模式控制位,GATE为门控制位。GATE用于确定INT0是否需要参与对计数器T0的控制。GATE的这种控制作用可以使定时器/计数器用来测量脉冲的宽度。

MCS-51单片机内部定时器控制实例

MCS-51系列单片机对内部定时器/计数器的控制主要是通过TCON和TMOD两个特殊功能寄存器实现的。

1.定时器控制寄存器TCON

定时器控制寄存器TCON是一个8位寄存器,可按字节寻址,也可按位寻址。各位定义如图6-23所示。图中,TR0和TR1分别用于控制内部定时器/计数器T0和T1的启动和停止,TF0和TF1用于标志T0和T1计数器是否产生了溢出中断请求。T0和T1计数器的溢出中断请求还受中断允许寄存器IE中EA、ET0和ET1状态的控制。具体情况如下:

1)TF1:定时器/计数器1溢出标志。当定时器/计数器溢出时,由内部硬件置位,申请中断。进入中断服务程序后由内部硬件电路自动复位。

2)TR1:定时器/计数器1运行控制位。靠软件置位或复位,置位时定时器/计数器可以开始工作,复位时停止工作。

3)TF0:定时器/计数器0溢出标志。其功能和操作情况同TF1。

4)TR0:定时器/计数器0运行控制位。其功能和操作情况同TR1。

5)IE1:外部中断1请求标志。检测到在978-7-111-46831-8-Chapter06-83.jpg引脚上出现的外部中断信号的下降沿时,由硬件置位,请求中断,进入中断服务程序后被硬件自动复位。

6)IT1:外部中断1触发中断类型控制位。靠软件置位或复位。IT1=1时是下降沿触发中断;IT1=0时低电平触发中断。

7)IE0:外部中断0请求标志。其功能和操作情况同IE1。

8)IT0:外部中断0触发中断类型控制位。其功能和操作情况同IT1。

978-7-111-46831-8-Chapter06-84.jpg(www.xing528.com)

图6-23 定时器控制寄存器TCON各位定义

2.定时器工作方式寄存器TMOD

定时器工作方式寄存器TMOD的地址为89H,CPU可以通过字节传送指令来设定TMOD中各位状态,但不能用位寻址指令改变。TMOD各位定义如图6-24所示。图中,M1和M0为工作方式控制位,C/T为定时器/计数器的模式控制位,GATE为门控制位。

978-7-111-46831-8-Chapter06-85.jpg

图6-24 定时器工作方式控制寄存器TMOD各位定义

TMOD的控制作用可以通过方式控制逻辑实现,图6-24所示是定时器/计数器T0的方式控制逻辑,T1也有这样的一套逻辑电路。现结合图6-25对T0方式控制逻辑讨论如下。

978-7-111-46831-8-Chapter06-86.jpg

图6-25 定时器/计数器T0方式控制逻辑

定时器/计数器T0可以设定为13位、16位、8位重装和两个独立8位计数器四种工作方式,由TMOD中M1、M0(D1 D0)两位状态设定。T0的定时器模式/计数器模式由TMOD中978-7-111-46831-8-Chapter06-87.jpg状态决定。若978-7-111-46831-8-Chapter06-88.jpg=0,则T0设定为定时器模式,计数脉冲由单片机主脉冲经12分频后送来;若C/978-7-111-46831-8-Chapter06-89.jpg=1,则T0为计数器模式,计数脉冲从单片机T0输入引脚上送来。CPU在每个机器周期内对T0(或T1)检测一次,但只有在前一次检测为1和后一次检测为0时才会使计数器加1,因此计数器不是由外部时钟负边沿触发的,而是在两次检测到负跳变存在时才进行计数的。由于两次检测需要24个时钟脉冲,故T0线上输入脉冲的“0”或“1”的持续时间不能少于一个机器周期。通常,T0或T1输入线上的计数脉冲频率总小于100kHz。

由图6-25中还可见,计数器T0是否工作还与TR0、GATE和978-7-111-46831-8-Chapter06-90.jpg有关。GATE是门控位,由TMOD中D3状态决定。GATE用于确定INT0是否需要参与对计数器T0的控制。若GATE=0,则计数器T0只受TR0控制,978-7-111-46831-8-Chapter06-91.jpg仍作为中断请求输入线用;若GATE=1,则978-7-111-46831-8-Chapter06-92.jpg线可作为计数器T0的辅助控制线,不再用作中断请求输入线。此时,若INT0=0,则TR0对计数器T0的控制作用被禁止;若978-7-111-46831-8-Chapter06-93.jpg=1,则允许TR0控制计数器T0的启动或停止。GATE的这种控制作用可以使定时器/计数器用来测量脉冲的宽度。

计数器T0在计满回零时能自动使TCON中的TF0置位,以表示计数器T0产生了溢出中断请求,若此时中断是开放的(即:EA=1和ET0=1),则计数器T0的溢出中断请求便可为CPU响应。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈