单片机按键检测原理

我们的单片机只能感知电平的变化。比如某个IO口从高电平跳变位为低电平,或者从低电平跳变为高电平。
按键的原理就是,按键一端接GND,另外一端接IO口,IO默认配置为高电平(弱上拉)。不按按键的时候,两端是断开的,彼此是互不影响的。当我们的按键按下的时候,两端的线路就导通了,在同一条线路中,不可能是GND,又是VCC,这个时候物竞天择,弱的一段就会被“拉过去”。
举例:如果一端是弱上拉,一端是GND,那么按键按下,因为按键按下,高电平那一段比较弱,就会被拉过来。这个时候弱的那一段就会从高电平被拉为低电平。如果反过来,GUN比较弱,VCC比较强,那么就会使GUN被拉高,电路呈现高电平。
之所以常用弱上拉,然后高电平被拉低,是因为人们在使用时发现高电平被拉低比较容易。当电平从弱上拉被拉低后,单片机就可以检测IO口的电平发生了变化,读取这个IO的值从高电平变为低电平,那么就证明我们的按键被按下了。这个就是为什么我们写程序的时候要写某个按键KEY==0的原因。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值