新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机定时器中断时间误差的解决方案

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

作者: 时间:2012-06-12 来源:网络 收藏

5 SUBB A, #LOW(1000+13) ;216的低8位减去( t0+ t1)的低8位送累加器A

6 SUBB A, TLi ;216的低8位减去( t0+ t1+ t2)的低8位送TLi

7 MOV TLi, A

8 MOV R0, #OOH ;R0清零

9 MOV R0, #HIGH(216) ;216 的高8位送R0

10 MOV A, R0

11 SUBB A, #HIGH(1000+13) ;216的高8位减去( t0+ t1)的高8位送A

12 SUBB A, THi ;216的高8位减去( t0+ t1 +t2)的高8位送A

13 MOV THi, A

14 SETB TRi ;重新启动

……

在上式和上段程序中,由于fosc=12MHZ,间隔为1ms,因此t0的机器周期数为1000。由于第1条指令到第14条指令的指令周期的机器周期数之和为13,因此,t1为13个机器周期。CPU虽在执行第一条指令CLR TRi后停止计数,但在TLi、THi中分别保存了t2的低位数据和高位数据。

4 结束语

由于本文介绍的补偿方法能对溢出与CPU响应的非固定性进行有效补偿,因此,该方法对于提高高频控制系统实时控制精度和扩大应用范围都有较高的实用价值。

尘埃粒子计数器相关文章:尘埃粒子计数器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭