em78p372n_lvd.c

来自「义隆EM78P372N资料」· C语言 代码 · 共 58 行

C
58
字号
//********************************************************************
//一上电时,P51的LED点亮,当VDD电压大约小于或等于4.0V 时,P51输出低
//当VDD电压大约大于4.0V时,P51输出高
//********************************************************************
//MCU:EM78P372N
//Oscillator:IRC 4MHz
//Clock:2
//WDT: Disable
//编译软件: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


extern int IntVecIdx; //occupied 0x10:rpage 0

void main()
{
	WDTC();
	DISI();
	SCR=0X7F;			//选择4MHz
	LVDIF=0;
	P5CR=0;
	LVDIWR=0XD0;		//使能低电压检测等级4V,使能低电压检测中断
	ENI();
	while(1);

}
void _intcall ALLInt(void) @ int 
{     
  switch(IntVecIdx)
  {
    case 0x22:
    if	(LVDIF==1)
    {
    	ISR1&=0XBF;					//清低电压检测中断标志位
    	if(LVD==1)				//有检测到低电压吗?
    		
    		P51=1;					//没有检测到P51输出高
    	
    	else
    	   P51=0;
    	
    }
    break;   
  } 	
}


void _intcall LVD_l(void) @ 0x21:low_int 9
{
 _asm{MOV A,0x2};
}

⌨️ 快捷键说明

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