利用TKS实现T0方式2的精确定时仿真
2011-06-25鲁道旺赵文龙谢敏阮艳凤
单片机与嵌入式系统应用 2011年8期
鲁道旺,赵文龙,谢敏,阮艳凤
(南昌航空大学 信息工程学院,南昌 330063)
鲁道旺、谢敏、阮艳凤(硕士研究生),主要研究领域为控制工程;赵文龙(教授),主要研究领域为计算机控制、嵌入式技术、工业过程控制。
引 言
在对时间的精度要求比较高的场合,一般要求对采用单片机做控制器的系统进行精确的时间计算。有人对此问题做了研究并提出了很好的解决方法[1-3],但是他们有的是针对单片机使用频率为12 MHz晶振下汇编语言的特点作出的分析,有的是针对特定的使用条件或环境下的分析,不适合晶振频率为11.059 2 MHz的情况。为此,针对单片机定时器的特点,在此晶振频率下,利用TKStudio对定时器T0方式2进行分析仿真,取得了精确的定时时间,合理地解决了定时常数为小数的问题,为单片机定时提出了一种新思路。
1 理论分析
单片机有4种定时方式。方式0、方式1、方式3有一个共同点是有定时器溢出中断的响应时间误差,而方式2具有自动重载功能,没有这些误差。
产生中断溢出的响应时间误差的原因有3个:一是中断响应时间;二是定时器溢出中断信号时,CPU正在执行某指令;三是定时器溢出中断信号时,CPU正在执行某中断服务程序[4]。由于每条指令的执行时间不同且中断时不知道CPU会执行哪一条指令,这就导致中断溢出的响应时间不确定。
方式2是自动重载的,可以很好地免去上面的不确定时间。方式2的定时时间为 T=12×(256-a)/fosc[5]。以频率为11.059 2 MHz的晶振为例,定时250 μ s分析,易得a=25.6。通常情况下,使用定时器时装的初值为常数,但是此处为小数,要想得到准确的250 μ s,还必须要用a=25.6。……
登录APP查看全文
