51
来自「51单片机编程中常用的一些函数」· 代码 · 共 116 行
TXT
116 行
uchar keyscan()
{
P3=0xef;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay(5);
if(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
switch(temp)
{
case 0x07:a=1;
break;
case 0x0b:a=2;
break;
case 0x0d:a=3;
break;
case 0x0e:a=4;
break;
}
}
// while(temp!=0x0f);
// delay(5);
// while(temp!=0x0f);
}
P3=0xdf;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay(5);
if(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
switch(temp)
{
case 0x07:a=5;
break;
case 0x0b:a=6;
break;
case 0x0d:a=7;
break;
case 0x0e:a=8;
break;
}
}
// while(temp!=0x0f);
// delay(5);
// while(temp!=0x0f);
}
P3=0xbf;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay(5);
if(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
switch(temp)
{
case 0x07:a=9;
break;
case 0x0b:a=10;
break;
case 0x0d:a=11;
break;
case 0x0e:a=12;
break;
}
}
// while(temp!=0x0f);
// delay(5);
// while(temp!=0x0f);
}
P3=0x7f;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
delay(5);
if(temp!=0x0f)
{
temp=P3;
temp=temp&0x0f;
switch(temp)
{
case 0x07:a=13;
break;
case 0x0b:a=14;
break;
case 0x0d:a=15;
break;
case 0x0e:a=16;
break;
}
}
// while(temp!=0x0f);
// delay(5);
// while(temp!=0x0f);
}
return a;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?