《单片机-05-第五章MCS-51单片机的定时器计数器.资料优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机-05-第五章MCS-51单片机的定时器计数器.资料优秀PPT.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、5第五章 MCS-51单片机的定时器/计数器 第五章 MCS-51单片机的定时器/计数器 MCS-51单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。5-1 MCS-51单片机定时器结构 定时器/计数器的基本结构如图5.1所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。图5.1 定时器/计数器结构 在作定时器运用时,输入的时钟脉冲是由晶体振荡器的输出 经12分频后得到的。当它用作对外部事务计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。5-2 定时器工作方式限制字1.定时
2、器限制寄存器(TCON)各位定义:TF0/TF1:查询方式:禁止中断,软件查询TF0的值,软件清“0”中断方式:硬件查询TF0的值,硬件自动清“0”2.工作方式寄存器(TMOD)功能:确定定时器的工作方式及功能选择。不能位寻址,TMOD各位的定义:GATE:门控位 0:定时器/计数器仅受TR的限制 1:只有 为高电平,且TR=1时,定时器/计数器才工作:功能选择位 0:定时功能 1:计数功能:工作方式选择位 00 方式001 方式110 方式211 方式33.中断允许限制寄存器(1E)每一位的内容在前面已作具体介绍,在此不作赘述。查询方式时:关闭中断,运用软件查询TF0/TF1 中断方式时:开
3、放中断,运用硬件自动查询TF0/TF15-3 定时器的工作方式MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全一样,现以定时器/计数器0为例介绍前三种工作方式。1.方式0(M1M0=00)(1)电路逻辑结构 方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL0的低5位构成。TL0高三位弃之不用。图5.2 是定时器/计数器0工作在方式0的逻辑结构。图5.2 定时器/计数器方式0逻辑结构当 时,多路转换开关接通 振 荡 脉冲的12分频输出,13位计数器以此作为计数 脉冲,这时实现定时功能当 时,多路换开关接
4、通计数引脚(T0),计 数 脉冲由外部引入,当计数 脉冲发生负跳变时,计数器加1,这时实现计数功能。不管哪种功 能,当13位计数 发生溢 出时,硬件自动把13位清零,同时硬件置 位溢出标记位TF0。在这里须要说明门控位(GATE)的用途,当GATE=0时,或输出的高电平与 无关,此时与门的输出只受运行限制位T R0控 制。假如TR0=0,则与门输出为低电平,则模 拟开关断开,定时器/计数 器不工作。假如TR01,则与门输出为高电平,则模 拟开关闭合,定时器/计数器工作。当GATE=1时,只有TR0和 同时为高电平,定时器/计数器才工作,否则,定时器/计数器不工作。(2)定时和计数的应用 计数范
5、围:1213 计数计算公式:计数值213计数初值 定时范围:1机器周期213机器周期 定时计算公式:定时时间(213定时初值)机器周期 假如晶振频率为6MHz,则最大定时时间为:2131/6MHz122142.方式1(M1M0=01)方式1是16位计数结构的工作方式,其计数器由TH0全部8位和TL0的全部8位构成。其逻辑电路和工作状况与方式0完全相同,所不同的只是计数 器的位数。MCS-51单片机之所以设置几乎完全一 样 的方式0和方式1,是出于与 MCS-48单片机兼容的要求。因为,MCS48单片机的定时器/计数器是13位的计数结构。定时和计数的应用 计数范围:1216 计数计算公式:计数值
6、216计数初值 定时范围:1机器周期216机器周期 定时计算公式:定时时间(216定时初值)机器周期 假如晶振频率为6MHz,则最大定时时间为:2161/6MHz12217()【例5-1】设单片机晶振频率为6MHZ,运用T1以工作方式1,产生周 期为500的等宽正方波,并由输出,以中断方式编程。分析:题目的要求可用下图来表示。1)计算计数初值 设计数初值为x,由定时计算公式知:2)专用寄存器的初始化 所以,TMOD应设置为:10H 开放定时器/计数器1中断,所以IE应设置为:88H 3)编写程序3.方式2(M1M0=10)(1)电路逻辑结构 电路逻辑结构如图5.3所示,由图可以总结出方式2具有
7、以下特点:图5.3 定时器/计数器方式0逻辑结构8位计数器TL0作计数器,TH0作预置寄存器运用,计数溢出时,TH0中的 计数初值自动装入TL0,即TL0是一个自动复原初值的8位计数器。在运用时,要把计数初值同时装入TL0和TH0中。优点是提高定时精度,削减了程序的困难程度。(2)定时和计数的应用 计数范围:128 计数计算公式:计数值28计数初值 定时范围:1机器周期28机器周期 定时计算公式:定时时间(28定时初值)机器周期【例5-2】用定时器1以工作方式2实现计数,每计数100,累加器进行加1操作,以查询方式编写程序。解:1)计算计数初值2)专用寄存器初始化 0 1 1 0 0 0 0
8、0所以,TMOD60H运用查询方式,所以关闭中断,即IE=00H3)程序设计4.方式3(M1M0=11)前面介绍的三种工作方式对两个定时器/计数器而言,工作原理是完全一样的。但在工作方式3下,两个定时器工作原理却完全不同,因此要分开介绍。(1)工作方式3下的定时器/计数器0 在方式3下,定时器/计数器0被拆为两个独立的8位的计数器TL0和TH0。其中TL0 既可以作为计数功能运用,又可以作定时功能运用,享用定时器/计数器0的运行限制位TR0和溢出标记位TF0。对于TH0,只能作定时器运用,由于定时器/计数器0的运行限制位TR0和溢出标记位TF0已被TL0占用,因此TH0占用了定时器/计数器1的运行限制位TR1和溢出标记位TF1。即定时的启动和停止受TR1的状态限制,而计数溢出时则置位TF1。(2)工作方式3下的定时器/计数器1 当定时器/计数器0工作在方式3时,定时器/计数器1只能工作在方式0、方式1和方式2。在这种状况下定时器/计数器1只能作波特率发生器运用,以确定串行通信的速率。作波特率发生器运用时,只要设置好工作方式,便可自动运行。假如要停止工作,只须要把定时器/计数器1设置在工作方式3就可以了。因为定时器/计数器1不能工作在方式3下,假如硬把它设置在方式3,它就会停止工作。