电路分享 —— 单片机 1个IO口检测多路按键

一、设计要求

  设计要求:因为单片机的IO口数量较少,要求使用1路IO口检测4路按键。

二、设计思路

  设计思路:单片机的IO口数量较少的情况下,使用1路IO口检测4路按键,可以通过检测电压值来进行区分,即使用IO口的ADC功能,通过不同的电压值来区分哪一个按键按下
电路设计如下:
电路分享 —— 单片机 1个IO口检测多路按键_第1张图片

三、仿真测试

1、单一按键
  • 按键断开,IO口采集的电压为0V,测试如下接近于0V。(电压单位fv(femtovolt),电压单位,表示毫微,微伏,或飞伏,大小为10ˉ15V。)
    电路分享 —— 单片机 1个IO口检测多路按键_第2张图片

  • 按键 S4 按下,IO口电压为1.65V。
    电路分享 —— 单片机 1个IO口检测多路按键_第3张图片

  • 按键 S3 按下 ,IO口电压为 0.3V。
    电路分享 —— 单片机 1个IO口检测多路按键_第4张图片

  • 按键 S2 按下 ,IO口电压为 1.19V。
    电路分享 —— 单片机 1个IO口检测多路按键_第5张图片

  • 按键 S1 按下 ,IO口电压为 0.647V。
    电路分享 —— 单片机 1个IO口检测多路按键_第6张图片

2、2个组合按键
  • 按键 S1、S2 按下 ,IO口电压为 1.422V。
    电路分享 —— 单片机 1个IO口检测多路按键_第7张图片
  • 按键 S1、S3 按下 ,IO口电压为 0.844V。
    电路分享 —— 单片机 1个IO口检测多路按键_第8张图片
  • 按键 S1、S4 按下 ,IO口电压为 1.829V。
    电路分享 —— 单片机 1个IO口检测多路按键_第9张图片
  • 按键 S2、S3 按下 ,IO口电压为 1.254V。
    电路分享 —— 单片机 1个IO口检测多路按键_第10张图片
  • 按键 S2、S4 按下 ,IO口电压为 1.987V。
    电路分享 —— 单片机 1个IO口检测多路按键_第11张图片
  • 按键 S3、S4 按下 ,IO口电压为 1.729V。
    电路分享 —— 单片机 1个IO口检测多路按键_第12张图片
3、3个按键组合键
  • 按键 S1、S2 、S3 按下 ,IO口电压为 1.523V。
    电路分享 —— 单片机 1个IO口检测多路按键_第13张图片

  • 按键 S1、S2 、S4 按下 ,IO口电压为 2.103V。
    电路分享 —— 单片机 1个IO口检测多路按键_第14张图片

  • 按键 S1、S3 、S4 按下 ,IO口电压为 1.892V。
    电路分享 —— 单片机 1个IO口检测多路按键_第15张图片

  • 按键 S2、S3 、S4 按下 ,IO口电压为 2.037V。
    电路分享 —— 单片机 1个IO口检测多路按键_第16张图片

4、4个按键组合
  • 按键 S1 、S2、S3 、S4 全部按下 ,IO口电压为 2.145V
    电路分享 —— 单片机 1个IO口检测多路按键_第17张图片

四、总结

  1个IO口采集多路按键的方法:通过使用单片机IO口的ADC功能,通过不同的电压值来区分哪一个按键按下。

你可能感兴趣的:(单片机,嵌入式硬件,1个IO多路按键)