您的位置:首页 > 其它

单片机通过I/O口实现断电自关机时有个小矛盾,可以这样来解决!

2017-12-14 00:00 525 查看


单片机应用系统中,常有用单片机的I/O口来实现自关机(彻底关机)的功能。一般用单片机的一个I/O口控制一个电子开关来实现,因单片机关电后,失去电源,所以在关机时,实现关机的IO口的电平必须用低电平。

但在这里有一个矛盾,就是在电子开关关闭电源时,因有电源滤波电容的存在,单片机系统的电压不是立即变为0,而是慢慢变低,当电压低到一定电压时,单片机将进入复位状态、或程序跑飞状态、或不确定状态,此时单片机控制关电的I/O口也可能变回高电平,将使电子开关重新开通。
解决方法:
一般单片机最低工作电压要比正常工作的电压低一些,我们就用这个差别来设计关机电路,就是让电子开关的开通电压必须大于单片机的最低工作压,这样在单片机正常工作时,此控制电压较高,能维持电子开关的正常导通,而当单片机在关电过程中因低压而产生的I/O口的高电平,因电压较低,不足以维持电子开关的导通, 从而实现彻底的关电。



在关机状态时:
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脚可以不用。


1.《单片机与嵌入式系统应用》12月电子刊新鲜出炉~
2.CPU和GPU擅长和不擅长的地方3.Python是这样调用matlab程序的!4.写了 15 年代码,总结出提升 10 倍效率的三件事5.电子爱好者向电子工程师进阶,你需要做些什么?6.C++17 标准正式发布,以后开发者可更简单地编写和维护代码

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐