开机流程:长按按键时,KEY_ON被拉到地,R3和D11组成的回路导通,三极Q4的基极被拉低,Q4截止。U2的3脚EN被拉高,U2是一颗DC-DC,EN高电平使能,所以U2工作,输出5V。单片机开始工作,IO口置高电平给POW_ON,Q1的基极被拉高,Q1导通,拉低Q4的基极,松开按键后,Q4仍然处于截止状态,从而实现开机的功能。
关机过程:长按按键时,KEY_ON被拉低后,单片机检测到KEY_IO拉低,判断是长按后,就把KEY_ON置低电平,Q1截止,松开按键后,Q4的基极被拉高,Q4导通,U2的EN脚被拉低,U2不工作,5V停止输出,系统关机。
朋友遇到的问题是因为单片机在复位时,IO口默认是低电平,所以单片机复位时,KEY_IO置低电平,机器就会关机。于是朋友又做了以下修改,以为可以解决这个问题。
修改后的电路确实是解决了单片机复位就关机的问题,但是却引出了另外一个问题,就是电路关机关不了。朋友请我出马,分析一下是怎么回事?
我研究了一下朋友的两个电路。很快就知道两个电路的问题分别出在哪了。第一个电路,单片机复位后,IO默认是低电平,使控制DC-DC的使能脚变成了电低平,DC-DC停止工作,因此系统断电关机。第二个电路,关机后DC-DC的使能脚没法保持低电平,因此DC-DC又正常工作,系统又上电开机。
我思考了一下,帮朋友把电路改了一下,希望能解决朋友的问题,如下图所示。