单片机_AT89S52定时器计数器汇.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机_AT89S52定时器计数器汇

第8章 定时器/计数器;第一节 概述;Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.;两个16位定时计数器,最大计数范围:0000-FFFFH。 相关的SFR:TMOD、TCON、TH0、TL0、TH1、TL1。 相关引脚:T0、T1、INT0、INT1。 4种工作方式。;T0、T1相关引脚;T0、T1相关SFR;定时器/计数器原理;定时功能:对固定频率的机器周期计数, 每个机器周期定时器加1,计数速率=Fosc/12 计数功能:对外部引脚(T0和T1)上的负跳变计数,每产生 一个负跳变,计数器加1,要求高低电平均要大 于1Tm, 计数速率Fosc/24 ;以N位计数器构为核心,要解决以下问题: (1)、何时控制启动、停止计数? (2)、如何控制定时还是计数? (3)、如何控制定时/计数的长短? (4)、如何用查询或中断管理溢出事件?;GATE 选通门: GATE=0时, 只要TRx=1,计数器就开始工作; GATE=1时, 只有INTx脚和TRx同时为“1”时,计数器才开始工作.主要用于测量INTx脚上高电平脉冲的宽度. C/T 计数/定时方式选择位: C/T=1时,计数方式. 即计数器的计数脉冲来自T0或T1引脚的外部事件.C/T=0时:定时方式,计数脉冲来自内部振荡频率fosc的12分频.;M1、M0 模式选择:分别对应四种模式. M1 M0=00, 方式0:13位定时计数器 M1 M0=01, 方式1: 16位定时计数器 M1 M0=10, 方式2: 自动重装入的8位定时计数器 M1 M0=11, 方式3: T0成为两个独立的8位计数器 ;T=(M-TC)×t 其中,T: 定时时间,M: 计数器的模,TC:计数初值,t:计数器计数脉冲的周期(对于定时方式t = fosc/12)。;TF1,TF0 定时器T1,T0的溢出标志:计数器溢出时硬件自动置位, 即TFx=1, 进入中断后再由硬件自动清除; TR1,TR0 计数器T1,T0的控制位:由软件置位(计数器开始工作)或清零(计数器停止工作). IE1,IE0 外部中断INT1,INT0的请求标志:当单片机检测到INTx引脚上有低电平或下降沿时, IEx=1,申请中断. IT1,IT0 外中断触发类型控制:ITx=1时,外中断信号的下降沿触发IEx标志,ITx=0时,外中断信号的低电平触发IEx标志.;第一节 概述 第二节 模式0、模式1及其应用 第三节 模式2及其应用 第四节 模式3及其应用 第五节 定时器/计数器2;Timer/Counter 0/1 Mode 0: 13-Bit Counter (Timer 1 shown) ;Timer/Counter 0/1 Mode 1: 16-Bit Counter (Timer 0 shown) ;1、设置GATE=0,则GATE=1, 因此Y=TR0,这样: TR0=1; 启动定时器T0运行 TR0=0; 停止定时器T0运行 我们把这种控制定时器运行的方法叫软触发,最常用。 2、设置GATE=1,则GATE=0, 因此Y=TR0*INT0电平, 进一步令TR0=1, 则Y=INT0电平, 这样: INT0为高电平,启动定时器T0运行 INT0为低电平,停止定时器T0运行 我们把这种控制定时器运行的方法叫硬触发,较少用,可以用来测量正脉冲的宽度。;根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器的工作方式;(要考虑定时/计数范围,重装方式) 根据需要给C/T送初值以确定需要的定时时间或计数次数;(可选,缺省为0000) 根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级;(可选) 给TCON送命令字以启动或禁止C/T的运行。 ;计数器初值: 设计数模值为M,计数初值设定为TC,计数器计满为零所需的计数值为C,则:TC=M-C (M=213,216,28) 定时器初值: T=(M-TC)Tm , T为需要定时时间 初值TC=M-T/Tm 当定时或计数范围大于某一模式下的计数范围时,要用软件对溢出计数,以增加定时或计数的范围。;例: Fosc=12MHz,试计算定时时间2ms所需的定时器的初值.;采用查询方式:程序一直检测TF0(或TF1),若TF0=1(或TF1=1),说明定时时间到或计满数,从而开始相应处理,如: while(TF0==0); // while(!TF0); TF0=0;

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档