PIC24单片机的看门狗除了作为看门狗用之外,还可以作为定时器使用。作为定时器时非常简单,只要先进入休眠或IDLE状态,这时看门狗就作为普通定时器。超时后不是复位单片机,而是唤醒,程序将从休眠时的位置继续运行。和AVR单片机不同,看门狗没有对应的中断。
完整项目文件
//PIC24FJ64GA002的第15个程序
//作为定时器使用
//注意设置配置字,看门狗禁止,窗口模式禁止
// 后分频器 1:1024 预分频系数32
// 复位时间1s
//邵子扬 2008.8.27
#include <p24Fxxxx.h>
#define LED LATBbits.LATB15
#define KEY PORTBbits.RB5
int main(void)
{
unsigned int i, j;
TRISB = 0x0FFF; //设置LED为输出RB15-RB12
LATB = 0xFFFF;
for(j = 20; j > 0; j--)
{
for(i = 30000; i > 0; i--)
Nop();
LED = !LED; //LED闪烁,提示程序开始
}
_SWDTEN = 1; //使能看门狗
while(1)
{
Sleep(); //休眠模式下,看门狗不产生复位
LED = !LED;
}
}
文章评论(0条评论)
登录后参与讨论