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

📄 funcation._c

📁 MCU控制继电器做的电源老化测试程序.每次测100次
💻 _C
字号:
#include <iom8.h>
#include <define.h>


/********************DELAY_10uS***************************/
void DELAY_10uS(unsigned int i)
{ unsigned int a, b;
         for( a=i;a;a--)
		    for(b=14;b;b--);// a=1 &b=14 for 10us
}
/**********************DELAY_10uS****************************/


/********************DELAY_100uS***************************/
void DELAY_100uS(unsigned int i)
{ unsigned int a, b;
         for( a=i*10;a;a--)
		    for(b=23;b;b--);// a=10 &b=23 for 100us
}
/**********************DELAY_100uS****************************/

/********************DELAY_1MS***************************/
void DELAY_1MS(unsigned int i)
{ unsigned int a, b;
         for( a=i*10;a;a--)
		    for(b=270;b;b--);
}
/**********************DELAY_1MS****************************/


/********************DELAY_10MS***************************/
void DELAY_10MS(unsigned int i)
{ unsigned int a, b;
         for( a=i*100;a;a--)
		    for(b=270;b;b--);//A=100 AND B=270 FOR 10MS
}
/**********************DELAY_10MS****************************/

#if PCB_EJK610
void LED1ON(void) 			
{
	 LED1_ON;
	 DELAY_10MS(100);
}
//*************************************************

void LED1OFF(void)
{
LED1_OFF;
//DELAY_10MS(100);
}
//**************************************************
  
void LED2RED(void)
{
LED2_RED;
DELAY_10MS(100);
}
//**************************************************
void LED2GREEN(void)
{
LED2_GREEN;
DELAY_10MS(100);
}
//**************************************************
#endif



/****************EJK610_LED_TEST***************************/

#if EJK610_LED_TEST
void LEDTEST(void)
{
LED1ON();
LED2_ON;
LED2RED();
LED2GREEN();
LED1OFF();
LED2_OFF;

DELAY_10MS(100);
LED2_ON;
LED2RED();
LED2GREEN();
LED2_OFF;
}
#endif
/*****************EJK610_LED_TEST************************/


/**************EJK610_KEY_TEST_F***********************/
#if EJK610_KEY_TEST
void EJK610_KEY_TEST_F(void)
		{
		PORTA=0xFF;
		//PORTA&=0xFF
		 		 
		if((PINA&=0x01)==0)  
		{
		LED1ON();
		LEDTEST();
		}	     // SCAN  KEY_IN 
		  else LED1OFF();
		}
#endif
/*************EJK610_KEY_TEST_F**************************/

#if PCB_EJK601
/*****************LED_FLASH_1S************************/
void LED_FLASH(void)
{
LED1_ON;
DELAY_10MS(10);
LED1_OFF;  // 1
}

void LED_FLASH_FAST(void)    // EJK601 PCB
{
LED1_ON;
DELAY_10MS(10);
LED1_OFF;  // 1
DELAY_10MS(10);
LED1_ON;
DELAY_10MS(10);
LED1_OFF;  // 2
DELAY_10MS(10);
LED1_ON;
DELAY_10MS(10);
LED1_OFF;  // 3
DELAY_10MS(10);
LED1_ON;
DELAY_10MS(10);
LED1_OFF;  // 4

}

/*****************LED_FLASH_1S************************/

//-------------------EJK601_TEST---------------------------
void  EJK601_TEST(void)
          {
              int TEST_OK1=0,TEST_OK2=0;
		int i,j;	
//-------------------------test Q1 ---------------------------//
		for(i=0;i<100;i++)
			{
		IR_H;  /*pd5=1   若 pd2=0        (pind&=0x04)==0  成立说明Q1 OK */
		DELAY_10uS(1);//(5)(10)
	//	ONE_TIME_LED_OFF;   070328
		if((PIND&=0x04)==0)   /* (pind&=0x04)==0  成立说明Q1 OK */
                  {   IR_L;  /*再反向测PD5=0若pd2=1  (pind&=0x04)==0x04  成立说明Q1  ok */
		           DELAY_10uS(1);//(5) (10)
		           if((PIND&=0x04)==0X04)    /*(pind&=0x04)==0x04  成立说明Q1 ok */	
		           	{
		           	//LED_FLASH();
		              TEST_OK1++ ;
		           	}
			}
		//else LED1_OFF;
		}
/*
			if(TEST_OK1==4)    
			LED_FLASH_FAST();
	          	else LED1_ON; 
	          	// 若测试没能通过,则LED1 长亮 
*/	          	
//-------------------------test Q1 ---------------------------//

//-------------------------test Q2 ---------------------------//
for(j=0;j<100;j++)
			{
		VIDEO_H;  /*pb7=1   若 pd0=0        (pind&=0x01)==0  成立说明Q2 OK */
		DELAY_10uS(1);//(5)(10)
		//ONE_TIME_LED_ON;  070328
		if((PIND&=0x01)==0)   /* (pind&=0x01)==0  成立说明Q2 OK */
                  {   VIDEO_L;  /*再反向测Pb7=0若pd0=1  (pind&=0x01)==0  成立说明Q2  ok */
		           DELAY_10uS(1);//(5)(10)
		           if((PIND&=0x01)==0X01)    /*(pind&=0x01)==0x01  成立说明Q2  ok*/	
		           	{
		           	//LED_FLASH_FAST();
		              TEST_OK2++ ;
		           	}
			}
		//else LED1_OFF;
		}

			if((TEST_OK2==100)  &&(TEST_OK1==100))  //检查是否两者都通过测试
			LED_FLASH_FAST();
	          	else LED1_ON;  
	          	//若测试没能通过,则LED1 长亮 
//-------------------------test Q2 ---------------------------//
//ONE_TIME_LED_ON;  070328
}
//-------------------------EJK601_TEST--------------------------------
#endif

/****************ONE KEY**********************************/
/*
void KEY1(void)
{if(KEY==0)
     KEY
}
*/

⌨️ 快捷键说明

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