📄 funcation._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 + -