1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > STC 单片机做太阳能逆变器离网控制器主控

STC 单片机做太阳能逆变器离网控制器主控

时间:2018-06-26 10:28:33

相关推荐

STC 单片机做太阳能逆变器离网控制器主控

这是最初版的,不会发帖,接下来做全触摸版的,会加入一系列传感器,人机界面直接彩屏显示,电瓶电压,电流功率,开机时间,雨天时间,灯光控制,温度检测,市电电压电流,逆变电压电流,功能逐步完善。

运行中

市电检测

控制切换

正常运行中

现在的没拍照

这是之前的

太阳能控制器.zip

43.15 KB, 下载次数: 57, 下载积分: 黑币 -5

程序

评分

参与人数 2黑币+112理由

1109+ 12很给力!

admin+ 100共享资料的黑币奖励!

查看全部评分

相关帖子

·KingST51单片机电子密码锁问题

·实现按键次数在数码管上显示并通过串口发送到PC端

·自制的8路抢答器-小动作版 原理图+单片机代码+文档

·51单片机点阵实现箭头移动代码+仿真

·P10点阵屏C51单片机程序

·单片机温湿度WIFI声光报警器 STM32源程序

回复

admin发表于 -5-4 18:57|显示全部楼层

楼主的源码:

#include<reg51.h>

#include <intrins.h>

longint s=10 ;

charx=10, k=1,c=10;

//long int cnt=0,js=0,ys=0 ;

sfr P5 = 0xC8;

sbit bj=P1^4;

sbit led=P1^5;

sbit QH=P1^2;

sbit kg=P3^3;

sbit sd=P1^3;

sbit xt=P5^5;

sbit sdjc=P1^0;

sbit ybjc=P1^1;

sbit hw=P5^4;

sbit sdzs=P3^0;

sbit ybzs=P3^1;

void Delay1000ms() //@33.000MHz

{

unsigned char i, j, k;

_nop_();

_nop_();

i = 126;

j = 101;

k = 169;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void Delay100ms() //@33.000MHz

{

unsigned char i, j, k;

_nop_();

_nop_();

i = 13;

j = 139;

k = 12;

do

{

do

{

while (--k);

} while (--j);

} while (--i);

}

void main()

{

P1=0XFF;

P3=0XFF;

// kg=1;

TMOD = 0x01;

TH0 = 0xCD;

TL0 = 0xD4;

TR0 = 1;

EA = 1;

ET0 = 1;

while(1)

{

while(c)

{

kg=0;

c--;

}

while(x)

{ xt=~xt;

Delay1000ms();

x--;

}

xt=~xt;

Delay100ms();

if(ybjc==1)

{QH=0; }

if(ybjc==0)

{

QH=1;

}

if((ybjc==0)&&(sdjc==0))

{

Delay1000ms();

bj=0;

kg=1;

xt=0;

QH=1;

while(k)

{

xt=0;

if(ybjc==1)

{k=0;}

if(sdjc==1)

{k=0; }

kg=0;

}

}

if((kg==0)&&(ybjc==0))

{

s=20;

kg=1;

while(s)

{

xt=~xt;

Delay1000ms();

Delay1000ms();

s--;

}

kg=0;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

Delay1000ms();

xt=~xt;

if((kg==0)&&(ybjc==0))

{

kg=1;

QH=1;

s=400;

}

if((kg==0)&&(ybjc==1))

{

kg=0;

QH=0;

s=0;

}

while(s)

{

xt=~xt;

Delay1000ms();

Delay1000ms();

Delay1000ms();

s--;

}

kg=0;

s=10;

while(s)

{

Delay1000ms();

s--;

}

if(ybjc==1)

{QH=0; }

else

{

QH=1;

kg=1;

s=4000 ;

while(s)

{

Delay1000ms();

Delay1000ms();

Delay1000ms();

xt=~xt;

Delay1000ms();

Delay1000ms();

Delay1000ms();

s--;

if(s==1)

{c=10; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。