找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1608|回复: 18
收起左侧

关于51单片机自动开关机方案

  [复制链接]
ID:73992 发表于 2022-12-8 19:52 | 显示全部楼层 |阅读模式
板子现在是用手动控制的开关,如图。现想用电路代替。我自己的方案是加一个单片机和电源模块控制,觉得不够简单。所以请老师指点 DSC00140.JPG
回复

使用道具 举报

ID:230742 发表于 2022-12-9 00:15 | 显示全部楼层
多关注几个公众号,关于51或者嵌入式的,有现成的一键开关机的电路。找一个。里面介绍了程序也可以自己关机。
回复

使用道具 举报

ID:123289 发表于 2022-12-9 08:50 | 显示全部楼层
1、列出逻辑真值表
2、写出逻辑关系式
3、搭建
可以不用单片机,几个普通逻辑芯片,或二、三极管即可。
回复

使用道具 举报

ID:814525 发表于 2022-12-9 09:13 | 显示全部楼层
按你的思路,这还得再加一个存储器,记录上次开关状态,每次上电对其取反并存储。
回复

使用道具 举报

ID:807591 发表于 2022-12-9 10:11 | 显示全部楼层
自动关机可以,自动开机不可能,只能低功耗模式停机,不会完全断电的
回复

使用道具 举报

ID:77589 发表于 2022-12-9 10:32 | 显示全部楼层
你看看这个电路是不是你想要的
51hei图片_4.png

关机状态下,按下按钮,Q1导通,MCU上电工作,此时MCU需要输出一个控制信号,让Q2导通,那么开机成功。
在正常工作状态下,你想关机,MCU直接控制Q2判断即可。
希望对你有用。
回复

使用道具 举报

ID:77589 发表于 2022-12-9 10:42 | 显示全部楼层
Longan.Wang 发表于 2022-12-9 10:32
你看看这个电路是不是你想要的

在正常工作状态下,你想关机,MCU直接控制Q2关断即可。
回复

使用道具 举报

ID:1042619 发表于 2022-12-9 10:54 | 显示全部楼层
STC8H/STC32G系列单片机系统自动开关机方案:
1, MCU 控制外部电源关闭和打开;
2, MCU关闭外部电源后进省电模式,<0.6uA;
3, 省电模式有外部中断,内部掉电唤醒定时器唤醒


1.jpg.png
2.jpg (2).png
回复

使用道具 举报

ID:401564 发表于 2022-12-9 14:43 | 显示全部楼层
这个问题本身就是问题
开机什么意思?是给它上电,还是从待机模式中唤醒?
关机什么意思?是给它断电,还是从正常进行中进入待机模式?
回复

使用道具 举报

ID:73992 发表于 2022-12-9 15:41 | 显示全部楼层
Y_G_G 发表于 2022-12-9 14:43
这个问题本身就是问题
开机什么意思?是给它上电,还是从待机模式中唤醒?
关机什么意思?是给它断电,还是从 ...

主板上电单片机电源接通,单片机工作,此时EA为1,单片机将数据写入外ram。只单片机断电 主板不断电 ,单片机再次上电,此时EA为0,单片机从外部ram读程序。我实机测试过可行。开关用手按容易出错,所以想实现自动控制。以下是我的试机程序
org        0000H
LJMP   ABB
ORG        0003H
LJMP        MAIN
MAIN:
CLR        P1.0  //led灯
ABB:        //外部ram写指令
MOV        DPTR,#0000H
MOV        R7,#03H
FO0:
MOV        A,#00
MOV        DPL,R7
MOVC        A,@A+DPTR
MOVX        @DPTR,A
INC        R7
CJNE        R7,#0X10,FO0

LJMP        $       
END      
回复

使用道具 举报

ID:624769 发表于 2022-12-9 16:14 | 显示全部楼层
纯粹站在实现这个功能的角度来讲,可以用一个锁存器来实现。

但,是否值得,你要考虑清楚,外部RAM 也好,外部ROM 也好, 本身读写速度要比 单片机自身来的慢,而带EA脚的单片机 现在基本也找不到了。那么,这个方案的沿用性就值得商权了。
而你说第一次上电单片机将数据写入外部RAM,那么这个数据的来源是哪里?来源是单片机本身的Flash的话,你把数据写入外部RAM 再从外部启动,比起直接在单片机内部直接运行,除了速度更慢之外,有何优势?
如果来源是其他地方传输而来,为何不换一个可在线升级的MCU,直接写在内部?
实在不理解,花那么大代价折腾,最后可以实现一个什么目的?
回复

使用道具 举报

ID:73992 发表于 2022-12-9 21:04 | 显示全部楼层
188610329 发表于 2022-12-9 16:14
纯粹站在实现这个功能的角度来讲,可以用一个锁存器来实现。

但,是否值得,你要考虑清楚,外部RAM 也好 ...

第一次上电将片内flash内容传到外部内存,第二次开机执行外部内存程序。例如程序正在执行,这个程序中预留1个1k空间空子程序。串口输入一串数据到这段空间,这个数据将可以当指令执行。这个数据不一定来自串口,内存卡,键盘,。将程序载/写入内存,并且执行这段程序。这个功能比较实用的。我手头有stc15w204和ULN2808.准备用这两芯片做这个控制了
回复

使用道具 举报

ID:401564 发表于 2022-12-9 21:33 | 显示全部楼层
lyonkon 发表于 2022-12-9 15:41
主板上电单片机电源接通,单片机工作,此时EA为1,单片机将数据写入外ram。只单片机断电 主板不断电 ,单 ...

对不起,我错了
错在回答问题之前没看你之前的帖子
不好意思,当我什么也没说
回复

使用道具 举报

ID:420836 发表于 2022-12-10 08:41 | 显示全部楼层
看来你需要的是一个可以远程自动唤醒C51单片机休眠的电路。
回复

使用道具 举报

ID:73992 发表于 2022-12-10 22:27 | 显示全部楼层
我尝试了两种方法,没有成功,三极管供电电压太低,而且无法完全关闭。uln2803 必须高低电平跳变几次才能开。而且开机后无法关闭,信号端口线拆了也无法关闭。 无标题.png

回复

使用道具 举报

ID:624769 发表于 2022-12-11 00:20 来自手机 | 显示全部楼层
lyonkon 发表于 2022-12-10 22:27
我尝试了两种方法,没有成功,三极管供电电压太低,而且无法完全关闭。uln2803 必须高低电平跳变几次才能开 ...

哎……搞了半天,不光达灵顿不会用,你连三极管都不会用,撇开这个方法合理性不讲,你要三极管通断vcc至少要用pnp管,1断开,0导通吧?
加一句,记得基极限流和上拉,别到时候瞎接这锅我不背。
回复

使用道具 举报

ID:73992 发表于 2022-12-11 18:33 | 显示全部楼层
188610329 发表于 2022-12-11 00:20
哎……搞了半天,不光达灵顿不会用,你连三极管都不会用,撇开这个方法合理性不讲,你要三极管通断vcc至 ...

按楼上电路做好了,实验成功。我没有b1204,我在老式CRT上面找到一个b1041.代换。试机成功。
带负载测量关状态下电压0.5v,开状态下4.45v,电源电压 4.5v
非常满意,感谢
回复

使用道具 举报

ID:73992 发表于 2022-12-11 23:39 | 显示全部楼层
大漠孤烟001 发表于 2022-12-9 10:54
STC8H/STC32G系列单片机系统自动开关机方案:
1, MCU 控制外部电源关闭和打开;
2, MCU关闭外部电源后进 ...

用图上的电路,给stc89c52供电每次开都正常。给at89c52供电开机不正常
回复

使用道具 举报

ID:883242 发表于 2022-12-13 19:57 | 显示全部楼层
为什么不用磁保持继电器呢?压降可以忽略不计的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表