问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一个IO 两个按键,这个电路可靠吗

发布网友 发布时间:2022-04-23 13:58

我来回答

2个回答

热心网友 时间:2023-10-16 23:54

在设计中如果用到IO口不够用,我们肯定第一时间想到的就是通过电阻分压,根据按下不同按键,来让不同阻值的电阻接到分压电路中,然后ADC模块做电压数据读取分析对应按键按下。下文就和大家分享下单片机设计AD按键的内容。

AD按键设计硬件部分电路有两种电路形式,一种的电阻串联,您一种是电阻并联,这两种都是通过电阻分压的原理实现的,下面通过电路图一一介绍。

电阻并联型AD按键

上图有10个按键,不同按键按下,分到的电压值不同,电阻值我已经计算好了,有部分误差,但已经是算成最小误差值了,以后大家可直接使用。对应的分压依次值有0.1Vref、0.2Vref~ 0.9Vref、0.99Vref,共10个档位。单片机ADC通过读取电路中ADCIN处的电压识别对应按键按下。

上图电阻并联型AD按键电路有一个缺点就是如果有两个按键同时按下,会有错误识别的可能出现,扛干扰差,所以并联型AD按键电路很少使用。

电阻串联型AD按键

上图中有10个按键,对应电阻值按照ADCIN处的电压分别为Vref的x/10(x=1,2,3...9,10)倍算好,使用的电阻值也已经按照最小误差定的,可直接使用。不同按键按下,ADCIN处的电压不同,单片机ADC模块读出ADC值,从而识别对应哪个按键按下。

上图中电阻使用串联的方式接在电路中,这样也就有一个电阻坏,就会影响到其他按键检测的问题。如果两个按键按下,只会识别一个靠近图中ADCIN处的按键,这样不会有像并联型AD按键电路哪有识别有误的问题存在,但是这里电阻的误差不好控制,所以我对上面电路做了改进。如下图:

这个电路的好处就是这里将串联的电阻设计成等值的形式,这样在生产时也不必买更多阻值的电阻了。具体怎么分压的相信大家一看就懂。这里只是巧妙的应用了一个1M的电阻,一个电阻和大于它很多倍(一般理解为10倍以上)的电阻并联,并联后的阻值依然可以理解为和这个电阻值相等。同样的可以将电阻并联型AD按键电路改成等阻值的,这里就不在做出解答,有兴趣的朋友可以发挥下自己的脑力看看怎么设计。

使用AD按键时有个需要注意的地方就是,按键尽量选择好些的。因为按键本身按下也是有阻值的,特别是用了久的按键,其按键接触点容易氧化,造成按键按下,有一定的按键阻值接在电路中。从而影响程序的识别,特别是我国南方较潮湿的地区,差一定的按键触电特别容易生锈氧化。所以AD按键也就存在了比单独通过读IO电平识别的按键短的寿命短的问题。所以这种按键也不是很推荐使用的。特别是按键数量越多,出现问题的数量也就越多。

AD按键程序设计

在程序设计前,首先要明白AD按键设计的原理和程序设计的思路。如果一个8位的ADC模块,要设计成10个按键,就是将8位ADC满值255等分成10份,没份之间有大约25个差值,比如一个按键按下的ADC值在25±11的位置,那么它临近的按键就是50±11的位置。对应的识别这些值,就可以识别那个按键按下了。当然为了抗干扰强,最好等分的数要少,8位的话等分最好不要超过8个按键,否则抗干扰不是很好,如果是8个按键的话每个按键的ADC差值为32,按键间的ADC差值越大,越有利于抗干扰。

AD按键程序思路:

每隔10ms(这个时间是按键抖动的滤波时间)读一次ADC按键值,根据值的范围,将对应的按键数值加到AD按键FIFO中(这里缓冲区8个字节长),如果AD按键FIFO满了,如果FIFO前4个值是0(对应按键没按下),最后2个值是相等的(对应按键按下),中间的2个值对应按键抖动时的值,不用管,相当于有20ms的抖动滤波时间,那么就人为最后这两个相等的值的对应按键按下了。

最后欢迎大家转发评论交流!觉得写的好的话就来个转发吧,让更多人知道。也欢迎大家关注我:单片机嵌入式爱好者。会有源源不断的干货分享哦!

热心网友 时间:2023-10-16 23:55

1、可以采用ARM7或者ARM9设计一个电路。2、通过一块74系列的集成电路或ULN2803电路驱动数码管段码的驱动。3、通过一个三极管8550驱动蜂鸣器。4、一个按键一端直接连接输入引脚,另一端接地。5、安装uC/OS-II系统到ARM中,编写控制软件:按键扫描及消抖软件,计数器、延时及译码等数码管驱动软件。6、最简单的方法是到淘宝买一块开发板,硬件、系统软件、示例软件、说明书都会提供,既方便又快捷。

热心网友 时间:2023-10-16 23:54

在设计中如果用到IO口不够用,我们肯定第一时间想到的就是通过电阻分压,根据按下不同按键,来让不同阻值的电阻接到分压电路中,然后ADC模块做电压数据读取分析对应按键按下。下文就和大家分享下单片机设计AD按键的内容。

AD按键设计硬件部分电路有两种电路形式,一种的电阻串联,您一种是电阻并联,这两种都是通过电阻分压的原理实现的,下面通过电路图一一介绍。

电阻并联型AD按键

上图有10个按键,不同按键按下,分到的电压值不同,电阻值我已经计算好了,有部分误差,但已经是算成最小误差值了,以后大家可直接使用。对应的分压依次值有0.1Vref、0.2Vref~ 0.9Vref、0.99Vref,共10个档位。单片机ADC通过读取电路中ADCIN处的电压识别对应按键按下。

上图电阻并联型AD按键电路有一个缺点就是如果有两个按键同时按下,会有错误识别的可能出现,扛干扰差,所以并联型AD按键电路很少使用。

电阻串联型AD按键

上图中有10个按键,对应电阻值按照ADCIN处的电压分别为Vref的x/10(x=1,2,3...9,10)倍算好,使用的电阻值也已经按照最小误差定的,可直接使用。不同按键按下,ADCIN处的电压不同,单片机ADC模块读出ADC值,从而识别对应哪个按键按下。

上图中电阻使用串联的方式接在电路中,这样也就有一个电阻坏,就会影响到其他按键检测的问题。如果两个按键按下,只会识别一个靠近图中ADCIN处的按键,这样不会有像并联型AD按键电路哪有识别有误的问题存在,但是这里电阻的误差不好控制,所以我对上面电路做了改进。如下图:

这个电路的好处就是这里将串联的电阻设计成等值的形式,这样在生产时也不必买更多阻值的电阻了。具体怎么分压的相信大家一看就懂。这里只是巧妙的应用了一个1M的电阻,一个电阻和大于它很多倍(一般理解为10倍以上)的电阻并联,并联后的阻值依然可以理解为和这个电阻值相等。同样的可以将电阻并联型AD按键电路改成等阻值的,这里就不在做出解答,有兴趣的朋友可以发挥下自己的脑力看看怎么设计。

使用AD按键时有个需要注意的地方就是,按键尽量选择好些的。因为按键本身按下也是有阻值的,特别是用了久的按键,其按键接触点容易氧化,造成按键按下,有一定的按键阻值接在电路中。从而影响程序的识别,特别是我国南方较潮湿的地区,差一定的按键触电特别容易生锈氧化。所以AD按键也就存在了比单独通过读IO电平识别的按键短的寿命短的问题。所以这种按键也不是很推荐使用的。特别是按键数量越多,出现问题的数量也就越多。

AD按键程序设计

在程序设计前,首先要明白AD按键设计的原理和程序设计的思路。如果一个8位的ADC模块,要设计成10个按键,就是将8位ADC满值255等分成10份,没份之间有大约25个差值,比如一个按键按下的ADC值在25±11的位置,那么它临近的按键就是50±11的位置。对应的识别这些值,就可以识别那个按键按下了。当然为了抗干扰强,最好等分的数要少,8位的话等分最好不要超过8个按键,否则抗干扰不是很好,如果是8个按键的话每个按键的ADC差值为32,按键间的ADC差值越大,越有利于抗干扰。

AD按键程序思路:

每隔10ms(这个时间是按键抖动的滤波时间)读一次ADC按键值,根据值的范围,将对应的按键数值加到AD按键FIFO中(这里缓冲区8个字节长),如果AD按键FIFO满了,如果FIFO前4个值是0(对应按键没按下),最后2个值是相等的(对应按键按下),中间的2个值对应按键抖动时的值,不用管,相当于有20ms的抖动滤波时间,那么就人为最后这两个相等的值的对应按键按下了。

最后欢迎大家转发评论交流!觉得写的好的话就来个转发吧,让更多人知道。也欢迎大家关注我:单片机嵌入式爱好者。会有源源不断的干货分享哦!

热心网友 时间:2023-10-16 23:55

1、可以采用ARM7或者ARM9设计一个电路。2、通过一块74系列的集成电路或ULN2803电路驱动数码管段码的驱动。3、通过一个三极管8550驱动蜂鸣器。4、一个按键一端直接连接输入引脚,另一端接地。5、安装uC/OS-II系统到ARM中,编写控制软件:按键扫描及消抖软件,计数器、延时及译码等数码管驱动软件。6、最简单的方法是到淘宝买一块开发板,硬件、系统软件、示例软件、说明书都会提供,既方便又快捷。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
美的面包机和面要多久 美的面包机和面的时间要多长 美的面包机怎么用手动操作 如何用美的面包机发面 如何用美的面包机和面 美的面包机如何和面 CDR教程—教你如何使用CorelDRAW复制图形方法 苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 微信网名a怡人宁静什么意思 单按钮启停电路图 单片机独立按键的电路图 有哪些好听的a开头的微信名? 一个按键控制LED电路设计,不用单片机。。。求各位大侠帮帮忙 谁给我下单片机里的独立式按键的硬件电路图? 单片机独立按键电路图问题 51单片机3键键盘电路图[只有三个按键,链接pc的] 如何使用语音模块完成一个简单按键发声电路 全自动洗衣机的排水管长了咋办? 全自动洗衣机不接水管怎么用 长虹红太阳XQB72一7278洗衣机洗衣服加水时排水管一直在排水是什么原因? 长虹洗衣机内桶底下怎么有两根水管 长虹自能洗衣机怎么用 长虹全自动洗衣机显示E2,是怎么回事? 长虹智能洗衣机怎么使用? 长虹全自动洗衣机怎么使用??? 梦见吃头发和吐头发怎么解释? 梦见自己吃了一口头发,恶心怎么解释 最近连续两晚梦见吃的东西里老有头发 是什么预兆啊? 有些微信好友名字前面有个A是代表什么? 2020年受欢迎微信网名有哪些? 微信网名前带个A或AA的意思? 根据这个电视机主板,怎么做一块按键板,按键怎么连线,需要电路图。谢谢。 为什么好多人把自己的微信网名加上A 电脑键盘原理电路图以及每部分的解说(就是每一个元件起什么作用,还有为什么这样连接) 微信昵称怎么好多人喜欢用A字开头呢? Dell键盘电路板的接线图 急停按钮 电路图 微信网名前面加a什么意思 带有a的微信网名大全 微信名字带a? 微信昵称“A”字头的大有玄机,一般都是哪些人 如何消除微信群里某人的 apk8安卓网怎么样 安卓apk软件在哪里下载? 手机ap8怎么下载 apk游戏下载 apk手机游戏下载 Android手机游戏免费下载 apk格式文件怎么下载? 推荐几个APK游戏下载网站