切换到宽版
  • 3824阅读
  • 33回复

一个普通IO口,内带弱上拉功能,能识别2个按键 [复制链接]

上一主题 下一主题
离线彭大伟

发帖
2035
M币
2244
专家
8
粉丝
114
只看该作者 20楼 发表于: 03-11
可能单片机内部有比较器,就像89C2051一样,有个脚是有比较器的
电子爱好者欢迎加Q群:62544405
在线66ok66

发帖
1321
M币
1091
专家
9
粉丝
21
只看该作者 21楼 发表于: 03-11
彭大伟可能单片机内部有比较器,就像89C2051一样,有个脚是有比较器的
      
这个认同,这个是最合理解释了。切换在高低电平比比较器状态,这个是真的可以,
离线zhuls

发帖
1577
M币
3817
专家
3
粉丝
27
只看该作者 22楼 发表于: 03-12
然而PIC12C508并没有内部比较器功能。其6脚也只是一个GPIO,没有复用功能。  



https://wenku.baidu.com/view/94231f86bceb19e8b8f6baf0.html






本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线jimsboy

发帖
774
M币
3590
专家
11
粉丝
268
只看该作者 23楼 发表于: 03-12
我感觉是一个比较冒险的电路。
一个是直接开关到地。一个是通过电阻到地。
应该有一组解。在不打开上拉时,K1 K2都能使管脚低于1/2VCC 打开上拉之后,只有那个直接到地的仍然是0.而那个带电阻的就算是闭合也只能使管脚高于1/2VCC

虽然单片机写的是高电平要大于0.7VCC 低电平小于0.3VCC 但实际上,只要在1/2VCC附近就会有翻转了。
拆机换取M币,认真换取认可,公平换取信任。所有拆机内容保证原创和公平。
发帖
20
M币
3
专家
0
粉丝
3
只看该作者 24楼 发表于: 03-12
类似于电视机按键电路,检测电压的大小
离线sayno_86

发帖
571
M币
4528
专家
18
粉丝
104
只看该作者 25楼 发表于: 03-12
楼主图画错了,
应该是Vcc串一个电阻再串一个按键到IO。
Gnd串一个电阻串一个按键到IO。
IO接个电容到地(保持电平用)。

工作原理: IO设置高电平输出,对电容充电,IO判断低电平,真为对地按键按下,否则没有按键按下。
IO设置低电平,对电容放电,IO判断高电平,真为接电源按键按下,否则没有按键按下。循环。
[ 此帖被sayno_86在2018-03-12 18:49重新编辑 ]
电子发烧油
离线zjzhuwenbin

发帖
324
M币
1355
专家
1
粉丝
23
只看该作者 26楼 发表于: 03-13
回 水表君 的帖子
水表君:看不明白,开漏既然都能识别,那怎么判断出是K1还是K2?一直切换,当切换到开漏状态时,接电阻的按键和不接电阻的按键怎么识别?? (2018-03-10 23:02) 回 水表君 的帖子

主要是看IO口的有效电平值,这种类似AD按键。
如果是楼主的图,就要假设IO口,大于VCC/2为高电平,小于或等于VCC/2为低电平。
分析K2:
IO口直接一个上拉电阻,K2按下IO直接到0电平。开漏高阻都一样能识别。
分析K1:
K1多一个分压电阻。K1按下时在开漏状态,如图上10K上拉电阻,10K分压电阻。
K1按下就是VCC\2(这个是分压的稳定电压)。K1按下时在上拉状态,10K电阻要并联单片机内部上拉电阻,那么K1按下IO口收到的电平就 大于VCC\2。这个时候K1是相当于屏蔽了。
扫描按键:
如设定按键按下20ms有效,那么在20ms内,IO高阻和上拉都至少识别一次。
上拉状态:K1按下不能识别,K2按下能识别。
开漏状态:K1按下能识别,K2按下能识别。

识别按键状态:
K1、K2都未按下:上拉为高电平,开漏为高电平。
K1按下:上拉为高电平,开漏为低电平。
K2按下:上拉为低电平,开漏为低电平。
20ms内分别检测上拉和开漏时IO的状态就能区分出K1和K2。
这里也能看出K2按键优先,K1、k2同时按下:上拉为低电平,开漏为低电平。
本帖最近打赏记录:共1条打赏M币+5
离线z2091981

发帖
1555
M币
3508
专家
13
粉丝
63
只看该作者 27楼 发表于: 03-14
最重要的,这是什么产品上的电路楼主没说明,是玩具类的产品还是什么小家电吧
只要有心,无处不是风景
离线飞凌mcu
发帖
9
M币
-493
专家
0
粉丝
0
只看该作者 28楼 发表于: 03-14
你好,有用到8位单片机吗?可根据客户要求免费开发,大量现货库存,有自己的烧录厂,42台烧录机,24小时内烧录好出货,台湾远翔(飞凌)一级代理商,价格绝对有优势。QQ3004042377 13620921558李生
离线zhxzhx

发帖
311
M币
2
专家
2
粉丝
7
只看该作者 29楼 发表于: 03-15
回 zhuls 的帖子
zhuls:不明白原理,K2>>>K1,就是说,K2的被识别度远优于K1,要区分两个键,我想不出原理。期待大神再详述一下[表情]  (2018-03-10 10:09) 回 zhuls 的帖子

k1加弱拉是高电平,不加是低电平,k2加不加弱拉都是低电平。