32-GPIO输入

一,硬件

1.按键介绍

按键:常见的输入设备,按下导通,松手断开(左下角的这个图片就是按键,上面白色的是按钮,下面是它的两个引脚)

按键抖动现象:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动。过滤办法就是加一段延时,把这个抖动时间耗过去,这样就没问题了)

67a0ba19f96a4837890639c4888c0ddf.jpg

 2.传感器模块介绍

从左到右分别是:光敏电阻传感器、热敏电阻传感器、对射式红外传感器、反射式红外传感器c5ec85476cf446599d4b68d11ab77457.jpg

 工作原理:传感器元件(光敏电阻 / 热敏电阻 / 红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出 (电阻的变化不容易直接观察) ,再通过电压比较器进行二值化即可得到数字电压输出

47258c3fe4f842c791df6eff731d4db3.jpg

 3.硬件电路

最上面两个是下接按键的方式,最下面两个是上接按键的方式,一般来说按键都是用上两种方式,也就是下接的方式,这个原因跟LED的接法类似,是电路设计的习惯和规范

第一种接法是按键的最常用的接法了,随便选取一个GPIO口,比如PA0,然后通过K1接到地,当按键按下时,PA0被直接下拉到GND,此时读取PAO口的电压就是低电平.

 

当按键松手时,PA0被悬空,引脚电压会不确定,所以在这种接法下,必须要求PA0是上拉输入的模式,否则就会出现引脚电压不确定的错误现象。

 

如果PA0是上拉输入模式,按下按键,引脚为低电平,松手,引脚为高电平

 

第二种接法,相比较第一个图,在这里外部接了一个上拉电阻,这个上拉电阻可以想象成一个弹簧,把这个端口向屋顶上拉,当按键松手时,引脚由于上拉作用,自然保持为高电平,当按键按下时,引脚直接接到GND,所以引脚就为低电平。

 

这种状态下,引脚不会出现悬空状态,所以此时PA0引脚可以配置为浮空输入或者上拉输入,如果是上拉输入,那就是内外两个上拉电阻共同作用了,这时高电平就会更强一些,对应高电平就更加稳定,当然这样的话,当引脚被强行拉到低时,损耗也就会大一些

第三种接法,PA0通过按键接到3.3V,这样也是可以的,不过要求PA0必须要配置成下拉输入的模式,当按键按下时,引脚为高电平,松手时,引脚回到默认值低电平。

这要求单片机的引脚可以配置为下拉输入的模式,一般单片机可能不一定有下拉输入的模式,所以最好还是用上面的接法

最后一种接法,就是在刚才的这种接法下面再外接一个下拉电阻,这个接法PA0需要配置为下拉输入模式或者浮空输入模式,和第二种类似

总结:上面两种接法,按键按下为低电平,松手为高电平;下面两种接法,按键按下为高电平,松手为低电平;左边两种接法必须要求引脚是上拉或下拉输入的模式;右边两种接法可以允许引脚是浮空输入的模式,因为已经外置了上拉电阻和下拉电阻,一般都用上面两种接法,下面两种接法用的较少

2.传感器模块

50a8341baf8a4399bd70edc242f3daea.jpg

 

最右边的是传感器模块的电路,因为是使用模块的方案,所以电路还是非常简单的,这里VCC接3.3V,GND接GND,用于供电,DO数字输出随便接一个端口,比如PA0,用于读取数字量,AO模拟输出

 

15abcade21fa4bcca42ca77bdbedd40b.jpg

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值