单片机应用系统中,常有用单片机的IO口来实现自关机(彻底关机)的功
能。一般用单片机的一个IO口控制一个电子开关来实现,因单片机关电后,失
去电源,所以在关机时,实现关机的IO口的电平必须用低电平。
但在这里有一个矛盾,就是在电子开关关闭电源时,因有电源滤波电容的
存在,单片机系统的电压不是立即变为0,而是慢慢变低,当电压低到一定电压
时,单片机将进入复位状态、或程序跑飞状态、或不确定状态,此时单片机控
制关电的IO口也可能变回高电平,将使电子开关重新开通。
解决方法:
一般单片机最低工作电压要比正常工作的电压低一些,我们就用这个差别
来设计关机电路,就是让电子开关的开通电压必须大于单片机的最低工作压,
这样在单片机正常工作时,此控制电压较高,能维持电子开关的正常导通,而
当单片机在关电过程中因低压而产生的IO口的高电平,因电压较低,不足以维
持电子开关的导通,从而实现彻底的关电。
在关机状态时:
S1按下,Q2导通,单片机工作后,POWER输出高电平,Q1导通,维持Q2的导通实现开机。
在开机状态时:
1、软件关机:MCU的POWER引脚输出低电平,Q1截止,Q2关断,关机。(一般用于延时关机,象数字万用表即是)
2、S1按下,低电平通过D3使MCU的输入脚ON-OFF电平为低,MCU检测到后,通过软件关机(如1所述)
D3用于隔离,不然关机状态时MCU的ON-OFF脚为低电平,Q2将导通。
POWER 是单片机输出开关电源的,低电平是0,高电平等于单片机的供电电压(近似)
ON-OFF是单片机的输入脚,用于单片机检测S1的状态,如果不用S1关机ON-OFF脚可以不用
原文地址http://blog.chinaunix.net/uid-20411250-id-1950230.html