单片机6无T2-2012-3-13.ppt

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

第6章 MCS-51单片机定时器/计数器 目 录 6.1 MCS-51定时器/计数器的结构及原理 6.2 定时器T0、T1 6.3 定时器T2 6.4 定时器应用举例 三种方法实现定时或计数 硬件法:完全由硬件电路完成,不占用CPU的时间。但当要求改变定时时间时只能改变电路中的元件参数。 软件法:执行一段循环程序来进行时间延时,优点是无额外的硬件开销,但牺牲了CPU的时间,且不容易得到比较精确的时间。 可编程定时器/计数器:可以通过软件编程来实现定时时间的改变,通过中断或查询来完成定时或计数功能,当定时时间到或计数满时置位溢出标志。 本章主要讨论第三种方式。 6.1 MCS-51单片机定时器/计数器的结构及工作原理 主要内容 6.1.1 MCS-51单片机定时器的内部结构 6.1.2 MCS-51单片机定时器的工作原理 6.1.3 定时器/计数器内部的特殊寄存器 6.1.1 MCS-51单片机定时器的内部结构 89C52单片机内部的定时器/计数器逻辑结构如下图所示: 从图上可以看出,MCS-51的定时器/计数器主要有以下部分构成: 两个16位的可编程定时器/计数器:T0、T1,既可以工作在定时工作方式,也可以工作在计数工作方式。 每个定时器均有两部分构成:THx和TLx 特殊功能寄存器TMOD和TCON 对T0和T1进行控制。 引脚P3.4 、 P3.5输入计数脉冲。 特殊功能寄存器之间通过内部总线和控制逻辑电路连接起来。 定时器功能 每个定时器都可由软件设置为定时工作方式或计数工作方式或其他灵活多样的可控功能方式。这些功能由特殊功能寄存器TMOD和TCON所控制。 定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。 每个定时器/计数器还有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。 定时工作方式 定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C51采用12MHz晶振时,一个机器周期为1μs,计数频率为1MHz。 1、T0、T1 的方式寄存器TMOD 复位后,TMOD=00H,不可位寻址。其格式如图6-3所示: M1、M0 —— 工作模式选择位。 由于有M1和M0两位,可以有四种工作方式。T0有4种工作模式,T1有3种工作模式。选择情况如表6-1所示。 定时器/计数器T1不能工作在模式3。设置T1的M1M0=11,T1将停止工作。 2、T0、T1 的控制寄存器TCON 此寄存器可以位寻址和字节寻址。 6.2 定时器T0、T1 主要内容 6.2.1 定时器T0、T1模式0下的结构 6.2.2 定时器T0、T1模式1下的结构 6.2.3 定时器T0、T1模式2下的结构 6.2.4 定时器T0、T1模式3下的结构 重点:模式0、1、2的工作原理及结构 难点:定时初值的概念及计算 6.2.1 定时器/计数器T0、T1的模式0 当TMOD中的M1=0、M0=0时,选定模式0。模式0时的结构如图6-5所示。 计数寄存器由13位组成。TH0高八位和TL0的低5位构成。TL0的高3位未用。 定时初值计算 做定时器时,其定时时间的计算公式如下: 定时时间为: t=(213-T0初值)×12/fosc 最大定时时间(初值为0)为:213 ×12/fosc 定时初值为:T0初值 = 213-t×fosc/12 6.2.2 定时器/计数器T0、T1的模式1 当TMOD中的M1=0、M0=1时,选择模式1。模式1时的结构如图下图所示。 计数寄存器由16位组成:TH0的8位和TL0的8位构成。 二、模式 1 工作特点 基本功能等同于模式0,只有计数宽度不同。C/T=1,工作于计数方式,C/T=0时工作于定时方式。 GATE=0时系统的启动只受TR0控制。TR0=1启动。 计数最大值 216=65536 计数溢出后TL0=TH0=00H 定时初值 定时时间为:t=(216-T0初值)×12/fosc T0初值= 216-t×fosc/12 6.2.3 定时器/计数器T0、T1的模式2 当TMOD中的M1=1、M0=0时,选定模式2。模式2时的结构如图6-7所示。 TL0作8位的定时器/计数器用,TH0作8位的初值寄存器用,用于保存初值。 该模式的计数宽度为8位定时器/计数器。TL0 计数最大值为:28=256 在程序初始化时,TL0和TH0由软件赋予相同的初值。当TL0计数溢出时TH0的初值送到寄存器TL0中。初值能够自动重装。 定时初值 定时时间为:t=(28-T0初值)×1

文档评论(0)

骨干 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档