PIC16F877A Proteus仿真太阳能市电互补供电系统蓄电池充电 -0051
Proteus仿真小实验:
PIC16F877A Proteus仿真太阳能市电互补供电系统蓄电池充电 -0051
功能:
硬件组成:PIC16F877A单片机 +LCD1602显示器+AC220V市电转59V直流蓄电池充电电路+继电器切换市电还是太阳能充电+电位器模拟光强0~100%+蓄电池电量检测电路+1个LED灯模拟负载
1.LCD1602显示蓄电池电压xx.xV、蓄电池电量0~100%、光强大小0~100%。
2.单片机通过内部ADC采集电位器电压计算出光强大小,太阳能在太阳光强时给蓄电池充电,
3.单片机通过内部ADC采集蓄电池电压计算电量46V~54V对应电量0~100%,电量低于20%不足时,切换为市电为负载供电。电量高于20%,蓄电池供电;太阳能-市电互补的切换开关通过继电器完成。
有功能视频哦:
可以哔哩哔哩B站,搜索UP主“单片机仿真汇”。在其空间中搜索关键词“太阳能”即可找到对应详细功能视频和介绍。
电路图:
部分源代码:
void main()
{
char xxx=0,yyy=0;
WrByte1602(yyy,xxx++,'D');
WrByte1602(yyy,xxx++,'Y');
WrByte1602(yyy,xxx++,'=');
WrByte1602(yyy,xxx++,dianya%1000/100+'0');
WrByte1602(yyy,xxx++,dianya%100/10+'0');
WrByte1602(yyy,xxx++,'.');
WrByte1602(yyy,xxx++,dianya%10/1+'0');
WrByte1602(yyy,xxx++,'V');
WrByte1602(yyy,xxx++,' ');
WrByte1602(yyy,xxx++,'D');
WrByte1602(yyy,xxx++,'L');
WrByte1602(yyy,xxx++,'=');
WrByte1602(yyy,xxx++,dianliang%1000/100+'0');
WrByte1602(yyy,xxx++,dianliang%100/10+'0');
WrByte1602(yyy,xxx++,dianliang%10/1+'0');
WrByte1602(yyy,xxx++,'%');
yyy=1;
WrByte1602(yyy,xxx++,'G');
WrByte1602(yyy,xxx++,'Q');
WrByte1602(yyy,xxx++,'=');
WrByte1602(yyy,xxx++,GQ%1000/100+'0');
WrByte1602(yyy,xxx++,GQ%100/10+'0');
WrByte1602(yyy,xxx++,GQ%10/1+'0');
WrByte1602(yyy,xxx++,'%');
}