矩阵键盘扫描法和线反转法的电路图有什么不同

下面是线反转法的程序。。我把这个函数用在程序中但是运行起来出错了。高四位引脚总是保持在低电平。按了键也没反应这两个电路图的接法有什么不同啊。。http://p1.tuzh... 下面是线反转法的程序。。我把这个函数用在程序中但是运行起来出错了。高四位引脚总是保持在低电平。按了键也没反应
这两个电路图的接法有什么不同啊。。
http://p1.tuzhan.com/200911/upn1/2010-05-22/20/e3399.tuzhan.com_01d592ce3cbb4d54b51e1be3a7b44075_m.JPG
/*请问这个程序有什么问题没??怎么我调用了这个函数按了键没反应呢。*/
void keyScan5()
{
UCHAR i, j;
while(1)
{
P2=0x0F;
if((P2&0x0F)!=0x0F)
{
switch(P2)
{
case 0x07: i=3; break;
case 0x0b: i=2; break;
case 0x0d: i=1; break;
case 0x0e: i=0; break;
default: break;
}
}
delay(10);//软件去抖动
P2=0xF0;//反转行和列上的电平
if((P2&0xF0)!=0xF0)
{
switch(P2)
{
case 0x70: j=3; break;
case 0xb0: j=2; break;
case 0xd0: j=1; break;
case 0xe0: j=0; break;
default: break;
}
//P1=num[j][i];//P1输出对应的按键值
*下面的语句我是为了测试下按键扫描的程序是否有问题
本来按下第一行第二个键灯就应该会亮的。但是我按了不亮
*/

if(i == 0 && j == 1)
{
P1 = 0x00;
while(1);
}
}
}
}

void main()
{
while(1)
{
keyScan5();
}
}
下面是我画的电路图
展开
 我来答
hdc6512
推荐于2017-12-15 · TA获得超过5059个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:212万
展开全部
第一行后三个按钮和P2.0口没连上,按第二个键当然不会亮了 ,另外,最好每列都接一个上拉电阻加强防干扰能力
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式