peakcoo@peakcoo.com
search
技术热线:
0755-86643915
search
reorder
网站首页
关于我们
公司介绍
企业文化
发展历程
公司荣誉
新闻动态
产品中心
芯海(chipsea)芯片
鼎盛合(DSH)芯片
宝宫(Boarden)元器件
鼎盛合传感器
模块应用
方案设计
行业方案
PCBA模块
芯片资料下载
技术支持
单片机开发
联系我们
网站地图
联系方式
SOLUTIONS DESIGN
单片机开发
专业提供
智能电子产品芯方案
单片机开发
首页
|
技术支持
|
单片机开发
place
深圳市南山区南山云谷创新产业园朗山阁409-413室
phone
0755-86643915
email
wangguohuad@163.com
鼎盛合方案设计——关于I/O口的功能设计
更新时间: 2023-09-12 15:08:04
阅读量:
年前去到一个朋友那里,提到现在客户对成本要求非常之高,尤其是玩具行业,已经是一分一厘的去计算产品成本。朋友感慨为了省成本,方案商是绞尽脑汁地去想各种实现方法,说遇到过为了节省成本,硬是用单片机一条IO实现了两个按键的功能,让他颇为诧异,好久都没想明白原理。
一条IO实现两个按键,听上去确实挺新奇,既然别人能够实现,我想我也应该可以做到,看来得找找实现的方法。我有一个习惯,遇到某些问题的时候,会在睡觉前想解决方法,想着想着就会睡着了,问题的答案有没有找到则不一定。
我知道有用一条IO实现多个按键的方法,这样的方法大多是选用的IO支持ADC功能,用电阻分压后通过读电压判断键值。如果IO不支持ADC功能,也不是不行,可以用电容充放电的方法实现ADC,从而用普通IO间接进行测量。(参见我之前关于键盘扫描的文章)
这样用一条IO实现两个按键给我的第一感觉是可能需要利用到电容充放电原理,于是在半梦半醒之中找到了实现的方法。
[/url]
先看上图左边部分,如果MCU_IO1为双向IO口,假设单片机程序按以下流程处理,看看会得到什么样的结果?
1.MCU_IO1设定为输出,输出高电平一段时间,此时电容C1会充电,最后C1上的电压接近电源电压。
2.MCU_IO1设定为输入,如果J1、J2均不按下,此时MCU_IO1可以理解成一个阻值很大的电阻接地,电容C1上的电荷会通过这个电阻逐渐释放掉,这样C1上的电压会逐渐降低到零。因为C1上的电压下降需要一个过程,当MCU_IO1设为输入后马上读一下MCU_IO1的状态,此时会读到什么结果?显然是高电平状态1。
3.再将MCU_IO1设定为输出,输出低电平一段时间,显然不管电容C1处于什么状态,只要MCU_IO1输出低电平时间足够长,最后C1上的电压应该接近零。
4.再将MCU_IO1设定为输入,如果J1、J2同样不按下,MCU_IO1读到的是低电平状态0。
如果J1按下,再来看看这四步,此时电容C1已经被强制接到电源上,MCU_IO1对其的充放电已经不起作用,在步骤2中MCU_IO1读到的状态依然是1,但在步骤4中MCU_IO1读到的状态就不再是0,而是变为1。
如果J2按下,同样看这四步,此时电容C1被强制接到地,MCU_IO1对其充放电也失去作用,在步骤2中MCU_IO1读到的状态变为0,但在步骤4中MCU_IO1读到的状态保持为1。
到这里我想大家应该已经明白了实现方法,根据此四步中读到的MCU_IO1状态,就可以判断出J1、J2是否按下。
既然已经找到方法,是不是就万事大吉了呢?不然,我们还得回过头去看看此方法是不是足够可靠。如果J1按下,电容C1直接接到电源上,当MCU_IO1输出低时,MCU_IO1输出的低电平直接与电源短路,弄不好就会烧坏MCU_IO1,同理当J2按下时MCU_IO1输出高也存在同样的问题。
还有比这更严重的问题,如果用户同时按下J1和J2,哈!居然是电源和地直接短路,这样的后果很可能就是整个产品的电源部分一股青烟了事,就别想产品还能不能工作了。
不用担心,看一看前面电路图中的右半部分,在开关J3和J4上分别串联了一个220欧的电阻,这个电路不管J3和J4如何按,都不会出现短路的情况,按前面的四个步骤即可判断出J3和J4有没有按下,不过如果J3和J4同时按下并不能进行识别判断。
文转网络,侵删
上一篇:
鼎盛合方案开发——单片机开发语言有哪几种?
下一篇:
鼎盛合单片机方案设计——单片机设计学习感悟回顾
相关文章推荐:
芯海ADC芯片CS1237助力电子秤方案,提升精准度与稳定性
充气泵方案国产MCU的性能优势
鼎盛合代理芯海:ADC芯片的用途
代理芯海:常用ADC芯片有哪些?
与进口芯片相比,国产芯片有哪些优势?
CSU18M88电子秤芯片技术的研究与应用
芯海ADC芯片CS1237使用问题整理合集
测量精度SOC芯片的重要性与应用
电能计量芯片工作原理:以芯海CSE7761为例
车载手持吸尘器的芯片选型
车载吸尘器PCBA方案
电子人体秤方案的ADC芯片该如何选型?
电子秤方案开发鼎盛合:咖啡秤方案芯片设计
鼎盛合电子秤方案:厨房秤方案芯片选型
鼎盛合充气泵方案开发:单片机解密,如何解密单片机呢?
宠物勺电子秤方案设计开发
宠物智能喂食机方案
鼎盛合方案设计:如何做一个吊钩秤方案?
鼎盛合方案设计:电子秤方案中的元器件有哪些?
鼎盛合PCBA方案开发,如何开一个充气泵方案?