欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
根據高低電平顯示太陽和橫線,帶計時器,太陽能自動劃程序 求幫助
[打印本頁]
作者:
delk21
時間:
2020-8-10 14:47
標題:
根據高低電平顯示太陽和橫線,帶計時器,太陽能自動劃程序 求幫助
根據高低電平顯示太陽和橫線,帶計時器,太陽能自動劃程序
如果太陽能有點10S,輸出高電平,繼電器跳到太陽能上用電.如果沒電,就用家用電
防止太陽能和家用電不斷跳動
#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
#include "lcd.h"
typedef unsigned int u16; //對數據類型進行聲明定義
typedef unsigned char u8;
sbit led1=P3^0;
sbit led2=P3^1;
sbit led3=P3^2;
sbit led4=P3^3;
sbit beep=P1^5;
sbit a1=P1^0;
sbit b2=P1^1;
sbit c3=P1^2;
sbit d4=P1^3;
u8 Disp[]="P0:";
u8 Disp1[]="P1:";
u8 Disp2[]="P2:";
u8 Disp3[]="P3:";
u8 Disp4[]="*";//太陽能電標志
u8 Disp5[]="-";//家用電標志
u8 Disp6[]="IO^1";
u8 Disp7[]="port";
static u16 a,b,c,d,e;
void delay(u16 z)
{
while(z--);
}
void Timer0Init() //定時器函數
{
TMOD=0x01;//用定時器的一種計數法
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;//打開定時器0的中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void main(void)
{
u8 i;
P1=0;
P2=0;
P3=0;
a=200;
b=200;
c=200;
d=200;
e=10;
LcdInit();
Timer0Init();
while(1)
{
if(e==0)
{
LcdWriteCom(0x80+1);
for(i=0;i<3;i++)
{
LcdWriteData(Disp[i]);
}
////////
LcdWriteCom(0x80+11);
for(i=0;i<3;i++)
{
LcdWriteData(Disp1[i]);
}
////////
LcdWriteCom(0x80+0x40+1);
for(i=0;i<3;i++)
{
LcdWriteData(Disp2[i]);
}
////////
LcdWriteCom(0x80+0x40+11);
for(i=0;i<3;i++)
{
LcdWriteData(Disp3[i]);
}
////////
LcdWriteCom(0x80+6);
for(i=0;i<4;i++)
{
LcdWriteData(Disp6[i]);
}
///////
LcdWriteCom(0x80+0x40+6);
for(i=0;i<4;i++)
{
LcdWriteData(Disp7[i]);
}
////////////////////////////
if(led1==1)//太陽能電啟用標志
{
LcdWriteCom(0x80+4);
for(i=0;i<1;i++)
{
LcdWriteData(Disp4[i]);
}
}
if(a1==0)//家用電啟用標志
{
led1=0;
a=200;
LcdWriteCom(0x80+4);
for(i=0;i<1;i++)
{
LcdWriteData(Disp5[i]);
}
}
if(a==0)led1=1;
else{led1=0;}
///////////////////////////
if(led2==1)
{
LcdWriteCom(0x80+14);
for(i=0;i<1;i++)
{
LcdWriteData(Disp4[i]);
}
}
if(b2==0)
{
led2=0;
b=200;
LcdWriteCom(0x80+14);
for(i=0;i<1;i++)
{
LcdWriteData(Disp5[i]);
}
}
if(b==0)led2=1;
else{led2=0;}
/////////////////////////////
if(led3==1)
{
LcdWriteCom(0x80+0x40+4);
for(i=0;i<1;i++)
{
LcdWriteData(Disp4[i]);
}
}
if(c3==0)
{
led3=0;
c=200;
LcdWriteCom(0x80+0x40+4);
for(i=0;i<1;i++)
{
LcdWriteData(Disp5[i]);
}
}
if(c==0)led3=1;
else{led3=0;}
/////////////////////////////
if(led4==1)
{
LcdWriteCom(0x80+0x40+14);
for(i=0;i<1;i++)
{
LcdWriteData(Disp4[i]);
}
}
if(d4==0)
{
led4=0;
d=200;
LcdWriteCom(0x80+0x40+14);
for(i=0;i<1;i++)
{
LcdWriteData(Disp5[i]);
}
}
if(d==0)led4=1;
else{led4=0;}
}
else {beep=~beep;delay(120);}
}
}
void Timer0() interrupt 1 //開啟定時器1
{
//1200=1分鐘 20=1s
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(a&&a1==1)
{
a--;
}
if(b&&b2==1)
{
b--;
}
if(c&&c3==1)
{
c--;
}
if(d&&d4==1)
{
d--;
}
if(e)
{
e--;
}
}
復制代碼
求幫忙看看哪里有錯誤?
2.LCD加太陽能檢測.rar
2020-8-10 14:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
44.45 KB, 下載次數: 6, 下載積分: 黑幣 -5
5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1