59 lines
1.2 KiB
C
59 lines
1.2 KiB
C
![]() |
#ifndef _key_H
|
|||
|
#define _key_H
|
|||
|
|
|||
|
#include "public.h"
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>
|
|||
|
sbit KEY1=P3^1;
|
|||
|
sbit KEY2=P3^0;
|
|||
|
sbit KEY3=P3^2;
|
|||
|
sbit KEY4=P3^3;
|
|||
|
|
|||
|
|
|||
|
//ʹ<>ú궨<C3BA><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µļ<C2B5>ֵ
|
|||
|
#define KEY1_PRESS 1
|
|||
|
#define KEY2_PRESS 2
|
|||
|
#define KEY3_PRESS 3
|
|||
|
#define KEY4_PRESS 4
|
|||
|
#define KEY_UNPRESS 0
|
|||
|
|
|||
|
|
|||
|
u8 key_scan(u8 mode);
|
|||
|
|
|||
|
/*******************************************************************************
|
|||
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : key_scan
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>Ӧ<EFBFBD><EFBFBD>ֵ
|
|||
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : mode=0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>谴<EFBFBD><EFBFBD>
|
|||
|
mode=1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>谴<EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : KEY1_PRESS<EFBFBD><EFBFBD>K1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
KEY2_PRESS<EFBFBD><EFBFBD>K2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
KEY3_PRESS<EFBFBD><EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
KEY4_PRESS<EFBFBD><EFBFBD>K4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
KEY_UNPRESS<EFBFBD><EFBFBD>δ<EFBFBD>а<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*******************************************************************************/
|
|||
|
u8 key_scan(u8 mode)
|
|||
|
{
|
|||
|
static u8 key=1;
|
|||
|
|
|||
|
if(mode)key=1;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD>谴<EFBFBD><E8B0B4>
|
|||
|
if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))//<2F><><EFBFBD>ⰴ<EFBFBD><E2B0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
delay_10us(1000);//<2F><><EFBFBD><EFBFBD>
|
|||
|
key=0;
|
|||
|
if(KEY1==0)
|
|||
|
return KEY1_PRESS;
|
|||
|
else if(KEY2==0)
|
|||
|
return KEY2_PRESS;
|
|||
|
else if(KEY3==0)
|
|||
|
return KEY3_PRESS;
|
|||
|
else if(KEY4==0)
|
|||
|
return KEY4_PRESS;
|
|||
|
}
|
|||
|
else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1) //<2F>ް<EFBFBD><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
key=1;
|
|||
|
}
|
|||
|
return KEY_UNPRESS;
|
|||
|
}
|
|||
|
|
|||
|
#endif
|