⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kanmenguo.c

📁 一个遥控器的程序
💻 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 + -