找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 1805|回复: 8
打印 上一主题 下一主题
收起左侧

单片机如何通过矩阵键盘显示4位数?

[复制链接]
跳转到指定楼层
楼主
ID:1005923 发表于 2022-4-20 16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如第一次按下0,显示0,第二次按下2显示02,第三次按下3显示023,第四次按下F,显示023F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

举报

沙发
ID:332444 发表于 2022-4-20 16:56 | 只看该作者
使用数组存储与读取显示
回复

举报

板凳
ID:332444 发表于 2022-4-20 16:57 | 只看该作者
当然不用数组也是可以经过处理的
回复

举报

地板
ID:1005923 发表于 2022-4-20 17:07 | 只看该作者
xianfajushi 发表于 2022-4-20 16:56
使用数组存储与读取显示

有源程序吗,我写了很久就只能显示1位
回复

举报

5#
ID:1005923 发表于 2022-4-20 17:12 | 只看该作者
xianfajushi 发表于 2022-4-20 16:56
使用数组存储与读取显示

比如说第一次按键我将它存储在a[3]里,第二次在按下时我怎么判断这次值是第二次的按键值还是第一次的按键值,是需要添加标志位吗?是添加在键盘扫描程序里还是主程序中
回复

举报

6#
ID:161164 发表于 2022-4-20 17:24 | 只看该作者
当有键按下而且键值有效
KeyVal = getKey();
for(i=0;i<3;i++)
{
        a[i] = a[i+1];//移位
}
a[3] = KeyVal;
回复

举报

7#
ID:332444 发表于 2022-4-20 17:58 | 只看该作者
回复

举报

8#
ID:332444 发表于 2022-4-20 18:00 | 只看该作者
回复

举报

9#
ID:121859 发表于 2022-4-20 18:03 | 只看该作者
很好实现,用四个变量比如LED1,LED2,LED3,LED4表示四个数码管的显示数据,每按下一个键这么处理:
LED1=LED2;
LED2=LED3;
LED3=LED4;
LED4=KEYVAL;
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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