单个按键开关机电路
说明
整个电路的核心是 "锁定" 。要开机时:短按按键,触发一个高电平(或低电平)信号,这个信号能"锁定"系统电源,使其持续供电。
要关机时:再次短按按键,MCU在正常工作后,检测到同一个按键被按下,然后主动产生一个信号解除"锁定",使系统断电。
常见方案
- MCU配合按键实现功能;
- 单纯硬件,无需MCU参与实现此功能;
- 芯片硬件方案;
MCU配合电路

注意:图片来自互联网平台,仅参考说明,不做商业用途。
这个电路的本质是按键配合IO口操作;过程说明如下:
按键按下时,坚持1秒,然后释放,GPIO1被按键按下时,拉到低电平,同时A点电压被拉低;
因为Q1是PMOS,所以此时PMOS导通,此时Vout输出电压;后级MCU此时开始上有电,GPIO2由MCU控制,输出高电平;
Q2因为是NMOS,所以A点电压变为低电平,PMOS继续导通,后续电源供电由IO口控制打开电源。
这个过程中,具体按键按下事件,需要根据实际MCU初始化的时间确定。
弊端/问题
这个电路的弊端,因为需要MCU参与,所以MCU代码的稳定性就很重要,如果异常导致代码死机,MCU产生复位,则系统很可能直接掉电。
还有一点,对于MCU来说,很多MCU下载代码时,如NXP的芯片、星闪蓝牙芯片;下载代码时,需要MCU 的RST引脚状态参与,如果是这样的控制电源方式,下载过程RST电平变化,则MCU很可能自己产生重启,此时MCU GPIO2状态丢失,则系统断电,无法正常下载,与这个电路逻辑冲突,这点是需要考虑的内容。
尝试解决
对于这种情况,要解决就需要更换电路;
或者确认MCU在复位过程时,需要配置IO口能否被外部上下拉稳定到固定的电平(与MCU控制电源IO上电的电平保持一样),这点尤为重要,大家在设计时一定要注意。 如果根据手册拿不准初始化之前可以外部上下拉的IO状态,则一定要实际测试,确保设计能够使用。
单纯硬件方案


以上电路都存在弊端,大家自行先确认下;
按键长按以及后级容性负载会导致电路失效。
温度导致三极管参数产生偏移;
但是通过一定修改,可以实现负载电路,但是会失去一部分功耗。