定时计数器改课件.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  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文档。上传文档
查看更多

本章介绍的主要内容★★★

7·18XX51定时/计数器结构和工作原理★★★2个16位定时/计数器T0T116位加1计数器TH0TL0TH1TL1★★定时方式计数方式TMODTCON

1.定时工作方式★振荡器经12分频★

2.计数工作方式T0(P3.4)T1(P3★.5)★1至0的下降沿定时器的值加1每个机器周期CPU采样T0和T1的输入电平★★最高计数频率为振荡频率的二十四分之一电平保持时间至少是一个完整的机器周期

7·2定时计数器的控制寄存器TCON(88H)TMOD(89H)1.工作模式寄存器TMOD(89H)定时器T1定时器T0D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0

★GATE:门控信号★C/T:定时器/计数器选择位★M1M0工作模式选择位

2.控制寄存器TCON(88H)TF1TR1TF0TR0T1T1工作启/停T0T0工作启/停请求有/无请求有/无高4位★TF1:T1溢出中断请求标志TF0:T0★TR1:T1运行控制位TR0:T0

定时计数器的内部逻辑电路结构

7.3定时器的四种工作方式1.方式0★13位213=8192t=(213一T0初值)×时钟周期×12★★THx占高8位,TLx占低5位TLx的高3位末用低位溢出时向THx进位5THx溢出时硬件置位TF0

★查询TF02.方式1M1M0=0116位★216=65536t=(216一T0初值)×时钟周期×12★

3.方式2M1M0=108位自动重装载拆成两个8位器,TH0用以保持计数初值★TL0用作8位计数★2=2568t=(28—TH0初值)×振荡周期×12★精确的定时时间特别适用作串行口波待率发生器

4.方式3M1M0=11★立的8位计数器TH0和TL0分成为两个互相独★TL0可工作为定时或计数方式TH0只可用作定时功能占用定时器T1的控制位TR1和T1的中断标志位TF1,其启动和关闭仅受TRl的控制★定时器T1无模式3作于方式3时T但当T0工★

7.4定时计数器的应用程序设计7.4.1定时器的计数初值C的计算和装入负值★计数方式:计数初值C=模-X(其中X为要计的脉冲个数)★定时方式计数初值C=[t/MC]补=模-t/MCt为欲定时时间MC为机器周期MC=12/fosc

例要计100个脉冲的计数初值方式0(13位方式):1111110011100B11111100Bxxx11100Bxxx用“0”填入)方式1(16位方式)

方式2(8位自动再装入方式)

7.4.2定时计数器的初始化编程定时计数器的初始化编程步骤定时时间要求计数要求TMOD送计数初值TRXEAETX

7.4.3应用编程举例例7-1100ms

分析T1完成100ms的定时左移*************用汇编语言编程***************

①查询方式如下:MOVTMOD,#10HSETBTR1JBCTF1

②中断方式AJMPMAINAJMPIV1MAIN

SETBEAIV1中断子程序直接用A操作,不好!*************用C语言编程*************

①查询方式:{{{}}}

②中断方式:{}{}

例7-2亮一秒灭一秒216*2us=131.072ms解:方法1:100ms200ms硬件扩展5个3CB0HFBH

LOOP2SETBTR0;放循环外LOOP4LOOP3LOOP4LOOP3JBCTF1,LOOP1LOOP1AJMPLOOP2JBC指令

方法2:100ms中断一次中断10次AJMPIP0

IP0用R4计数不好!SETBTR0;可去掉

C语言实现方法1,用中断方式,并用程序计算计数初值timer0()interrupt1using1{}timer()interrupt3using2{}

main(){}

例7-3500us输入一低频信号1msP3.4P1.0500us500us1ms1msP1.1定时方式定时方式计数方式计数方式(初值FFH)

解T0选方式2计数方式(计一个脉冲,初值为TF0为1,改变T0为500?s定FFH)时工作方式(256-X)×2×10-6=500×10-6

BEGINDELLJBCTF0,RESP1AJMPDELLRESP1

DEL2:DEL3DEL2DEL3AJMPBEGIN;思考:如何改为中断方式?

7.4.4门控位的应用GATEx=1时TRx=1且INTx=1测量外部输入脉冲宽度例7-4方式1GATE设为1TR0为1当INT0变为高电平时,就启动计数;再次变低时,停止计数

09H(TMOD)1TR00TR

文档评论(0)

180****0386 + 关注
官方认证
文档贡献者

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

认证主体成都梦动龙辰文化科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MA636A5F5A

1亿VIP精品文档

相关文档