单片机键盘扫描怎么实现一键多用
答案:4 悬赏:70
解决时间 2021-02-20 11:23
- 提问者网友:千城墨白
- 2021-02-19 20:46
4*4键盘,每一个按键显示一个数只能显示16个数,为了使功能更齐全,如何使按键像手机一样可以一个按键输入几种数字,比如我按第一个键按一下出现a,一秒之内连续按两下出现的是b,连续按两下后在下一秒内又按了第三下出现c,按一下后就按其他键或者一秒之内没按第二下就只出现a,用定时器怎么实现呢?
最佳答案
- 二级知识专家网友:你把微笑给了谁
- 2021-02-19 21:49
1:键值记录
2:时间记录
3:是不是同一个键。
以上三个条件组合,一个条件用一个变量。
2:时间记录
3:是不是同一个键。
以上三个条件组合,一个条件用一个变量。
全部回答
- 1楼网友:浪者不回头
- 2021-02-20 00:11
本来就是一个状态机,什么状态下做什么用。
连按实际上是一个比较麻烦且不容易调试的方法。
简单使用的方法是,在什么界面(状态)下,代表什么功能。
- 2楼网友:狠傷凤凰
- 2021-02-19 22:39
可以加个定时器实现你说的功能,首先把矩阵键盘扫描编写成一个独立的函数,比如char keyread(void)(无键按下返回0,否则返回该键的数值) 然后把定时器设置为定时1s(根据你需要按得次数确定时间),主程序直接调用keycan(),当检测到返回值不为0时启动定时器,然后进入while死循环扫描按键,在定时器未到1s前,再次检测到返回该值则标记加1,当定时器到时间时读取标记的值进入按键处理程序,并把标记清零
- 3楼网友:猖狂的痴情人
- 2021-02-19 22:08
每个按键设置一个状态标志位,标志位为1是什么功能,是2时是什么功能,等等
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯