TransferData(adder2,1);
TransferData(data1[16],1);
}
/***************键盘扫描子程序*************/
keyscan()
{
char sCCode,recode,tcode,i,keyvalue,temp;
P1=0xf0; //发全“0”行扫描,列线输入
if((P1&0xf0)!=0xf0) //有键按下
{
delay1(10); //延时去抖动
tcode=0x01;
if((P1&0xf0)!=0xf0)
{
for(i=0;i<4;i++)
{
sccode=~tcode; //扫描初始值
P1=sccode; //输出行扫描码
if((P1&0XF0)!=0XF0) //本行有键按下
{
recode=P1&0xf0;
//recode=recode>>4;
recode=recode+0x0f;
temp=((~sccode)+(~recode));
keyvalue=Key_return(temp); //返回特征码
return keyvalue;
}
else
tcode=tcode<<1; //行扫描码左移一位
}
}
}
else
return keyvalue; //无键按下,返回0
}
/***************查键值子程序*************/
Key_return(char keyvalue)
{
unsigned int Key_num;
//keyword=keyvalue;
switch(keyvalue)
{
case(0x11):
{
Key_num=0x00;
}break;
case(0x12):
{
Key_num=0x04;
}break;
case(0x14):
{
Key_num=0x08;
}break;
case(0x18):
{
Key_num=0x0c;
}break;
case(0x21):
{
Key_num=0x01;
}break;
case(0x22):
{
Key_num=0x05;
}break;
case(0x24):
{
上一页 [1] [2] [3] [4] 下一页
本文关键字:显示屏 键盘 51单片机,单片机-工控设备 - 51单片机