返回主页 单片机教程 XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术 产品介绍 如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

在设计软体时,如何适当的喂狗,即如何精确判定软体的运行时间?

:大多数单片机都有看门狗定时器功能(WDTWatch Dog Timer)以避免程序跑错。HOLTEK有一款基本I/O型单片机--HT48R05A-1,我们就以它为例做个说明吧。

    首先了解一下WDT的基本结构,它其实是一个定时器,所谓的喂狗是指将此定时器清零。喂狗分为软件和硬件两种方法。软件喂狗就是用指令来清除WDT,即CLR WDT;硬件喂狗就是硬件复位RESET。当定时器溢出时,会造成WDT复位,也就是我们常说的看门狗起作用了。在程序正常执行时,我们并不希望WDT复位,所以要在看门狗溢出之前使用软件指令喂狗,也就是要计算WDT相隔多久时间会溢出一次。HT48R05A-1WDT溢出时间计算公式是:256*Div*Tclock。其中Div是指wdt预分频数1~128Tclock是指时钟来源周期。如果使用内部RC振荡作为WDT的时钟来源(RC时钟周期为65us/5V),最大的WDT溢出时间为2.1秒。

    当我们得到了WDT溢出时间Twdt后,一般选择在Twdt/2左右的时间进行喂狗,以保证看门狗不会溢出,同时喂狗次数不会过多。

软件运行时间是根据不同的运行路线来决定的,如果可以预见软件运行的路线,那么可以根据T=n*T1来计算软件的运行时间。n是指运行的机器周期数,T1是指机器周期。HOLTEK单片机是RISC结构,大部分指令由一个机器周期组成,只需要知道软件运行了多少条指令,就可以算出运行时间了。HOLTEK的编译软件HT-IDE3000中,就有计算运行时间的工具。但是对于CISC结构的单片机,一条指令可以由若干个机器周期组成,那么就需要根据具体执行的指令来计算了。

 

阅读本文的用户还阅读了下面的问题:

1.C语言和汇编语言在各有哪些优缺点?

2.C或汇编语言可以用于单片机,C++能吗?

3.搞单片机开发,一定要会C吗?

4.当开发项目时,用C还是用汇编开发好?

5.请问那里可以找到关于这方面的书或资料?

6.初学者到底是应该先学C还是汇编?

7.学了电子线路、C语言,感觉很迷茫怎么办?

8.请问作为学生,如何学好单片机?

9.如何才能才为单片机的高手啊?

10.女性是否适合单片机软件编程这个行业?

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人