- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机定时器/计数器应用 任务:利用单片机内部定时器/计数器中断实现一个数码管 的秒记数,重点学习定时器/计数器的工作方式以及 其控制寄存器TMOD、TCON的功能,在程序实现 过程中掌握定时器/计数器中断的一般步骤。 5.2 单片机的定时/计数器结构 51单片机内部含有两个定时器/计数器,分别是T0和 T1,在增强型51系列单片机中,如STC89C51RC,内部出了 含有T0和T1外,还有T2定时器/计数器。定时器/计数器主 要由于精确的定时,也可用于对外部脉冲进行计数以及为 作为串行通信的波特发生器。定时/计数器不同的功能是 通过对相关特殊功能寄存器的设置和程序设计来实现的。 一、定时器/计数器组成 51单片机的两个定时器/计数器部件主要由T0,T1, 工作方式控制寄存器TMOD,定时器/计数器的控制寄存器 TCON组成。 (1)T0与T1 T0由两个8位寄存器TH0、TL0组成,其中TH0是T0的 高8位,TL0是T0的低8位。T1的结构与T0一样,只是组成 它的两个8位寄存器分别为TH1、TL1。T0与T1都是二进制 加1计数器,即每一个脉冲来到时都能使计数器的当前值加 1,可以实现最大16位二进制加计数。脉冲来源有两种,一 个是利用外部在单片机P3.4、P3.5端口输入脉冲信号,另一 个是单片机晶体振荡频率的12分频产生的。 (2)TMOD TMOD为定时器/计数器的工作方式控制寄存器,共8 位,分为高4位和低4位两组,其中高4位控制T1,低4位 控制T0,分别用于设定T1和T0的工作方式。TMOD不支 持位操作,其格式为 GATE,门控位,控制定时器启动操作方式,即定时 器的启动是否受外部脉冲控制。当GATE=1时,计数器的 启停受TRx(x为0或1,下同)和外部引脚外部中断的双 重控制,只有两者都是1时,定时器才能开始工作。控制 T0运行,控制T1运行。当GATE=0时,计数器的启停只 受TRx控制,不受外部中断输入信号的控制C/ ,定时器/ 计数器的工作模式选择位。C/ =1时,为计数器模式; C/ =0时,为定时器模式。 M1、M0,定时器/计数器T0和T1的工作方式控制位, M1、M0控制定时器/计数器的工作方式见表5-1所示。 (3)TCON TCON是定时器/计数器控制寄存器,也是8位寄存器, 其中高四位用于定时器/计数器;低四位用于单片机的外 部中断,低四位会在外部中断相关内容中介绍。TCON支持 位操作,其格式为 TR1,定时器T1的启停控制位。TR1由指令置位和复 位,以启动或停止定时器/计数器开始定时或计数。除此以 外,定时器的启动与TMOD中的门控位GATE也有关系。 当门控位GATE=0时,TR1=1即启动计数;当GATE=1 时,TR1=1且外部中断引脚 =1时才能启动定时器开 始计数。TF1,定时器T1的溢出中断标志位。在T1计数溢 出时,由硬件自动将TF1置1,向CPU请求中断。CPU响 应时,由硬件自动将TF1清零。TF1的结果可用来程序查 询,但在查询方式中,由于T1不产生中断,TF1置1后需 要在程序中用指令将其清零。 TR0,T0的计数启停控制位,功能同TR1。当 GATE=1时,T0受TR0和外部中断引脚的双重控制。 TF0,T0的溢出中断标志位,功能同TF1。 51单片机的定时器/计数器T0、T1具有4种工作方式,分别由多功能寄存器TMOD和TCON控制,下面分别介绍4种工作方式的工作原理。 一、方式0 当M1,M0为00时,定时器工作T0、T1设置为方式0。 方式0为13位的定时/计数器,由TLx的低5位和Thx的高8 位构成。在计数的过程中,TLx的低五位溢出时向THx进 位,THx溢出时置位对应的中断标志位TFx,并向CPU申 请中断,T0、T1工作在方式0情况一样,下面以T0为例 说明工作方式0的具体控制。T0工作于方式0时的逻辑框图 如图4-1所示。 当C/=0时,电子开关接到上面,Tx的输入脉冲信号 由振晶体荡器的12分频而得到,即每一个机器周期使T0的 数值加1,这时T0用作定时器用。 当C/=1时,电子开关接到下面,计数脉冲是来自T0 的外部脉冲输入端单片机P3.4的输入信号,P3.4脚上每出 现一个脉冲,都使T0的数值加1,这时T0用作计数器用。 当GATE=0时,A点为“1”,B点电位就取决于
文档评论(0)