《基于C51+Proteus仿真单片机》教学课件—08定时计数器中断-.pptxVIP

《基于C51+Proteus仿真单片机》教学课件—08定时计数器中断-.pptx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 单片机的定时器/计数器;8.1定时器/计数器的结构 定时器/计数器的基本结构如图6-1。8051单片机内部设有两个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1)。16位的定时器/计数器分别由两个8位寄存器组成,即:T0由TH0和TL0构成,T1由TH1和TL1构成。每个寄存器均可单独访问,这些寄存器是用于存放定时初值或计数初值的。有一个8位的定时器方式寄存器TMOD和一个8位的定时器控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的,定时器/计数器的工作方式、定时时间和启停控制通过由指令来确定这些寄存器的状态来实现。TMOD主要用于设定定时器的工作方式,TCON主要用于控制定时器的启动与停止,并保存T0、T1的溢出和中断标志。;图6-1 定时器/计数器基本组成;8.1.1 工作方式控制寄存器TMOD 定时器方式控制寄存器地址89H,不可位寻址。TMOD寄存器中高4位定义T1,低4位定义T0。 表6-1 TMOD的有关功能控制位 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号GATE C/T M1 M0 GATE C/T M1 M0 定时/计数器T1 定时/计数器T0 其中M1,M0用来确定所选工作方式如表6-2所示:;表8-2 TMOD控制位功能;8.1.2 定时器/计数器控制寄存器 定时器控制寄存器TCON地址88H,可以位寻址,TCON主要用于控制定时器的操作及中断控制。此处只对定时控制功能加以介绍。 ;系统复位时,TMOD和TCON寄存器的每一位都清零。;8.2 定时器/计数器的四种工作方式 用户可通过编程对专用寄存器TMOD中的M1,M0位的设置,选择四种操作方式。 8.2.1 方式0(以T0为例) 当TMOD中的M1=0、M0=0时,选定方式0工作。方式0时,定时器/计数器T0、T1的结构如图6-2所示(低8位高5位));在此方式中,定时寄存器由TH0的8位和TL0的5位(其余位不用)组成一个13位计数器。当GATE=0时,只要TCON中的TR0为1,13位计数器就开始计;当GATE=1以及TR0=1时,13位计数器是否计数取决于INT0引脚信号,当INT0由0变1时开始计数,当INT0由1变为0时停止计数。 当13位计数器溢出时,TCON的TF0位就由硬件置1,同时将计数器清0。 当方式0为定时工作方式时,定时时间计算公式为: 当方式0为计数工作方式时,计数值的范围是:1- (8192)。 8.2.2 方式1 当TMOD中的M1=0、M0=1时,选定方式1工作。方式1时,定时器/计数器T0、T1的结构如图6-3所示:;12分频;方式1采用16位计数结构的工作方式,其余与方式0相同。显然方式1的定时时间计算公式为: (216-计数初值)×晶振周期×12 计数范围是:1─216(65536) 8.2.3 方式2 方式2是由TL组成8位计数器。TH作为常数缓冲器,由软件预置初始值。当TL产生溢出时,一方面使溢出标志位TF置1;同时把TH的8位数据重新装入TL中,即方式2具有自动重新加载功能。 方式2的逻辑结构见图6-4(以定时器/计数器0为例)。;8.2.4 方式3 在方式3中,TL0和TH0成为两个相互独立的8位计数器。TL0占用了全部T0的控制位和信号引脚,即GATE、C/T、TR0、TF0等。而TH0只用作定时器使用。而且由于定时器/计数器0的控制位已被TL0独占,因此TH0只好借用定时器/计数器1的控制位TR1和TF1进行工作。 同时,由于TR1,TF1已“出借”给TH0,TH1和TL1的溢出就送给串行口,作为串行口时钟信号发生器(即波特率信号发生器,详见第九章),并且只要设置好工作方式(方式0,方式1,方式2)以及计数初值,T1无须启动使可自动运行。如要停止T1工作,只要将其设置工作方式3即可。 8.3 定时器/计数器的编程和应用 8.3.1方式0的应用 【例8-1】 设单片机晶振频率为6MHz,利用定时器T0产生定时脉冲。要求每隔2ms从P1.0脚上输出脉宽为2个机器周期的正脉冲。;解: (1)计算初值 首先求出定时器T0初值。由于时钟频率为6MHz,因此定时器/计数器的计数脉冲的周期为2us=12/6MHz。 t =(计数器最大空间-计数初值)×机器周期 =(2n-a)×12/fosc (?s) 根据公式:2ms=(213-T0初值)×定时器×计数器计数脉冲周期,代入数值可得: (213-T0初值)×2×10-6=2×10-3 T0初值=7 19211000B,其中将高8位111

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档