找回密码
 立即注册

QQ登录

只需一步,快速开始

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

怎样解决简易计算器上数码管显示为动态时,仍能操作矩阵按键的问题

  [复制链接]
跳转到指定楼层
楼主
ID:470938 发表于 2019-2-19 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:475444 发表于 2019-2-19 19:06 | 只看该作者
坛子上有类似的

评分

参与人数 3黑币 +32 收起 理由
struct00 + 8 很给力!
站着说话不腰疼 + 14
areyouok + 10

查看全部评分

回复

使用道具 举报

板凳
ID:432823 发表于 2019-2-19 21:37 | 只看该作者
矩阵按键用中断方式读取键值,控制加入主程序或显示。
回复

使用道具 举报

地板
ID:213173 发表于 2019-2-19 21:43 | 只看该作者
本帖最后由 wulin 于 2019-2-20 07:37 编辑

1.把数码管动态显示函数放在定时器中断里,中断周期1~2ms显示一位,完成一轮显示要小于20ms,否则数码管会闪烁。
2.摈弃按键for循环延时消抖,改为主循环计数延时消抖。摈弃while()死循环等待按键松手,改用标志位判断按键状态。
改变两者之一就能消除按键对数码管动态显示的干扰。
回复

使用道具 举报

5#
ID:123289 发表于 2019-2-20 12:44 | 只看该作者
要点:不要用硬延时(类似于DELAY()函数)。
回复

使用道具 举报

6#
ID:158375 发表于 2019-2-20 13:28 | 只看该作者
1.键盘扫描放在定时器中断里面,里面不能加DELAY()函数。
2.数码管显示放在主循环里面处理。
3.键值处理放在主循环里面。
回复

使用道具 举报

7#
ID:477932 发表于 2019-2-20 21:36 | 只看该作者
读取键值,控制加入主程序或显示

评分

参与人数 3黑币 +40 收起 理由
shuisheng60 + 10
zhengchong60 + 15
sheng7533967 + 15

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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