• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

【求助】关于51单片机 矩阵键盘 中的一些疑问

艾笠调查团 2016-04-21 浏览量:823
收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:6
  • 矩阵键盘的动态扫描不可能就是读一个端口数据,然后马上就出来结果。这需要对依次每一行的按键进行扫描、判断,然后得出结果。如上图所示,先扫描第一行,也就是S1,S2,S3,S4四个按键的状态。在PA口输入0XFE。

        0XFE变成二进制是1111 1110,为了方便使用,记得每四个数之间加一个空格。1111 1110这个数据放到PA口上,假设这个时候S1被按下了,会出现什么情况?因为PA0是低电平,S1被按下之后S1导通,导致PA4的电平从1降到0,于是PA端口的数据就变成了1110 1110,换算成16进制就是0XEE。于是我们知道S1被按下了。

        假设是S3被按下,会出现什么情况?没错,PA6的电平被拉低,PA的端口数据变成了1011 1110,也就是0XBE。这样,我们就知道了,每一行的每一个按键被按下的时候,都会有一个对应的独一无二的值。这就是矩阵键盘的扫描原理!

  • 这程序,太滥了。 仅仅四个行,四个列而已。 在程序中,四个行,没有关系。 各行,独立的检测,延时... 没有任何整体的设计思路。 是学老郭的吧?

  • 这里有成熟精炼又好理解的视频,建议先看看吧。 [url]http://pan.baidu.com/share/home?uk=4077802723&view=share#category/type=0[/url]

相关问题

问题达人换一批

【求助】关于51单片机 矩阵键盘 中的一些疑问