最简中断定时器概要.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最简中断定时器概要

中断必须条件: 三要素:中断请求; 总中断允许; 相应中断允许响应。 开总中断:EA=1 开外部中断EX0/ET0=1 允许外部/定时器中断 void 函数名()interrupt 中断序号 { 跟主函数一样,写处理内容。 } 定时器主要内容: 还是一样,先开总中断开关 EA=1 选择中断方式,打开相应中断: ET0/ET1=1 哈哈!马上就会了! TH0=(65536-50000【这里是要定时的时间,单位/微秒】)/256这是高八位的数值 TL0=(65535-50000【同上】)%256这个是低八位数值 (TH0TL0)是溢出的容器,刚才的值就是容器里的初始量,空闲的值就是所求时间。溢出后中断发生,容器清零。这就是每次都给TH0/TL0赋值的原因。 TMOD=0xM0M1;(M0M1是01,10,11等地这样的数) 方式中用的是M0M1,是低八位的最后两位 定时器中断0/1打开:ET0/1=1 TRO/1=1;这是启动定时器,必不可少 中断函数: void 函数名() interrupt 工作方式的序号 { 容器值清零就是THO/TL0等地重新赋值的原因。然后就是中断函数处理内容,跟主函数一样。这里主要是处理一个或一些数,然后这个数在主函数中处理,也就是说这里的函数相对说简单的,主要的处理还是在主函数中。 } 工作方式优先表: 定时器工作原理: 工作方式:(这里说的是TMOD后两位的,既是M1M0,高四位是T1,低四位是T0) GATE:门控位。当为零时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时器/计数器;当GATE=1时用软件使TR0或TR1为1,同时外部中断引脚也为高电平时,才能启动定时器/计数器工作,也就是说定时器的启动多了一个条件。

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档