按键4X4扫描检测,如P1.0置低电平时,P1.1,P1.2 P1.3置高电平,MCU检测P1.4~~P1.7口状态,如K1按下则P1.4口输入为低电平,其余按键采用同方法检测。K1~~K8对应的LED为互锁,有检测到其中按键按下除点亮对应LED操作外,还要一同清除K1~K8其它的LED亮状态;K9~K12对应的LED为自锁形式,每个按键程序各自处理对应LED亮灭;K13~K16对应的LED为点动形式,一样是每个按键程序各自处理对应LED亮灭,不过是没有保持,按键松开时就清除对应LED亮状态。 |
1、问题描述的还是比较清晰的,但硬件设计上君把P3.0和P3.1都用于矩阵按键检测不是很合理。因为STC单片机的下载口即是P3.0和P3.1,除非逼不得已不要将P3.0和P3.1用于除串口通信外的其他用途。 2、矩阵按键检测的工作原理:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到VCC电源上。无按键按下时,行线处于高电平的状态,而当有按键按下时,行线电平与此行线相连的列线电平决定。4*4矩阵按键检测亦遵循此原则。 3、关于矩阵按键检测的视频,可以到此连接的腾讯课堂之2-18讲学习下:百度搜索:艾克姆进取者STC15开发板入门教学精讲 4、下面把STC15单片机的4*4矩阵按键检测的实验源码附上,这样结合上面视频部分,相信很快就知其然了。实物连接图如下: ![]() |
实验2-18-1:4x4矩阵按键扫描实验 - 指示灯闪烁.rar
8.18 MB, 下载次数: 14