标题: 关于自锁电路+单片机控制开关机 求分析 [打印本页]

作者: cheney03    时间: 2020-12-24 14:44
标题: 关于自锁电路+单片机控制开关机 求分析
这个自锁电路哪位大哥看得懂的,帮忙分析一下。VPP为电池电压(接3.7V的锂电池),POWER1接电源开关按钮(按键按下接地)。INTI、P301接单片机IO口,怎么控制这两个IO口电平达到开关机的作用




开关按键:




作者: 名字不是重点    时间: 2020-12-24 14:44
开机:
power1按下,Q301的G极经D302/R303拉低而导通,VPP得电供CPU,
CPU上电初始IO后,P301输出高电平,致Q302导通,
Q301的G极通过R304/Q302被锁定为导通态,此时即使POWER1释放,也不会断电。
关机:
power1按下(最好能软件设为长按),CPU检测到INT为低,开始计时,
计时超过设定值时,启动关机程序,待power1释放后,P301输出低电平,
Q302截止、Q301截止,VPP失电,CPU失电,完成关机。
这个电路很常见,逻辑分析并不难。
作者: cheney03    时间: 2020-12-24 20:16
名字不是重点 发表于 2020-12-24 14:44
开机:
power1按下,Q301的G极经D302/R303拉低而导通,VPP得电供CPU,
CPU上电初始IO后,P301输出高电平 ...

分析很正确,也很详细,分给你了
作者: cheney03    时间: 2020-12-24 20:18
本帖最后由 cheney03 于 2020-12-24 22:56 编辑
名字不是重点 发表于 2020-12-24 14:44
开机:
power1按下,Q301的G极经D302/R303拉低而导通,VPP得电供CPU,
CPU上电初始IO后,P301输出高电平 ...

还有个疑问我程序中直接设置P301为低电平(不按POWER1键,也不检测INT1电平),会不会关机?
作者: cheney03    时间: 2020-12-24 20:57
本帖最后由 cheney03 于 2020-12-24 23:04 编辑
cheney03 发表于 2020-12-24 20:18
还有个疑问我程序中直接设置P301为低电平,会不会关机?

上面说的是在程序执行过程中 P301=0;当执行到这条语句会不会关机?或者在单片机初始化设置P301=0;能不能开机?
作者: 名字不是重点    时间: 2020-12-25 13:32
power为低/P301为高,这个两条件有一个为真时,Vpp不掉电,都为假时,掉电
作者: xiangzi28    时间: 2020-12-25 21:55
1楼讲述很清晰了
作者: cheney03    时间: 2020-12-26 20:10
名字不是重点 发表于 2020-12-25 13:32
power为低/P301为高,这个两条件有一个为真时,Vpp不掉电,都为假时,掉电

还有两个问题,能再帮忙分析一下吗
①接上电池,没按POWER1键,我单片机就有电工作了
②单片机运行后,我程序中直接置P301=0;(没按POWER1键,POWER1为高电平),没关机,而是单片机复位重新上电

(主电路电压)VDD=5V,(电池电压)VPP=4V,单片机IO口输出3.3V(上面两个问题跟这些电压有没关系)

作者: TTQ001    时间: 2020-12-27 09:31
感谢大家的解释。 这非常有帮助。
作者: 名字不是重点    时间: 2020-12-28 09:25
cheney03 发表于 2020-12-26 20:10
还有两个问题,能再帮忙分析一下吗
①接上电池,没按POWER1键,我单片机就有电工作了
②单片机运行后, ...

上电开机,这个要从硬件上去查了,测一下Q301的G极电压,看是不是这个MOS管坏了或焊错了

P301置低不关机,你还要查一下,是不是被其它代码置位了,
正常的来说,关机过程是先把要保存的数据存好,然后P301置低,之后不再运行任何代码。
作者: 名字不是重点    时间: 2020-12-28 09:59
void main(void)
{
.
.
.
.
while(1)
{
  P301=0;
}
}




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1