- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引 言
MCS-51 单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为 3~8 个机器周期[1]。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。
文中以定时器 T1 工作在定时方式 1 为例,晶振频率为 12MHz 。
方法 1
在定时器溢出中断得到响应时,停止定时器计数,读出计数值 (反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为 1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的 7 个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7) 是汇编符号,分别表示-1000+7=0FC1FH 这个立即数的低位字节(1FH)和高位字节(0FCH)。
……
CLR EA ;禁止所有中断
CLR TR1 ;停止定时器 T1
MOV A,#LOW(-1000+7) ;期望数的低位字节
ADD A,TL1 ;进行修正
MOV TL1,A ;重装载低位字节
MOV A,#HIGH(-1000+7) ;对高位字节处理
ADDC A,TH1 MOV TH1,A
SETB TR1 ;重启动定时器
SETB EA ;重开中断
……
此方法适用于各种原因造成的定时误差的情况,为通用方法。
方法 2
假如定时周期为 10ms,通常定时器重装载值为 0D8F0H,中断子程序如下[2]: ORL TL1,#0F0H
MOV TH1,#0D8H
……
这里用 ORL TL1,#0F0H 代替 MOV TL1,#0F0H 可提高定时精度。此方法只适用于重装载值低位字节的低 4 位为零,且中断响应的延迟时间小于 16 个机器周期的情况。类似的定时器重装载值有 0FFF0H, 0FFE0H 等。
方法 3
假如定时周期为 1ms,通常定时器重装载值为 0FC18H,中断子程序如下: MOV A,#LOW(-1000+4) ;期望数的低位字节
ADD A,TL1 MOV TL1,A
MOV A,#HIGH(-1000+4) ;对高位字节处理
ADDC A,TH1 MOV TH1,A
DEC TL1 ;恢复提前了的 2 个机器周期
……
这种方法中不停止定时器计数过程,若在执行指令 ADDC A,TH1 或 MOV TH1,A 时,恰好产生 TL1 溢出向 TH1 进位的情况,则 TH1 的值就不对了,会产生更大的误差。为此,程序段开头为重装载值加 4, 若有溢出进位,则可提前发生,其中 2 个机器周期是考虑到为TL1 重装载占用的时间。
此方法适用于系统中无其它更高优先级中断源的情况。若类似方法 1,在程序段开头和结尾分别加上禁止所有中断(CLR EA)和开中断(SETB EA)指令,则将适用于所有情况。
方法 4
假如定时周期不确定,只知道定时器重装载值存放在寄存器 R3、R2 中,中断子程序如下:
MOV A,#05H ;3 个机器周期装载TL1,2 个周期提前
ADD A,TL1 ADD A,R2 MOV TL1,A
MOV A,R3 ;处理高位字节
ADDC A,TH1 MOV TH1,A
DEC TL1 ;恢复提前了的 2 个机器周期
……
此法适用于定时周期不确定的情况,其它同方法 3。
方法 5
当定时中断发生的位置可预知时,通常出现在主程序的 AJMP $ (或 SJMP $) 等待指令处,中断延迟时间为 3 个或 4 个机器周期。取固定值 4 可简化补偿程序。以定时周期 1ms 为例,中断子程序如下:
ORG 001BH
MOV TL1,#LOW(-1000+4) MOV TH1,#HIGH(-1000+4)
……
此方法适用于定时中断总发生在同一条指令位置,且无其它中断源的情况。结 语
上述 5 种方法误差均不超过 1 个机器周期,其中方法 1、3、4 较为通用,适用于任何情况,但程序较长;方法 2、5 简单,但必须注意满足对应条件,才能使用。当然,也还有其它方法[3],但比较烦琐,并不理想,这里不一一介绍。
参考文献
孙涵芳,徐爱卿. MCS-51/96 系列单片机原理及应用[M]. 北京:北京航空航天大学出版社,1988
周航慈. 单片机应用程序设计技术. [M]. 修订版. 北京:北京:北京航空航天大学出版社,2002
聂毅. 单片机定时器中断时间误差的分析及补偿[J]. 微计算机信息,2002,18(4):37~38 蹇兴亮:讲师,主要从事测试计量
您可能关注的文档
- 单病种相关非特异性指标评估表.docx
- 单病种质量季度分析总结二季度.docx
- 单反相机简单实用拍摄技巧总结.docx
- 单光子发射计算机断层成像及计算机扫描系统技术参数与要求.docx
- 单级压缩制冷循环原理_secret.docx
- 单螺杆空压机日常维护.docx
- 单片机第二版课后习题的答案.docx
- 单片机嵌入式系统原理及应用课后答案.docx
- 单片机题库及答案.docx
- 单片机原理和应用第三新版1_6章全.docx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 悬挑脚手架、落地脚手架安全专项施工方案.doc VIP
- 分级护理制度精编PPT课件.pptx VIP
- 梁德清体育活动等级量表(PARS-3)及评定标准.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)知到课后答案智慧树章节测试答案2025年春潍坊工程职业学院.docx VIP
- ABB.ACS580替换550指南了解.pdf VIP
- 2025年公需课《人工智能赋能制造业高质量发展》试题及答案.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)智慧树知到期末考试答案章节答案2024年潍坊工程职业学院.docx VIP
- 2023兖矿能源定向委培考试.pdf
- 潮汕工夫茶调研报告.docx VIP
- 生活中的物理问题“生活中的物理”探究.pptx VIP
文档评论(0)