59 lines
1.2 KiB
C
Raw Normal View History

2022-06-14 09:20:59 +08:00
#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