最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

利用到电容充放电原理实现一条IO实现两个按键

IT圈 admin 24浏览 0评论

2024年4月8日发(作者:琴依波)

利用到电容充放电原理实现一条IO实现两个按键

 年前去到一个朋友那里,提到现在客户对成本要求非常之高,尤其是玩具

行业,已经是一分一厘的去计算产品成本。朋友感慨为了省成本,方案商是

绞尽脑汁地去想各种实现方法,说遇到过为了节省成本,硬是用单片机一条

IO实现了两个按键的功能,让他颇为诧异,好久都没想明白原理。一条IO

实现两个按键,听上去确实挺新奇,既然别人能够实现,我想我也应该可以

做到,看来得找找实现的方法。

 我有一个习惯,遇到某些问题的时候,会在睡觉前想解决方法,想着想着

就会睡着了,问题的答案有没有找到则不一定。我知道有用一条IO实现多个

按键的方法,这样的方法大多是选用的IO支持ADC功能,用电阻分压后通

过读电压判断键值。如果IO不支持ADC功能,也不是不行,可以用电容充

放电的方法实现ADC,从而用普通IO间接进行测量。(参见我之前关于键盘

扫描的文章)这样用一条IO实现两个按键给我的第一感觉是可能需要利用到

电容充放电原理,于是在半梦半醒之中找到了实现的方法。

 先看上图左边部分,如果MCU_IO1为双向IO口,假设单片机程序按以

下流程处理,看看会得到什幺样的结果?

2024年4月8日发(作者:琴依波)

利用到电容充放电原理实现一条IO实现两个按键

 年前去到一个朋友那里,提到现在客户对成本要求非常之高,尤其是玩具

行业,已经是一分一厘的去计算产品成本。朋友感慨为了省成本,方案商是

绞尽脑汁地去想各种实现方法,说遇到过为了节省成本,硬是用单片机一条

IO实现了两个按键的功能,让他颇为诧异,好久都没想明白原理。一条IO

实现两个按键,听上去确实挺新奇,既然别人能够实现,我想我也应该可以

做到,看来得找找实现的方法。

 我有一个习惯,遇到某些问题的时候,会在睡觉前想解决方法,想着想着

就会睡着了,问题的答案有没有找到则不一定。我知道有用一条IO实现多个

按键的方法,这样的方法大多是选用的IO支持ADC功能,用电阻分压后通

过读电压判断键值。如果IO不支持ADC功能,也不是不行,可以用电容充

放电的方法实现ADC,从而用普通IO间接进行测量。(参见我之前关于键盘

扫描的文章)这样用一条IO实现两个按键给我的第一感觉是可能需要利用到

电容充放电原理,于是在半梦半醒之中找到了实现的方法。

 先看上图左边部分,如果MCU_IO1为双向IO口,假设单片机程序按以

下流程处理,看看会得到什幺样的结果?

发布评论

评论列表 (0)

  1. 暂无评论