#ifndef __KEY_SCAN_H
#define __KEY_SCAN_H

//#define KEY_NUM1_DEF				//支持一个按键
#define KEY_NUM2_DEF				//支持两个按键
//#define KEY_NUM3_DEF				//支持三个按键


#define IO_KEY_ON		P2_7
#define IO_KEY_LED		P3_0


#ifdef KEY_NUM1_DEF					//支持一个按键
#define KEY_1_IO_RD		IO_KEY_ON
#endif

#ifdef KEY_NUM2_DEF					//支持两个按键
#define KEY_1_IO_RD		IO_KEY_ON
#define KEY_2_IO_RD		IO_KEY_LED
#endif

#ifdef KEY_NUM3_DEF					//支持三个按键
#define KEY_1_IO_RD		IO_KEY_ON
#define KEY_2_IO_RD		IO_KEY_LED
#define KEY_3_IO_RD		IO_KEY_LED	//用户自定义
#endif


#define KEY_ON_S		0x01		//第一个按键
#define KEY_ON_L		0x11
#define KEY_ON_LC		0x21
#define KEY_ON_LE		0x41

#define KEY_LED_S		0x02		//第二个按键
#define KEY_LED_L		0x12
#define KEY_LED_LC		0x22
#define KEY_LED_LE		0x42

#define KEY_3_S			0x03		//预留给第三个按键
#define KEY_3_L			0x13
#define KEY_3_LC		0x23
#define KEY_3_LE		0x43

#define KEYVAL_1		0x01
#define KEYVAL_2		0x02
#define KEYVAL_3		0x03
#define KEYVAL_NULL		0x0F

#define KEY_STATE_S		0x00
#define KEY_STATE_L		0x10
#define KEY_STATE_LC	0x20
#define KEY_STATE_LE	0x40

#define KEY_S_TIME		10		    //(2+1)*5ms
#define KEY_L_TIME		400		    //400*5ms
#define KEY_LC_TIME		1200	    //1200*5ms



extern BOOL bKeyFlg;
extern U16 	data 	uiKeyValidCnt;
extern U16	data 	uiKeyInvalidCnt;
extern U8	data 	ucKeyValue;
extern U8	data 	ucKeyOldValue;
extern U8	data 	ucKeyValueBK;

extern void KeyScan(void);

#endif