单片机原理与接口技术( 第二版) 高职计算机应用技术专业 第6章 MCS 51定时器 计数器.ppt

单片机原理与接口技术( 第二版) 高职计算机应用技术专业 第6章 MCS 51定时器 计数器.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
尚辅网 高等职业教育 计算机类课程规划教材 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(2 8 ),将其送入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-

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档