MCS-51软件消除定时中断误差.pdfVIP

  1. 1、本文档共2页,可阅读全部内容。
  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文档。上传文档
查看更多
MCS-51软件消除定时中断误差

维普资讯 \ 上工Z艺技杖巧l了 MCS一51软件消除定时中断误差 ◆山东师范大学 徐金增 史斐翡 单片机 内部一般有若干个定时器 , 位计数器,初值由THi确定;由于方式2 POPPSW 如 8051单片机 内部有 T0和T1两个 是 自动重装初值,所 以NR=0即不存在 在 KeiluVision3软件中验证定时 16位定时器 /定数器。每个定时器都是 重装初值的延时。 器 TO每 50ms产生一次 中断的时间。 由两个8位的特殊功能寄存器 THi和 2、特殊功能寄存器TMOD控制定 在初始化中费时为551us,每一次中断 TLi组成 ,因此 ,T0和T1都可以通过字 时寄存器的工作方式,TCON则用于控 时间应该考虑该项的影响。在实际处理 节传送指令为它们赋初值,以获得不同 制定时器 T0和T1的启动和停止计数, 中可以利用两次中断时间的差来作为 定时时间所需要的计数值。T0和T1在 同时管理定时器 T0和 T1的溢出标志 定时器的中断时间间隔。通过测试,得到 初始值的基础上 ,每隔 12个时钟周期 等。当设置了定时器的工作方式并启动 第一次 为 0,第二 次 为 (一个机器周期),作一次加 1运算,当 定时器后,定时器就按照被设定的工作 0,第三次为0。 计数器从全 1变为全 0时 自动产生定 方式工作 ,不需要CPU的干预。当计数 可以看出,每中断一次会比定时值长了 时器溢出中断请求。 器值全为 1时,如果再输入一个脉冲则 5.43uS即5个机器周期,所以我们应考 1、定时器的4种工作方式:方式 0 计数值重新回到定时器设置初值 ,同时 虑由停止计数(CLRTR1)到重新启动计 是 13位计数结构 ,计数器由THi的8 把定时器 /计数器的溢出标志位 (TFO 数(SETBTR1)之间的5个机器周期的时 位与TLi的低 5位构成;方式 1是 16 或TF1)置位 ,作为计数器的溢出标志。 间。下面我们来分析一下中断服务程序, 位计数结构,计数器由THi的8位与 由以上的分析可知 :用 MCS一51 CLRTR0指令 (定时器停止计时)占1个 TLi的8位组成;方式2是 8位计数结 内部定时器产生 中断响应时的误差 由 机器周期,两条MOV指令 占了2个机器 构,计数器由TLi的8位组成,当定时器 每次重装定时器初值和中断响应时间 周期 ,INC指令 占了 1个机器周期 , 溢时,THi的值能自动装入TLi中,并在 形成的,所以应该在中断服务程序中应考 SETBTR0(定时器开始计时)占了1个机 此值基础上 自动计数 ,这与其它的方式 虑定时器赋初值的时间,应该把定时器溢 器周期,在中断服务程序中给定时器赋 不同;在方式3下,也是 8位的计数器, 出到定时器初值重新装入的时间加到定 初值时共 占用了5个机器周期,所 以,应 并且 T0的各控制位和引脚归 TL0使 时器初值中,即缩短定时器溢出的时间。 该在给定时器赋初值时加上这个误差, 用,TH0借用 T1的各控制位和引脚信 例如:在实现一个时钟的程序中,要求最 可以把中断服务程序作如下修改: 号 ,T1只能按不需要中断的方式 2工 小单位为 1S,一般在大于 1S的定时中 ZDFW:PUSH PSW:中断服务程序 作,即T1没有方式3。 断情况下常采用硬件定时和软件计数相 PUSH ACC 定时器的溢出率在不同的工作方 结合的方式来实现。我们采用定时器T0 CLR TR0 式下不同: 工作在方式 1下,其最长定时时间(晶振 MOV A,TL0 工作在方式 0时:溢 出率 =fosc/ 11.0592MHzT=1.0850s):1S~65536× ADD A,#07H;进行修正 (12×(213_Z+NR))

文档评论(0)

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

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

1亿VIP精品文档

相关文档