关于矩阵按键

2019-04-15 18:05发布

前段时间老师讲了矩阵按键,就把程序的理解写下来 看图片,只有主函数和串口。串口在此用来发送我们的按键值,波特率9600,频率11.0592。
我们用的是4*4矩阵按键
我们的矩阵按键连在了单片机的P0口(stc15f2k60s2),头文件,发送地址,初始化应该就不用我说了,咱们直接说while(1)里的吧, 掀开背面的纸,我们可以看到, 4*4矩阵键盘由4根行线和4根列线构成,按键在交叉点上, 按照我们的I/O口连接得
那个按键按下,它上面的两条线的电平会变成低电平。 P0 = 0xF0;我们先屏蔽低四位, dat=P0;把P0口的值给dat if( P0 != 0xF0 )则证明按键按下,在进行下一步操作
P0 = dat| 0x0F;得到当前按键值,dat是屏蔽了低四位之后的值,又或上个0x0f,就得到了当前按键值
为了让我们的数据能够到达I/O口,for(i=0;i<10;i++); dat = P0;
UartSend( dat );
发送我们的按键值 0-9的按键值分别为EB、77、7B、7D、          B7、BB、BD            D7、DB、DD A-D                           7E、BE、DE、EE # *      ED、EB                        程序链接:http://download.csdn.net/detail/dadiluyu/9864989
矩阵按键介绍:http://download.csdn.net/detail/dadiluyu/9864993