找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1774|回复: 2
打印 上一主题 下一主题
收起左侧

求4x4矩阵按键点亮LED C程序的编写思路,详见仿真图

[复制链接]
回帖奖励 2 黑币 回复本帖可获得 2 黑币奖励! 每人限 2 次
跳转到指定楼层
楼主
大家好,我想做个电路,不懂C语言,麻烦给个思路,由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现

程序要求
1.     K1--K8,按下其中任意一个相对应的LED亮,如按下K1,P2.0对应的LED一直亮,再按下K1-K8中的任意按键,相对应的LED点亮,同时K1对应LED灭,它们互不影响
2.      K9,K10,K11,K12四个按键相对应的LED(p3.0-p3.3)按下其中一个按键相对应的LED点亮,再按一下相对应的LED灭,互不影响
3.      K13,K14,K15,K16,按下对应的LED点亮,放开LED灭,互不影响 ,LED   P3.4-P3.7


键盘仿真.PNG (133.97 KB, 下载次数: 41)

仿真图

仿真图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:863432 发表于 2021-1-13 10:18 | 只看该作者
    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

回复

使用道具 举报

板凳
ID:571634 发表于 2021-2-4 09:42 | 只看该作者
按键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亮状态。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表