单片机通过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 标准正式发布,以后开发者可更简单地编写和维护代码
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。
相关文章推荐
- rsync 实现文件同步 (重要数据通过rsyncr把数据同步到不同的两台服务器上,这样可以防止服务器的硬盘故障导致数据丢失) 客户端同步时如果要排某个目录
- 囧,还可以这样玩,通过GPS实现定位手机号所在位置的系统
- 抗锯齿:在画图时,由于旋转或者缩放后,会产生锯齿,可以通过这样解决。
- 实现类似textarea这样可以滚动显示内容的方法
- C#操作Excel时找不到“EXCEL9.OLB”com组件,可以通过如下方法实现:
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop
- 如何修改af:table的数据,可以通过修改对应的iterator的数据来实现。
- 这样可以实现随机的比率,很强大
- 通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽
- 编写一个通讯录,功能与以前的诺基亚手机一样,可以通过键盘进行箭头的移动,回车进入选项,用“W”键代表手机手机左键,“backspace”键代表返回上一级。能够实现基本的人性化的增删改查及文件的导入导出
- 可以通过基类实现的几种功能。vs2008 .net 2.0
- 通过orderby关键字,LINQ可以实现升序和降序排序。LINQ还支持次要排序。
- 实现VSS可以通过Internet访问,做到Web安装连接
- win7系统关机提示"您可以安全地关闭计算机了"的故障原因及解决方法
- [p2p]手机是否可以通过JXTA网络与PC机/PocketPC/WindowsMobile实现P2P呢?
- 解决ORA-02021: 不允许对远程数据库进行 DDL 操作下面通过DBLINK调用远程过程来执行这样的操作。
- angularjs 下实现即可通过select选择 也可以通过input输入
- 通过js当中的cookie实现可以记住内…
- 第三方平台可以通过微信公众平台素材管理接口实现同步了