找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1334|回复: 8
收起左侧

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

[复制链接]
ID:1005923 发表于 2022-4-20 16:12 | 显示全部楼层 |阅读模式
比如第一次按下0,显示0,第二次按下2显示02,第三次按下3显示023,第四次按下F,显示023F
回复

使用道具 举报

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位
回复

使用道具 举报

ID:1005923 发表于 2022-4-20 17:12 | 显示全部楼层
xianfajushi 发表于 2022-4-20 16:56
使用数组存储与读取显示

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

使用道具 举报

ID:161164 发表于 2022-4-20 17:24 | 显示全部楼层
当有键按下而且键值有效
KeyVal = getKey();
for(i=0;i<3;i++)
{
        a[i] = a[i+1];//移位
}
a[3] = KeyVal;
回复

使用道具 举报

ID:332444 发表于 2022-4-20 17:58 | 显示全部楼层
回复

使用道具 举报

ID:332444 发表于 2022-4-20 18:00 | 显示全部楼层
回复

使用道具 举报

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 单片机教程网

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