这种按键设计该如何进行按键检测呢?

2020-02-02 09:36发布

本帖最后由 zysblog 于 2012-10-29 03:40 编辑

这是一个电子表,能调时间和日期,但按键和数码管的引脚复用的设计让我很头痛,该如何对此按键进行检测呢?

我用示波器测了一下,IOB4一直是高电平,猜测是做输入口用的,当我把某个按键按下来时,IOB4的波形就和那个按键所连接的引线波形(由于按键与显示复用,所以会有波形)完全一样,
所以可以通过这种途径来进行按键检测。

但具体该如何实施呢?因为它有两个位选口线,和一个段选口线跟按键是复用的,所以让我很头痛,如果在扫描显示的过程进行按键检测,由于其中一个是段选线,所以就没法准确检测。

如果在中断中进行按键检测,感觉是个不错的办法,但由于还需要检测长按,因为长按和短按的功能是不一样的,所以感觉,中断比较可行,但具体到细节实施依然比较复杂,有哪位高手能给个可以实施的意见吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
devcang
1楼-- · 2020-02-02 14:11
用开关的管子,应该可以,单片机IO只作开关控制
zysblog
2楼-- · 2020-02-02 14:45
devcang 发表于 2012-10-29 09:37
用开关的管子,应该可以,单片机IO只作开关控制

你好,貌似有道理,能详细点儿吗?
zhanan
3楼-- · 2020-02-02 16:36
 精彩回答 2  元偷偷看……
zysblog
4楼-- · 2020-02-02 21:17
zhanan 发表于 2012-10-29 10:25
每次扫描刷新数据的时候,进行按键检测,IOB4应该是检测低电平:
关闭显示
令IOA0 IOB2 IOB3其中一个为低电 ...

是啊,按键如果都用位选就非常好,可是客户的电路已经来不及修改了,所以只能这样,而且用的是32.768KHz的晶振,最短机器周期是31us,这个扫描按键的方法是不是最简单的做法啊?还有更好,更简洁的方法吗?

一周热门 更多>