📄 main.c
字号:
/*
main.c
CAT1021看门狗实验程序
*/
#include <reg51.h>
//定义I/O端口
sbit LED = P0^0;
sbit SCL = P3^4;
sbit SDA = P3^5;
/*
函数:Delay()
功能:延时0.001~65.536s
参数:
t>0时,延时(t*0.001)s
t=0时,延时65.536s
*/
void Delay(unsigned int t)
{
do
{
TH0 = 0xFC;
TL0 = 0x66+17;
TR0 = 1;
while ( !TF0 );
TR0 = 0;
TF0 = 0;
} while ( --t != 0 );
}
/*
函数:Feed()
功能:清除CAT1021内部WDT定时器(喂狗)
说明:如果没有在1.6秒(典型值)内喂狗,则CAT1021会输出复位信号
*/
void Feed()
{
SDA = 0;
Delay(1);
SDA = 1;
}
/*
函数:SysInit()
功能:系统初始化
*/
void SysInit()
{
LED = 0; //点亮LED。如果CPU被看门狗复位,则能看到LED闪亮
SCL = 1;
SDA = 1;
TMOD &= 0xF0;
TMOD |= 0x01;
Delay(250); //上电后必须先延时200ms以上才能对CAT1021进行操作
}
void main()
{
SysInit();
for (;;)
{
Feed(); //喂狗
Delay(800); //延时
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -