?? 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 + -