51单片机C语言看门狗程序设计详解
看门狗程序在 51 单片机中用得蛮多的,尤其是在防止程序死机时。它的作用就是通过复位的方式,把死机的系统“唤醒”。要是程序“跑飞”,看门狗就来干活了。其实,看门狗有两种实现方式:内部和外部。内部看门狗就是单片机自带的功能,比如 89S51 系列,你只需要在主程序里加个“喂狗”的指令,系统就能自己保护自己。但是,如果晶振出了问题,内部看门狗就失效了。这个时候就得用外部看门狗了,像 MAX708 或者 X25045 都挺常见的,它们能确保系统可靠运行,哪怕内部看门狗失灵。对于一些对可靠性有高要求的应用,外部看门狗更加合适。简单来说,内部看门狗快速便捷,外部看门狗稳定可靠,选用时得根据具体需求来。
哦,对了,使用外部看门狗时你需要写一些 SPI 相关的代码,这里给你一个例子,能你更好地理解:
#include
sbit CS = P2^7;
sbit SO = P2^6;
sbit SCK = P2^5;
sbit SI = P2^4;
#define WREN 0x06 //设置写允许位
#define WRDI 0x04 //复位写允许位
#define RDSR 0x05 //读状态寄存器
#define WRSR 0x01 //写状态寄存器
#define READ0 0x03 //读操作时内部 EEPROM 页地址
#define READ1 0x0b //读操作时内部 EEPROM 页地址
#define WRITE0 0x02 //写操作时内部 EEPROM 页地址
#define WRITE1 0x0a //写操作时内部 EEPROM 页地址
uchar ReadByte() {
bit bData;
uchar ucLoop;
uchar ucData;
for(ucLoop=0;ucLoop
}
,如果你是开发 51 单片机的项目,记得搞清楚是用内部还是外部看门狗,合适的选择能大大提升系统的稳定性。
24KB
文件大小:
评论区