这是最初版的,不会发帖,接下来做全触摸版的,会加入一系列传感器,人机界面直接彩屏显示,电瓶电压,电流功率,开机时间,雨天时间,灯光控制,温度检测,市电电压电流,逆变电压电流,功能逐步完善。
运行中
市电检测
控制切换
正常运行中
现在的没拍照
这是之前的
太阳能控制器.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; }