2051修复时序电源,满血复活
老早的买了个坏的时序电源一直在吃灰,没时间修。
这天心血来潮,打开看看,全部是门电路搭的一个顺序控制电源
板子已经被修过,很多地方补过
现在的情况是直通开关打开能全部输出,不能时序控制
因此说明后面的继电器及其驱动回路是好的
只是时序控制这块有问题,犯懒了,不想查电路
简单查了下电源,两个变压器,一个是直通时的电源,一个是时序时的电源
于是想用单片机做个时序控制应该不错,而且电路简单
直通就不用了,于是拆掉直通的变压器,正好放单片机的板子
解除+5V给门电路IC的供电,保持12V给继电器和驱动的电源,+5V正好给单片机用
详细查了下驱动,如下:
控制部分采用2051,输出本来想直接驱动继电器,但是由于2051P1口输出上拉不给力
见帖子:http://bbs.mydigit.cn/read.php?tid=834875
改用光耦输出,正好隔离继电器,省的干扰单片机
基本想法:
用proteus搭了个电路试了下,keil写了个简单的控制程序,效果还行
单片机真的很多年不动了,发现很多知识都忘了,翻了好几天的书呀!
代码:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code out[]={0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00};
uchar i;
void DelayMS(uint x)
{
uchar i=0;
while(x--)
{
for(i=100;i>0;i--);
}
}
void main()
{
P1 = 0xFF;
P3 = 0x00;
i=0;
while(1)
{
if(P3^7==1)
{
i++;
P1 =out;
if (i>8) i=8;
DelayMS(1000);
}
else if(P1!=0xFF)
{
P1 =out;
i--;
if (i<0) i=0;
DelayMS(1000);
}
}
}
实验中的图片:
完成后:
视频:
http://v.youku.com/v_show/id_XNzAwMzQ4NDMy.html 干嘛用的?高级流水灯吗?{:lol:} my_avr 发表于 2014-4-18 11:42
干嘛用的?高级流水灯吗?
可能是用于 对上电顺序有要求的设备吧,比时很早以前CRT电脑时代,先开显示器,后开电脑主机 AT89C2051是不是得用高压编程器啊?手里还有几片呢,一直没用~ 让我想起来那句,,采用微电脑控制。。。 微电脑控制,,,,,高大上啊,,,,也就是个流水灯{:titter:}{:victory:} 比流水灯的控制并不是多复杂,只是实现的几个条件不太好搞定
这个不但要顺序开,顺序关,中间还有个控制
比如:开到一半的时候要关,也是顺序关的关到一半要开也是顺序开的
大家可以试试,用流水灯的程序行不行 所以叫高级流水灯啊{:lol:} grash 发表于 2014-4-18 11:56
可能是用于 对上电顺序有要求的设备吧,比时很早以前CRT电脑时代,先开显示器,后开电脑主机 ...
好像沒這開機順序 电源时序器用单片机稳定性如何,万一芯片复位了怎们办~最好像磁保持继电器那样,断电后能保持通电状态,不然芯片复位一下后面的设备就坑爹了 电阻焊的好飘逸。 这个电源那是必须得有的。就是输出最好用锁存器处理一下,要不然单片机复位就杯具了 shawn_bu 发表于 2014-4-18 14:46
电阻焊的好飘逸。
那是实验搭的电路,不是最终的{:lol:} 时间继电器》? ali1019 发表于 2014-4-18 14:39
好像沒這開機順序
CRT在开机后1秒不到的时间内,有十几安培的消磁电流,如果电源线不够粗,电压瞬间跌落,可能导致主机重启。 grash 发表于 2014-4-18 11:56
可能是用于 对上电顺序有要求的设备吧,比时很早以前CRT电脑时代,先开显示器,后开电脑主机 ...
一般音乐厅的音响设备的开闭都要用时序电源控制器。
页:
[1]