关于矩阵按键

前段时间老师讲了矩阵按键,就把程序的理解写下来

看图片,只有主函数和串口。串口在此用来发送我们的按键值,波特率9600,频率11.0592。

关于矩阵按键_第1张图片

我们用的是4*4矩阵按键

关于矩阵按键_第2张图片

我们的矩阵按键连在了单片机的P0口(stc15f2k60s2),头文件,发送地址,初始化应该就不用我说了,咱们直接说while(1)里的吧,

掀开背面的纸,我们可以看到, 4*4矩阵键盘由4根行线和4根列线构成,按键在交叉点上,关于矩阵按键_第3张图片

按照我们的I/O口连接得

关于矩阵按键_第4张图片

那个按键按下,它上面的两条线的电平会变成低电平。

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


你可能感兴趣的:(C++,按键,硬件开发)