报名热线:

0898-08980898

个/性/化/教/育/行/业/领/跑/者

课程设置

CURRICULUM

联系我们

0898-08980898

广东省清远市

123456789

学校新闻 >更多
会计从业资格培训

当前位置: 首页 > 课程设置 > 会计从业资格培训

单片机定时器中断时间误差的解决方案

2026/02/07

  低频控制系统影响甚微,但对单片机高频控制系统的实时控制精度却有较大的影响,有时还可能造成控制事故。为扩大单片机的应用范围,本文介绍它的定时器溢出中断与CPU响应中断的、补偿

  产生单片机定时器溢出中断与CPU响应中断的时间误差有两个原因。一是定时器溢出中断信号时,CPU正在执行某指令;二是定时器溢出中断信号时,CPU正在执行某中断服务程序。

  由于CPU正在执行某指令,因此它不能及时响应定时器的溢出中断。当CPU执行此指令后再响应中断所延迟的最长时间为该指令的指令周期,即误差的最大值为执行该指令所需的时间。由于各指令都有对应的指令周期,因此这种误差将因CPU正在执行指令的不同而不同。如定时器溢出中断时,CPU正在执行指令MOV A, Rn,其最大误差为1个机器周期。而执行指令MOV Rn, direct时,其最大误差为2个机器周期。当CPU正在执行乘法或除法指令时,最大时间误差可达4个机器周期。在8051单片机指令系统中,多数指令的指令周期为1~2个机器周期,因此最大时间误差一般为1~2个机器周期。若振荡器振荡频率为fosc,CPU正在执行指令的机器周期数为Ci,则最大时间误差为tmax1=12/fosc×Ci(us)。例如fosc=12MHZ,CPU正在执行乘法指令(Ci=4),此时的最大时间误差为:

  定时器溢出中断信号时,若CPU正在执行同级或高优先级中断服务程序,则它仍需继续执行这些程序,不能及时响应定时器的溢出中断请求,其延迟时间由中断转移指令周期T1、中断服务程序执行时间T2、中断返回指令的指令周期T3及中断返回原断点后执行下一条指令周期T4(如乘法指令)组成。中断转移指令和中断返回指令的指令周期都分别为2个机器周期。中断服务程序的执行时间为该程序所含指令的指令周期的总和。因此,最大时间误差tmax2为:

  由于上式中T2一般大于8,因此,这种时间误差一般取决于正在执行的中断服务程序。当CPU正在执行中断返回指令RETI、或正在读写IE或IP指令时,这种误差在5个机器周期内。

  定时器溢出中断与CPU响应中断的时间误差具有非固定性特点。即这种误差因CPU正在执行指令的不同而有相当大的差异。如CPU正在执行某中断服务程序,这种误差将远远大于执行一条指令时的误差。后者误差可能是前者误差的几倍、几十倍、甚至更大。如同样只执行一条指令,这种误差也有较大的差别。如执行乘法指令MUL AB 比执行MOV A, Rn指令的时间误差增加了3个机器周期。这种误差的非固定不仅给误差分析带来不便,同时也给误差补偿带来困难。

关于我们 /ABOUT US
核心价值观:诚信、创新、服务企业核心: 诚信 企业精神: 团结拼搏、开拓求实、满足用户、科技进步。 客户:为客户提供高质量和最大价值的专业化产品和服务,以真诚和实力赢得客户的理解、尊重和支持。市场:为客户降低采购成本和风险,为客户投资提供切实保障。 发展:追求永续发展的目标,并把它建立在客户满意的基础上。 关于“为合作伙伴创造价值”公司认为客户、供应商、公司股东、公司员工等一切和自身有合作关系的单位和个人都是自己的合作伙伴,并只有通过努力为合作伙伴创造价值,才能体现自身的价值并获得发展和成功。关于“诚实、宽容、创新、服务”公司认为诚信是一切合作的基础,宽容是解决问题的前提,创新是发展事业的利器,服务是创造价值的根本。公司会坚持持续改进、满足顾客期望、 确保品质第一、开拓全球市场。...
网站首页| 关于我们| 课程设置| 学校新闻| 师资力量| 就业分配| 辅导资料| 联系我们| 在线报名|