单片机应用技术 教学课件 作者 廖世海 吴政江 第5章 定时器计数器.pptVIP

单片机应用技术 教学课件 作者 廖世海 吴政江 第5章 定时器计数器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 定时器/计数器 第5章 定时器/计数器 5.1.1 定时器/计数器的结构 MSC-51单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。其逻辑结构如图5-1所示。 5.1.2 定时器/计数器的工作原理 当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。 当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。 5.2.1 控制寄存器 1.工作方式控制寄存器(TMOD) TMOD用于设定定时器/计数器的工作方式,低4位用于T0,高4位用于T1。 TMOD的位格式见表5-1。 TMOD各位做作用 GATE:选通控制。GATE=0,只要用软件对TR置1就可启动定时器;GATE=1,只有 ( )引脚为高电平,且由软件使TR置1时,才能启动定时器工作。 :定时器/计数器方式选择。 =0,设置为定时工作方式; =1,设置为计数工作方式。 M1M0:工作方式控制位,可构成四种工作方式,见5-2。 表5-2 工作方式选择 2.定时器/计数器控制寄存器(TCON) TCON已在上一章中介绍,其低4位与外部中断有关,高4位与定时器/计数器有关。 MCS-51单片机的定时器/计数器有四种工作方式。 1.工作方式0 当MlM0=00H时,定时器/计数器工作于方式0。用13位构成一个13位定时器/计数器,最大计数值为213=8192。如图5-2所示。 =1时为计数状态,计数值由下式确定: N=213-X=8192-X 式中,N为计数值;X为THx、TLx的初始值。 =0时为定时器方式,加法计数器对机器周期脉冲Tcy计数,每个机器周期TLx加1。定时时间由下式确定: T=NTcy=(8192-X)Tcy 式中,Tcy为单片机的机器周期。 2.工作方式1 当MlM0=01H时,定时器/计数器工作于方式1,是16位计数器,最大计数值为216=65536,如图5-3所示。 在工作方式1时,计数值由下式确定: N=216-X=65536-X 计数范围为1~65536。 定时器的定时时间由下式确定: T=NTcy=(65536-X)Tcy 如果晶振频率fosc=12MHz,则Tcy=1μs,定时范围为1~65536μs。 3.工作方式2 当M1M0=10H时,定时器/计数器工作于方式2,是8位定时器/计数器,能自动恢复定时器/计数器初始值,如图5-4所示。 方式2与方式0、方式1的区别在于: 1)计数位数不同,计数范围比方式0、方式1都小。 2)初始值自动重装,适用于需要重复定时的应用场合。 在工作方式2时,计数值由下式确定: N=28-X=256-X 计数范围为1~256。 定时器的定时时间由下式确定: T=NTcy=(256-X)Tcy 如果振荡频率fosc=12MHz,则Tcy=1μs,定时范围为1~256μs。 4.工作方式3 当M1M0=11H时,定时器/计数器设定为工作方式3,如图5-5所示。 T0分成两个独立的8位定时器/计数器TL0和TH0。TL0使用、GATE、TR0、、TF0定时/计数,TH0则占用了T1的两个控制位TR1、TF1。 5.3.1 定时器/计数器的初始化编程 1.初始化的内容 1)根据设计需要先确定定时器/计数器的工作模式及工作方式,然后将相应的控制字送入TMOD寄存器中。 2)计算出计数初始值并写入TH0、TL0、TH1、TL1中。 3)通过对中断优先级寄存器IP和中断允许寄存器IE的设置,确定计数器的中断优先级和是否开放中断。 4)给定时器控制寄存器TCON送命令字,控制定时器/计数器的启动和停止 2.定时器/计数器初始值的计算 定时器/计数器初始值的换算关系如下: X=M-N 式中,N为实际计数值;M为计数最大值;X为计数初始值。其中,计数最大值在不同工作方式下的值不同。 定时器模式下对应的定时时间为 T=NTcy=(M-X)Tcy 式中,Tcy为单片机的机器周期(Tcy为晶振时钟周期的12倍)。 5.3.2 定时器/计数器的应用举例 【例5.1】试用定时器T0设计一个能产生周期t=2ms的信号发生器。设单片机的振荡频率fosc=12MHz。 解:假设选T0作信号发生器,则=0,GATE=0,即TMOD=00H。 N=t/Tcy=t/(12×(1/fosc))=1000

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档