📄 kanmenguo.c
字号:
/****************************************************************
;文件名WDT_TEST.C
;功能CPU设置使用WDT使能然后用KEY键让系统进入死循环等待WDT复位
;说明CPU配置WDTE=1WDSE=0
;***************************************************************/
#include"reg932.h"
sbit KEY = P0^0;
sbit LEDCON = P2^6; //定义KEY和LED控制端口
void init_wdt();
void clrwdt(); //函数说明
main()
{
int i,j;
P2M1 = 0xC0;
P2M2 = 0xC0;
P0M1 = 0x00;
P0M2 = 0x00; //设置端口输出模式
init_wdt(); //调用看门狗初始化子程序
while(1)
{
i = 0x400;
while(i)
{
i--;
j = 0x50;
while(j)j--;
clrwdt(); //周期性的调用清零序列喂狗
if(KEY==0)
{
LEDCON = 1; //熄灭LED
while(1); //等待看门狗复位
}
}
LEDCON = ~LEDCON; //取反LEDCON控制LED闪烁
}
}
/*****************************
;看门狗初始化子程序
;注意初始化后启动看门狗
*****************************/
void init_wdt()
{
ACC = WDCON; //读取WDT控制寄存器
ACC = ACC|0x04; //置位ACC.2准备启动WDT
WDL = 0x80; //设置8位倒计时器初值
WDCON = ACC; //启动WDT
WFEED1 = 0xA5; //清零第一部分
WFEED2 = 0x5A; //清零第二部分
}
/*****************************
;喂狗子程序
;注意程序中开启中断
*****************************/
void clrwdt()
{
EA = 0; //关闭中断
WFEED1 = 0xA5; //执行清零第一部分
WFEED2 = 0x5A; //执行清零第二部分
EA = 1; //开中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -