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

📄 em78p372n_wdt.c

📁 义隆EM78P372N资料
💻 C
字号:
//**************************************************************************************
//以下程序动作情形为P50输出高约1秒;之后P50输出低约500ms,然后依前述情形循环。本程序利
//用看门狗定时器计时,使P50输出高约1秒,MCU即发生重置,此时P50输出低,而P50输出高的
//时间(即为WDT计时的时间)。
//**************************************************************************************
//MCU:EM78P372N
//Oscillator:IRC 4MHz
//Clock:2
//WDT: Enable
//编译软件:eUIDE version 1.02.09.07

#include "EM78P372N.H"       //EM78P372N的头文件
#define DISI()  _asm{disi}
#define WDTC()  _asm{wdtc}
#define NOP()   _asm{nop}
#define ENI()   _asm{eni}
#define SLEP()   _asm{slep}
#define uchar  unsigned char
void DELAY();
extern int IntVecIdx; //occupied 0x10:rpage 0
void main()
{
	WDTC();
	DISI();
	SCR=0X7F;		//选择4MHz
	WDTCR=0X0D;		//禁止WDT,WDT分频比设为1:64
	PORT5=0X00;
	P5CR=0X0;		//PORT5设为输出
	DELAY();
	WDTCR|=0X80;	//使能WDT
	P50=1;
	while(1);
}
void DELAY()
{
	unsigned int COUNTER0;	//定义计数器,用来作延时
	unsigned int COUNTER1;
	unsigned int COUNTER2;

	for(COUNTER2=0;COUNTER2<5;COUNTER2++)
	{
		for(COUNTER1=0;COUNTER1<100;COUNTER1++)
		{
			for(COUNTER0=0;COUNTER0<185;COUNTER0++)
			{
				NOP();		
			}			
		}	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -