• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

看门狗实现6小时延时,(已验证)大侠看看合适吗?

单片机是PIC16F630
这个程序的思路是:
1,初始化.2,看门狗128分频,然后睡眠.
3,经过2304毫秒,狗叫,唤醒,计数加一,继续睡眠.
4,唤醒9000次以后,输出一个正脉冲.6小时计时完成.

我的问题是:这样让晶振不停的停振,起振是否会对单片机的寿命和稳定性造成影响呢?

事实证明这个程序能够达到最初的设想.耗电极小.但是好像很少有人用这种方式延时,大概是有什么弊端吧!

这个程序看门狗溢出是2304毫秒,但是实际每次计数的间隔约为2400毫秒,应该是从睡眠到唤醒有一个过程,是不是这个时候晶振起振需要时间呢?

下面就是源程序.
全部回复(1)
正序查看
倒序查看
zlapollo
LV.4
2
2009-09-09 19:05
void main()
{
TRISC=0;
PORTC=0;
for(d=500;d>0;d--)
{
for(b=100;b>0;b--);
{
PORTC=0;
}
}
TRISA=0B00001000;
PORTA=0;
i=0;
loop:;
i=i++;
if(i>1500)
{
RC2=1;
}
else(RC2=0);
SLEEP();
NOP();
if(i>1502)
{
i=0;
}
goto loop;
}
0
回复