第5章C51定时器计数器程序设计.pptVIP

  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章C51定时器计数器程序设计

第5章 C51定时器/计数器程序设计 C51语言是运行于单片机上的程序语言,因此,学习C51语言必须结合单片机来进行。51系列单片机集成了多种硬件资源,这些资源均可以使用C51语言来进行控制。本章开始便介绍如何将C51程序应用于单片机上。 51系列单片机的集成了两个可编程的定时器/计数器,即定时/计数器0和1,简称T0和T1,有4种工作方式可供选择。单片机内部通过专用寄存器TMOD、TCON来设置定时/计数器工作的参数,例如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。本章介绍如何使用C51语言来进行定时器/计数器程序设计。 5.1 定时器/计数器简介 51系列单片机具有两个通用定时器/计数器T0和T1。T0和T1都具有定时和计数两种功能,可以通过特殊功能寄存器来选择,下面分别介绍。 计数。计数功能就是对计数脉冲进行计数。其中,计数脉冲来自相应的外部输入引脚P3.4(T0)或P3.5(T1)。当该引脚的输入信号发生由高电平至低电平的负跳变时,计数器(TH0、TL0或TH1、TL0)的值增加1。 定时。定时功能是对时间进行统计。定时器/计数器的定时功能其实也是通过计数实现的,只不过,此时的计数脉冲来自于单片机的内部时钟脉冲。 除此之外,定时器/计数器T0和T1共有4种工作模式,同样可以通过特殊功能寄存器来选择。 5.1.1 定时器/计数器的结构 定时器/计数器结构如图9.1所示,其核心是一个16位的加1计数器。其中,16位的定时器/计数器T0由2个8位计数器TH0和TL0构成,16位的定时器/计数器T1由2个8位计数器TH1和TL1构成。另外,寄存器TMOD主要用于指定各定时器/计数器的功能和工作模式;寄存器TCON用于控制定时器/计数器的启动和停止计数,同时也设置定时器/计数器的状态。 5.1.2 方式控制寄存器TMOD TMOD寄存器用于定义T0和T1的工作方式和4种工作模式,其单元地址为89H。定时器/计数器0和1的方式控制寄存器TMOD,如图所示。其中,低4位用于控制T0,高4位用于控制T1,两部分操作和含义完全相同。下面分别介绍各个控制位的含义: 8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位 0:以TRX(X=0,1)来启动定时器/计数器运行。 1:用外中断引脚(INT0*或INT1*)上的高电平和TRX来启动定时器/计数器运行。 (2)M1、M0——工作方式选择位 M1 M0 工 作 方 式 0 0 方式0,13位定时器/计数器。 0 1 方式1,16位定时器/计数器。 1 0 方式2,8位常数自动重新装载 1 1 方式3,仅适用于T0,T0分成两个8 位计数器,T1停止计数。 (3) C/T*——计数器模式和定时器模式选择位 0:定时器模式。 1:计数器模式。 5.1.3 中断控制寄存器TCON 寄存器TCON的功能是在定时器溢出时设定标志位,并控制定时器的运行、停止和中断请求。寄存器TCON的单元地址为88H。中断控制寄存器TCON的组成,如图所示。其包含3个部分,TF1和TR1位用于控制T1,TF0和TR0位用于控制T0,其它的为中断控制。下面分别介绍各种控制位的含义,如下所示。 低4位与外部中断有关,已介绍。高4位的功能如下: (1) TF1、TF0——计数溢出标志位 (2) TR1、TR0——计数运行控制位 1:启动定时器/计数器工作 0:停止定时器/计数器工作 5.1.4 定时器/计数器的初值 单片机内部的定时器/计数器是加法计数,其在计数溢出时才申请中断。为了实现自定义的计数值或定时值,需要从计数最大值计算得出需要设置的初值。在不同的工作模式中,计数最大值不同,可以为213、216和28。假设计数最大值为MAX,则初值X计算方法如下: 在计数方式下,X=MAX-计数值。 在定时方式下,X=MAX-定时值/T。 式中T为单片机的计数周期,也就是单片机的机器周期。 例如,当单片机的机器周期T=0.5μs时,如果定时器/计数器工作于模式0,MAX=213x0.5μs=4.096ms;如果定时器/计数器工作于模式1,则最大定时值为MAX=216x0.5μs=32.768ms。 5.1.5 定时器/计数器的初始化 单片机的定时器/计数器是可编程控制的,在使用之前需要先通过如下步骤进行初始化: (1)指定定时器/计数器的工作模式,通过赋值TMOD寄存器来实现。 (2)装入定时器/计数器的初值,通过赋值TH0、TL0或TH1、TL1来实现。 (3)启动定时器/计数器中断,通过赋值IE来

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档