c51按矩阵键盘上的key0到k15外设怎么连接

c51按矩阵键盘上的key0到k15外设怎么连接,第1张

按颜色。

1、首先解开c51按矩阵键盘的链接线,一共有16根线,分别是key0到k15。

2、它们的颜色都是有相同的,都是成双成对的,按照相同颜色的线进行链接即可。

3、最后启动外设装置测试即可。

uchar scan() //扫描键值的子程序

{

P1=0xf0;

scan0=P1;

delay1ms(20);

if(scan0!=0xf0) //判键是否按下

{

scan0=P1;

if(scan0!=0xf0) //二次判键是否按下

{

P1=0x0f; //线反转法的核心

delay1ms(20);

scan1=P1;

keycode=scan0|scan1; //组合成键编码

for(m=0;m<16;m++)

{

if(keycode==x[m]) //查表得键值

{

key=m;

}

}

}

}

return(key);

}

给你一个可以用的

我随便写了下,配着注释,你理解下意思,然后弄个适合你的

void key_scan()

{ unsigned char key1,key2;unsigned int key;

P1 = 0XFF; //P1拉高

P2 &= 0XF0; //P20 -P23 拉低

if(P1 != 0XFF) // 如果有按键按下,P1就有引脚被拉低,

{

delay_ms(10); //延时10ms, 防抖

if(P1 != 0XFF)

{ key1 = P1; //记下P1口的值

P1 = 0X00; P2 |= 0X0F; //P1拉低,P2拉高

if((P2&0X0F)!=0X0F) //P2口有引脚被拉低了,说明有按键按下

key2 = P2 & 0x0F; //记下P2后4位的值

//现在通过key1和key2就可以区分每个按键了

key = (key2<<8) + key1; //把key1 和key2组合在一起

switch (key) //每个key值都对应着一个按键 ,用case 语句执行就行了

{ case 0X077F : 按键1按下的子程序;break;

}

}

}

}

大致就这个意思 是按键扫描的 行列翻转法 ,

以上就是关于c51按矩阵键盘上的key0到k15外设怎么连接全部的内容,包括:c51按矩阵键盘上的key0到k15外设怎么连接、大神帮我看下我这个C51单片机4*4矩阵键盘扫描,在keil变量窗口查看键入值。、c51单片机P1.0-P1.7控制列,P2.0-P2.3控制行,8*4的矩阵键盘扫描,程序思路都好,求大虾帮忙!!!!c语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9803321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存