#include "config.h"
u8 xdata Kget,Kin,tkey,fkey,skey,key_buf[16];
u8 xdata JYM[2];
u8 xdata SET_CAIDAN_one;
/*****************************************************************************
函數(shù)功能:按鍵處理程序
入口參數(shù):
出口參數(shù):
*****************************************************************************/
void key_F1()
{
return;
}
//=============================================================================
void key_F2()
{
}
//==============================================================================
void key_F3()
{
return;
}
/*================鍵盤讀取功能散轉(zhuǎn)子程序========*/
void keyrcl()
{if(Kin!=Kget)//有按鍵沒(méi)處理
{
switch(key_buf[Kget])
{case 0x08://F1,設(shè)置
{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 : ; //無(wú)效
}
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) //緩沖區(qū)滿
Kin=0;
key_buf[Kin]=skey;//鍵值保存
}
}
fkey = skey;
skey = tkey;
}
|