《单片机原理与接口技术》第6章 MCS-51定时器-计数器.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:28 大小:229KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

《单片机原理与接口技术》第6章 MCS-51定时器-计数器.ppt

《单片机原理与接口技术》第6章MCS-51定时器-计数器.ppt

预览

免费试读已结束,剩余 18 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高等职业教育计算机类课程规划教材第6章MCS-51定时器/计数器MCS-51定时器/计数器的功能是实现定时、计数,并以定时、计数的结果对单片机系统进行控制。图6-1是MCS-51定时器/计数器的内部结构图。8051内部有两个16位可编程的定时器/计数器T0和T1。T0(T1)由两个8位寄存器TH0(TH1)和TL0(TL1)拼装而成。其中TH0(TH1)为高8位,TL0(TL1)为低8位。T0和T1有定时和计数两种工作模式。1.计数计数就是对来自单片机外部的事件进行计数,为了与请求中断的外部事件区分开,称此种外部事件为外部计数事件。外部计数事件由脉冲引入,MCS-51的P3.4(T0)和P3.5(T1)即为外部计数脉冲的输入端。所谓计数,是对有效计数脉冲的计数。MCS-51单片机在每个机器周期对P3.4(T0)和P3.5(T1)进行采样,若在一个机器周期采样到高电平,在下一个机器周期采样到低电平,即得到一个有效的计数脉冲。计数寄存器在下一个机器周期自动加1。2.定时MCS-51中的计数器除了有计数之用外,还可以用作时钟,完成定时功能。定时就是对来自单片机内部的计数脉冲进行计数。2.定时控制寄存器TCON定时控制寄存器TCON既参与中断控制又参与定时控制,此处只对与定时控制功能有关的控制位进行回顾:1.中断方式定时器/计数器在中断方式下的编程步骤如下:(1)开中断;(2)设置中断优先级;(3)TMOD初始化;(4)设置定时/计数初值;(5)启动定时/计数;(6)编写定时/计数中断处理程序。2.查询方式定时器/计数器在查询方式下的编程步骤如下:(1)关中断;(2)TMOD初始化;(3)设置定时/计数初值;(4)启动定时/计数;(5)查询TFi及相关处理。方式0下的计数溢出值为8192(213)。则:计数次数=8192-计数初值(公式6-1)定时时间=(8192-计数初值)×机器周期(公式6-2)方式0没有充分利用16位计数寄存器的计数范围,这是为了与MCS-48系列单片机兼容。13位的计数寄存器的初始化有些繁琐,步骤如下:(1)由公式6-1和6-2计算出十进制的计数初值;(2)若计数初值小于32(25),将其送入TLi,将0送入THi,完成计数寄存器初始化;(3)若计数初值不小于32,先将其转化为二进制形式。补足13位后,将低5位送入TLi,将高8位送入THi,完成计数寄存器初始化。【例6.1】【例6.2】(见教材P134页)2.工作方式1定时器/计数器T0和T1在方式1下的工作情况完全相同。此时的计数寄存器为16位,构成如下:方式1下的计数溢出值为65536(216)。则:计数次数=65536-计数初值(公式6-3)定时时间=(65536-计数初值)*机器周期(公式6-4)方式1利用了全部16位计数寄存器的计数范围,计数寄存器的初始化步骤如下:(1)由公式6-3和6-4计算出十进制的计数初值;(2)若计数初值小于256(28),将其送入TLi,将0送入THi,完成计数寄存器初始化;(3)若计数初值不小于256,将其转化为十六进制形式,再将高低字节分别送入THi和TLi,完成计数寄存器初始化。【例6.3】【例6.4】【例6.5】(见教材P135-137页)3.工作方式2由于每次定时/计数之后计数寄存器的内容为0,故在下一次定时/计数前都要进行初值重载。在方式0和方式1中,初值重载是由软件实现的。如果需要进行多次定时/计数,则需占用较多CPU时间。定时器/计数器在方式2下可由硬件实现初值重载。T0和T1在方式2下为8位定时器/计数器,二者的工作情况相同。由TLi充当计数寄存器,由THi充当初值重载寄存器,如图6-3所示。在方式2下,当低8位计数器产生计数溢出时,一方面会把溢出信号写入TFi,一方面会启动THi自动为TLi赋初值。方式2下的计数溢出值为256(28)。则:计数次数=256-计数初值定时时间=(256-计数初值)*机器周期(公式6-6)方式2只利用了低8位计数寄存器,因此计数初值一定小于256。计数器的初始化步骤如下:(1)由公式6-5和6-6计算出十进制的计数初值;(2)将计数初值送入TLi,也将其送入THi,完成计数寄存器初始化。工作方式2通常用于波特率发生器(我们将在串行接口中讲解)。【例6.6】(见教材P138页)4.工作方式3定时器/计数器T0在方式3下是双8位计数器结构,定时器/计数器T1在方式3下停止计数。图6-5是定时器/计数器T0在方式3下的逻辑电路图。T0的低8位(TL0)在方式3下占用T0的控制位和引脚信号,成为一个8位的定时器/计数器。其功能和操作与方式0和方式1完全相同。T0的高8位(