batterylowdetect.c

来自「battery_low_detect keil c51,cpu---lpc932」· C语言 代码 · 共 53 行

C
53
字号
#include <Reg932.h>
#include <stdio.h>

#define BYTE	unsigned char
#define WORD	unsigned int
#define BWORD	unsigned long


BatteryLowDetect_int(void);
BYTE	BatteryLowDetect_det(void);


BatteryLowDetect_int(void)
{
	BYTE	i,bTemp;

	PT0AD=0x02;
	P0M1|=0x02;
	P0M1&=0xbe;
	P0M2&=0xfc;
 	P0M2|=0x40;							//p0.0 is I/O,p0.1 is input,p0.6 is pull-push;
	CMP2=0x3c;

	for(i=0;i<250;i++);					//wait,the CMP need 10us to be steady;
	
	bTemp=CMP2&0x02;
	CMP2&=0xfe;

//	EC=1;
//	EA=1;
}

BYTE BatteryLowDetect_det(void)
{
	BYTE	bTemp,bLowTimes,i;
	WORD	ii;

	bLowTimes=0;
	for(i=0;i<5;i++)
	{
	bTemp=CMP2&0x02;
	if(bTemp==0x00)
		bLowTimes++;
	else
		break;	
	for(ii=0;ii<5000;ii++);
	}
	if(bLowTimes>4)
		return(0x55);
	  else
		return(0xaa);
}

⌨️ 快捷键说明

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