main.c

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

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

unsigned char BatteryLowDetect_det(void);
void BatteryLowDetect_int(void); 
void test(unsigned char i);
void delay(void);

sbit LED	       = P0^6;

unsigned char	bBatteryLow,bTemp,bLowTimes,i;
unsigned int	ii;

main()
{
	unsigned char	bTemp;

	BatteryLowDetect_int();
	test(2);											   
	delay();
	delay();
	delay();
	while(1)
	{
	bTemp=BatteryLowDetect_det();
	if(bTemp==0x55)
	{	
		test(5);
		LED=0;
	}
	else
    	LED=0;		
	}

}


/*BatteryLowDetect() interrupt 8
{
	EA=0;
	bLowTimes=0;
	for(i=0;i<20;i++)
	{
	bTemp=CMP2&0x02;
	if(bTemp==0x00)
		bLowTimes++;
	else
		break;	
	for(ii=0;ii<50000;ii++);
	}
	if(bLowTimes>18)
		bBatteryLow=0x55;
	  else
		bBatteryLow=0xaa;
	CMP2|=0x02;
	CMP2&=0xfe;
	EA=1;
}*/

void test(unsigned char i)
{
	P0M1|=0X50;
	P0M2|=0X50;					     
  	while(i!=0)
	{
   		delay();
		LED=0;
		delay();
		LED=1;
		delay();
		i--;
	}
}

void delay (void) 
{
  unsigned long i;

  for (i = 0; i < 30000; i++)  
  {  							  /* waste timea and */
    ;                             /* do notthing */
  }
}

⌨️ 快捷键说明

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