#include "config.h"
u8 xdata Kget,Kin,tkey,fkey,skey,key_buf[16];
u8 xdata JYM[2];
u8 xdata SET_CAIDAN_one;
/*****************************************************************************
函数功能:按键处理程序
入口参数:
出口参数:
*****************************************************************************/
void key_F1()
{
return;
}
//=============================================================================
void key_F2()
{
}
//==============================================================================
void key_F3()
{
return;
}
/*================键盘读取功能散转子程序========*/
void keyrcl()
{if(Kin!=Kget)//有按键没处理
{
switch(key_buf[Kget])
{case 0x08://F1,设置
{key_F1();
break;//键启
}
case 0x10://F2,+
{ key_F2();//data_order=0xE3;mrx[3]=0x55;mrx[5]=0xaa ;
break;
}
case 0x20://F3 -
{ key_F3();
break;
}
default : ; //无效
}
Kget=Kget+1;
if(Kget>=16)
Kget=0;
KEY_PULL_flag=1;
T200ms =0;
energy_save_flag=0;
}
return;
}
//=键值保存子程序===============================
void keyread() using 2
{
u8 temp;
temp = P2 ; //读取按键信息
temp = (~ temp)&0x38; //取反
tkey = temp;
if(tkey == skey) //去抖有效
{ if(fkey!=skey) //判断是否新键按下
{
Kin=Kin+1;
if(Kin>=16) //缓冲区满
Kin=0;
key_buf[Kin]=skey;//键值保存
}
}
fkey = skey;
skey = tkey;
}
|