前段时间老师讲了矩阵按键,就把程序的理解写下来
看图片,只有主函数和串口。串口在此用来发送我们的按键值,波特率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