3x4矩阵键盘扫描的问题,麻烦帮忙改一下

ucharkeyscan(){P1=0x0e;if(P1&0x0e!=0x0e){delay(10);if(P1&0x0e!=0x0e){dis_buf=P1;dis_b... uchar keyscan()
{
P1=0x0e;
if(P1&0x0e!=0x0e)
{
delay(10);
if(P1&0x0e!=0x0e)
{dis_buf=P1;
dis_buf=dis_buf&0x0e;
if(dis_buf!=0x0e)
{
switch(dis_buf)
{
case 0x0c:
key=0;break;
case 0x0a:
key=4;break;
case 0x06:
key=8;break;
}
}
}
dis_buf=P1;
dis_buf=dis_buf&0xF0;
if(dis_buf!=0xf0)
{
switch(dis_buf)
{
case 0xe0:
key=key+0;break;
case 0xd0:
key=key+1;break;
case 0xc0:
key=key+2;break;
case 0xb0:
key=key+3;break;
}
}
}

while(P1!=0xf0);
key_buf=key;
}

相关变量在前面声明过了。我根据老师上课讲的,参考网上自己写的。可是没法运行,虽然编译能通过。还有就是,如果这样写,键盘按下去,数字会不会显示出来后又消失呢?要不要加什么语句?
展开
 我来答
角落里的发光体
2010-06-18 · 超过14用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:37.5万
展开全部
switch(dis_buf)
{
case 0x0c:
key=0;break;
case 0x0a:
key=4;break;
case 0x06:
key=8;break
}
为什么我觉得你的程序这里判断的列键码都是错的?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式