- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17章 51系列单片机的定时器/计数器 定时和计数是控制系统中的两个重要功能,是时序电路的基础。对于时序控制系统,经常需要定时输出某些控制信号,或者对某些待测量进行定时扫描和监测,这便需要实现定时和计数的功能。 51系列单片机的硬件上集成了可编程的定时器/计数器。对于MCS-51子系列单片机,其有两个定时/计数器,即定时/计数器0和1,简称T0和T1,有4种工作方式可供选择。对于MCS-52子系列单片机(如AT89S52),其有3个定时/计数器,T0和T1是通用定时/计数器,定时/计数器2(简称T2)是集定时、计数和捕获3种功能于一体,功能更强。 单片机内部通过专用寄存器TMOD、TCON来设置定时/计数器工作的参数,例如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。本章详细讲述了51系列单片机的定时器/计数器的结构、控制寄存器和工作模式。对于每一种工作方式都给出了典型的实例。 17.1 定时器/计数器0和1 定时/计数器0和1是51系列单片机的两个通用定时/计数器,简称为T0和T1。T0和T1都具有定时和计数的功能,可以通过特殊功能寄存器来选择。T0和T1共有4种工作模式,同样可以通过特殊功能寄存器来选择。下面分别介绍T0和T1的结构及控制寄存器。 17.1.1 定时器/计数器的结构 定时器/计数器结构的核心是一个16位的加1计数器,定时/计数器的结构如图所示。其中,这个16位的计数器是由2个8位计数器组成的,定时器/计数器T0由TH0和TL0构成,T1由TH1和TL1构成。TMOD和TCON是定时器/计数器的控制寄存器。 寄存器TMOD主要用于指定各定时/计数器的功能和工作模式。寄存器TCON用于控制定时/计数器的启动和停止计数,同时也设置定时器/计数器的状态。TMOD和TCON属于特殊功能寄存器,其内容在单片机软件中设置,这样便于单片机程序操作。当单片机进行系统复位时,寄存器TMOD和TCON的所有控制位都清零。 17.1.2 定时器/计数器的功能 对于51系列单片机,定时器/计数器T0和T1都具有定时和计数两种功能,可以在定时器模式控制寄存器TMOD中的控制位C/中进行设置。下面分别介绍这两种功能的工作原理。 1.计数 计数就是对计数脉冲进行计数。其中,计数脉冲来自相应的外部输入引脚P3.4(T0)或P3.5(T1)。当该引脚的输入信号发生由高电平至低电平的负跳变时,计数器(TH0、TL0或TH1、TL0)的值增加1。 2.定时 定时是对时间进行统计。定时器/计数器的定时功能其实也是通过计数实现的,与计数功能不同的是,此时计数脉冲来自于单片机的内部时钟脉冲。 17.1.3 T0和T1的控制寄存器 定时器/计数器T0和T1用到的控制和状态寄存器为TMOD和TCON,其主要用于定义定时器/计数器的功能和工作模式。单片机CPU每执行一条涉及TMOD和TCON的指令时,例如工作方式选择、定时计数模式选择、溢出标志、触发方式等,该操作将在下一条指令的第一个机器周期S1P1开始执行。 1.定时/计数器0和1的方式控制寄存器TMOD 2.定时/计数器0和1的中断控制寄存器TCON 3.定时器/计数器的初始化 17.2 定时器/计数器0和1的工作模式 51系列单片机的定时器/计数器具有丰富的功能,T0和T1除了可以选择计数或者定时工作方式外,每个定时/计数器还有4种工作模式(模式0、模式1、模式2和模式3)。通过对寄存器TMOD的M1和M0位进行编码,选择4种工作模式中的任一种。 定时器/计数器T0和T1在模式0~2工作时,用法是一样的,仅在模式3时有所区别。下面分别介绍这4种工作模式。 17.2.1 工作模式0及其程序设计 工作模式0是13位计数器,其由一个高8位(0~7)计数器(TH0或TH1)和一个具有32位分频的低8位计数器中的(TL0或TL1)的低5位(0~4)组合成。 1.工作模式0:在工作模式0中,T1和T0的组成结构与功能完全相同。这里以T0为例,T0的组成结构如图17.4所示。当置寄存器TMOD的M1=0、M0=0时,T0和T1就工作在模式0状态。 在工作模式0下,无论工作于计数方式还是定时方式,其运行原理都是一样的。当TL0(或TL1)的低5位计数溢出时,向TH0(或TH1)进位,当TH0(或TH1)计数器溢出时,计数器清零,并向溢出控制位TF0(或TF1)进位置1,同时向CPU发出中断请求。 2.定时器/计数器模式0的应用及程序设计:这里举例讲解定时器/计数器模式0在具体程序设计中的应用。假定单片机外接6MHz晶振,这里采用定时器T0,采用模式0使定时器产生1ms的定时,并在P1.1端口输出周期为2ms的方波。 17.2.2 工作模式1及其程序设计 工作模式1与模式0的区别在于计
文档评论(0)