单片机控制继电器工控开关,由本人多年设计所得,先贡献原理图如下:
主控芯片采用STC15F104E,带触发功能。支持串口通信
芯片可编程,可实现多种功能,延时接通,延时断开,循环关闭和断开,带有触发端,可以支持出发延时痛断。
1、延时断开,本程序是延时10秒断开、采用软件延时方式
2、void Delay1s(uint s) //12.000MHz
3、{
4、uchar m,n;
5、for(m=s;m>0;m--)
6、for(n=10;n>0;n--)
7、Delay100ms();
8、}
9、
10、/********************************************************************
11、主函数义
12、*********************************************************************/
13、void main()
14、{
15、int i = 0;
16、
17、P33 = 1;
18、for(i = 0; i < 334; i++)
19、{
20、Delay1s(10);
21、}
22、P33 = 0;
23、while(1);
24、
25、}
第二种方案:采用定时器延时,延时接通
void t0(void) interrupt 1 using 0 //定时中断服务函数
{
tcnt++; //每过250ust tcnt加一
if(tcnt==400) //计满400次(1/10秒)时
{
tcnt=0; //重新再计
sec++;
if(sec==10) //定时10秒,在从零开始计时
{
sec=0;
P33=!P33; //取反P3.3
}
}
}
/********************************************************************
主函数
*********************************************************************/
void main()
{
TMOD=0x02; //定时器工作在方式2
TH0=0x06; //对TH0 TL0赋值
TL0=0x06;
TR0=1; //开始定时
ET0=1;
EA=1;
sec=0;
while(1)
{
}
}
如果需要更长的时间,可以修改下延时参数既可。本程序是由个人编写而成,或有纰漏,请路过的大神多多指教。