请各位帮我具体解释一下程序
时间:10-02
整理:3721RD
点击:
//键盘扫描程序//
真心不懂下面的怎么来的?求助大家帮我解决一下每步程序做什么的~感激不尽
void key(void)
{
unsigned char X,Y,Z;
while(Y==key_point);
key_point=0xff;
key_point=0x0f;
if(key_point!=0x0f)
{
delay10ms();
if(key_point!=0x0f)
{
X=key_point;
key_point=0xf0;
Y=key_point;
Z=X|Y;
}
}
else Z=0;
switch(Z)
{
case 0x00:break;
case 0xb7:num_key(0);break; //数字键
case 0x7e:num_key(1);break;
case 0xbe:num_key(2);break;
case 0xde:num_key(3);break;
case 0x7d:num_key(4);break;
case 0xbd:num_key(5);break;
case 0xdd:num_key(6);break;
case 0x7b:num_key(7);break;
case 0xbb:num_key(8);break;
case 0xdb:num_key(9);break;
case 0x77:select();break; //设置键
case 0xd7:shuchu();break; //确认键
case 0xee:add1();break; //步进加1
case 0xed:dec1();break; //步进减1
case 0xeb:add01();break; //步进加0.1
case 0xe7:dec01();break; //步进减0.1
}
}
真心不懂下面的怎么来的?求助大家帮我解决一下每步程序做什么的~感激不尽
void key(void)
{
unsigned char X,Y,Z;
while(Y==key_point);
key_point=0xff;
key_point=0x0f;
if(key_point!=0x0f)
{
delay10ms();
if(key_point!=0x0f)
{
X=key_point;
key_point=0xf0;
Y=key_point;
Z=X|Y;
}
}
else Z=0;
switch(Z)
{
case 0x00:break;
case 0xb7:num_key(0);break; //数字键
case 0x7e:num_key(1);break;
case 0xbe:num_key(2);break;
case 0xde:num_key(3);break;
case 0x7d:num_key(4);break;
case 0xbd:num_key(5);break;
case 0xdd:num_key(6);break;
case 0x7b:num_key(7);break;
case 0xbb:num_key(8);break;
case 0xdb:num_key(9);break;
case 0x77:select();break; //设置键
case 0xd7:shuchu();break; //确认键
case 0xee:add1();break; //步进加1
case 0xed:dec1();break; //步进减1
case 0xeb:add01();break; //步进加0.1
case 0xe7:dec01();break; //步进减0.1
}
}
加 Q306 226 714
急的话可加扣扣 1179261978 联系啊 在下能帮加解释
其实我也看不懂