打印

键盘的多个按键送到单片机同一外部中断口,这样设计可...

[复制链接]
4412|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eebushe|  楼主 | 2015-11-19 15:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
eebushe|  楼主 | 2015-11-19 15:59 | 只看该作者
与门应该是可以的吧?

使用特权

评论回复
板凳
popeye021| | 2015-11-19 16:13 | 只看该作者
按你的想法,按下SW1和按下SW2时如何区分?

使用特权

评论回复
地板
eebushe|  楼主 | 2015-11-19 16:28 | 只看该作者
popeye021 发表于 2015-11-19 16:13
按你的想法,按下SW1和按下SW2时如何区分?

我想先判断有没有按键按下,如果有再去扫描看是哪个按键按下

使用特权

评论回复
5
popeye021| | 2015-11-19 16:47 | 只看该作者
本帖最后由 popeye021 于 2015-11-19 16:49 编辑
eebushe 发表于 2015-11-19 16:28
我想先判断有没有按键按下,如果有再去扫描看是哪个按键按下

我的问题就是,你如何判断是哪个按键按下?
如果Key5,6,7照常接IO口,那再接外部中断就是多次一举了。

使用特权

评论回复
6
eebushe|  楼主 | 2015-11-19 16:52 | 只看该作者
popeye021 发表于 2015-11-19 16:47
我的问题就是,你如何判断是哪个按键按下?
如果Key5,6,7照常接IO口,那再接外部中断就是多次一举了。
...

我判断到有按键按下,也就是有中断的时候我才去扫描判断是哪个按键按下了,如果没有终端就不去扫描,这样就省去了空扫描了啊

使用特权

评论回复
7
chunyang| | 2015-11-19 17:35 | 只看该作者
根据中断的响应去扫描键盘是标准做法,多中断源根据你需要的逻辑采用多输入逻辑门汇接到MCU的中断输入IO即可。

使用特权

评论回复
8
eebushe|  楼主 | 2015-11-20 09:16 | 只看该作者
chunyang 发表于 2015-11-19 17:35
根据中断的响应去扫描键盘是标准做法,多中断源根据你需要的逻辑采用多输入逻辑门汇接到MCU的中断输入IO即 ...

真厉害,后来又查看了很多也都说用逻辑门,谢谢。

使用特权

评论回复
9
ecoren| | 2015-11-20 10:55 | 只看该作者
你这是矩阵键盘,搭建逻辑门电路比独立键盘会复杂很多,
请折中功耗和成本,,,,,,,,,,,,,,,,,,

使用特权

评论回复
10
lgq1542380129| | 2015-11-20 12:44 | 只看该作者
个人认为:再加三个二极管就可以了,把KEY5-7分别加二极管,然后接在一起,再接中断。

使用特权

评论回复
11
eebushe|  楼主 | 2015-11-20 17:11 | 只看该作者
lgq1542380129 发表于 2015-11-20 12:44
个人认为:再加三个二极管就可以了,把KEY5-7分别加二极管,然后接在一起,再接中断。
...

但是平常KEY5-7是被拉高的,接二极管时钟导通,貌似不妥

使用特权

评论回复
12
chunyang| | 2015-11-20 17:16 | 只看该作者
ecoren 发表于 2015-11-20 10:55
你这是矩阵键盘,搭建逻辑门电路比独立键盘会复杂很多,
请折中功耗和成本,,,,,,,,,,,,,,, ...

这里的逻辑门电路与键盘电路无关,仅仅是为了中断汇接而已。在只有少量外中断资源的MCU平台上搭矩阵键盘还要考虑低功耗,这是必须的。现在有很多支持键盘中断的MCU型号,这时当然无需多此一举。不需要考虑低功耗的应用自然也无需这么做,直接定时扫描就是,中断法可是能够支持休眠键盘唤醒的。
另外,逻辑门电路只要正确选型,在静态下的功耗比MCU的运行功耗更低。对此,注意读器件手册。

使用特权

评论回复
13
lgq1542380129| | 2015-11-20 18:42 | 只看该作者
eebushe 发表于 2015-11-20 17:11
但是平常KEY5-7是被拉高的,接二极管时钟导通,貌似不妥

二极管的负极接KEY5-7,正极接在一起,之后接中断引脚。

使用特权

评论回复
14
eebushe|  楼主 | 2015-11-23 13:45 | 只看该作者
lgq1542380129 发表于 2015-11-20 18:42
二极管的负极接KEY5-7,正极接在一起,之后接中断引脚。

这样接当有按键按下时是有其中一个二极管负极为低电平,但是这个二极管也未必能导通吧,中断口是输入端口不能提供导通电压吧,我这样理解有问题吗

使用特权

评论回复
15
lgq1542380129| | 2015-11-23 13:54 | 只看该作者
eebushe 发表于 2015-11-23 13:45
这样接当有按键按下时是有其中一个二极管负极为低电平,但是这个二极管也未必能导通吧,中断口是输入端口 ...

中断设置为下降沿触发就好了。

使用特权

评论回复
16
eebushe|  楼主 | 2015-11-23 14:11 | 只看该作者
lgq1542380129 发表于 2015-11-23 13:54
中断设置为下降沿触发就好了。

不是很明白,二极管导通不了,中断也没有下降沿啊,求详细解释,谢谢

使用特权

评论回复
17
lgq1542380129| | 2015-11-23 14:23 | 只看该作者
eebushe 发表于 2015-11-23 14:11
不是很明白,二极管导通不了,中断也没有下降沿啊,求详细解释,谢谢

不知道楼主用的什么片子,一般外部中断内部会有上、下拉电阻。不然他不知道上升沿,下降沿的。楼主不放心将中断引脚上拉。

捕获.JPG (36.55 KB )

捕获.JPG

使用特权

评论回复
18
eebushe|  楼主 | 2015-11-23 14:28 | 只看该作者
lgq1542380129 发表于 2015-11-23 14:23
不知道楼主用的什么片子,一般外部中断内部会有上、下拉电阻。不然他不知道上升沿,下降沿的。楼主不放心 ...

这样一说好像明白了,谢谢

使用特权

评论回复
19
wh6ic| | 2015-11-23 14:31 | 只看该作者
eebushe 发表于 2015-11-23 13:45
这样接当有按键按下时是有其中一个二极管负极为低电平,但是这个二极管也未必能导通吧,中断口是输入端口 ...

R13、19、20 提供有Vcc,扫描的键按下时低电平,二极管就通了

使用特权

评论回复
20
lgq1542380129| | 2015-11-23 14:33 | 只看该作者
eebushe 发表于 2015-11-23 14:28
这样一说好像明白了,谢谢

画的比较丑,楼主见谅。记得要有三个二极管啊。按键扫描函数建议楼主不要再中断里进行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

41

帖子

1

粉丝