一个普通IO口检测两个按键的方法
(图一)
(图二)
1
如图一所示:
当MCU供电为5V时候:
IO口低电平电压范围:0-1.5V;
IO口高电平电压范围:3.5-5.0V;
使用注意事项:
1、所以这里特别要注意在使用该电路时,电路参数须满足MCU的IO口
高低电平的电气特性要求。
2、电路如果需要具备两个按键同时按的功能要求,需自行调整电路,
该电路参数不满足该要求。
如图二所示:
R:MCU内部上拉电阻一般为几十K,这里取R = 40K;
EN:MCU内部上拉使能开关;
一、当EN 闭合时:
1.S1 按下时, V_IO 接近0V,此时IO口为低电平。
2.S2 按下时, V_IO = 5V * R103 / (R+R103)
V_IO = 5V * 510K/ (510K+(40K//2M)) = 4.63V
此时IO口为高电平。
二、当EN 断开时:
1.S1 按下时, V_IO 接近0V,此时IO口为低电平。
2.S2 按下时, V_IO = 3V * R103 / (R+R103)
V_IO = 5V * 510K/ (510K+ 2M) = 1.01V
此时IO口为低电平。
MCU检测过程:
1.EN闭合----》 如果IO口为低电平----》此时判定位S1按下。
2.EN断开----》 如果IO口为低电平----》此时判定位S2按下(此时S1不能被按下)。