📄 whx40318.c
字号:
break;
}
}
break;
}
}
fill_time(year,month,day,1);
xs(0xc5,ary,8);
fill_time(hour,minu,sec,1);
xs(0x99,ary,8);
set_time(kcount);
}
CONB_12887=0xa6;
YEAR_ADR=year;
MONTH_ADR=month;
DAY_ADR=day;
HOUR_ADR=hour;
MIN_ADR=minu;
CONB_12887=0x26;
qinping();
xs(0x85,"--OK--",5);
}
Res()
{ unsigned char i,j,k;
for(i=0;i<=11;i++)
lastday[i]=0;
for(i=0;i<=11;i++)
for(j=0;j<=30;j++)
hday[i][j]=0;
for(i=0;i<=7;i++)
for(j=0;j<=11;j++)
for(k=0;k<=30;k++)
worktime[i][j][k]=0;
total=0;
count30s=0;
while((insyear!=year)||(insmonth!=month)||(insday!=day))
{ readtime();
insyear=year;
insmonth=month;
insday=day;
}
}
/*一下便是所加入的电流变电压输入范围调整程序,加在了Tu_Run()里头*/
ITV_VALUE(unsigned int x,unsigned char i,unsigned char m)
{unsigned char j=0;
k=0;
qinping();
xs(0xc0,"INPUT ",5);
if (m==0)
xs(0xc6,"CHZ",2);
else xs(0xc6,"ITV",2);
ary[0]=i+0x30;
xs(0xc9,ary,0);
xs(0xca," RANGE:",6);
while(k!=12)
{ if (k=key()!=0)
{ k=jzqr();
if(k<=9)
{ XBYTE[x+j]=k;
ary[j]=k+0x30;
xs(0x94,ary,j);
j++;
}
}
if (j==4) k=12;
}
qinping();
delay(20);
qinping();
k=0;
}
LLJ_RANGE()
{ char i;
k=0;
qinping();
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM(1):",6);
xs(0xc0,"LLJ:",3);
for (i=0;i<=3;i++)
ary[i]=XBYTE[0xf944+i]+0x30;
xs(0xc4,ary,3);
xs(0xc8,"*50",2);
while(k!=12)
{ if(k=key()!=0)
{ k=jzqr();
switch(k)
{ case 1: ITV_VALUE(0xf944,0,0);
delay(200);
break;
}
}
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM(1):",6);
xs(0xc0,"LLJ:",3);
for (i=0;i<=3;i++)
ary[i]=XBYTE[0xf944+i]+0x30;
xs(0xc4,ary,3);
xs(0xc8,"*50",2);
}
k=12;
qinping();
delay(20);
qinping();
}
PHONE_RANGE()
{unsigned char i,vl,vh;
k=0;
qinping();
xs(0xc4,"PHONE ",5);
xs(0xca,"NUM(1):",6);
xs(0x94,"PHONE:",5);
for (i=0;i<=7;i++)
{ ary[i]=XBYTE[0xf938+i]+0x30;
xs(0x9a,ary,7);
}
for (i=0;i<=3;i++)
{ ary[i]=XBYTE[0xf940+i]+0x30;
xs(0xa2,ary,3);
}
while(k!=12)
{ if(k=key()!=0)
{ k=jzqr();
switch(k)
{ case 1: ITV_VALUE(0xf938,1,0);
delay(200);
ITV_VALUE(0xf93c,2,0);
delay(200);
ITV_VALUE(0xf940,3,0);
break;
}
}
xs(0xc4,"PHONE ",5);
xs(0xca,"NUM(1):",6);
xs(0x94,"PHONE:",5);
for (i=0;i<=7;i++)
ary[i]=XBYTE[0xf938+i]+0x30;
xs(0x9a,ary,7);
for (i=0;i<=3;i++)
ary[i]=XBYTE[0xf940+i]+0x30;
xs(0xa2,ary,3);
}
for (i=0;i<=10;i+=2)
{ vh=XBYTE[0xf938+i];
vh<<=4;
vl=XBYTE[0xf939+i];
phonenum[i/2]=( vh|vl);
}
k=12;
qinping();
delay(20);
qinping();
}
FEEL_RANGE()
{ char i;
k=0;
qinping();
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM(1):",6);
xs(0xc0,"CH:0 1 2 3",9);
xs(0xca," 4 5 6 7",7);
xs(0x94,"VA:",2);
for (i=0;i<=7;i++)
{ ary[i]=XBYTE[0xf930+i]+0x30;
xs((0x97+i*2),(ary+i),0);
}
while(k!=12)
{ if(k=key()!=0)
{ k=jzqr();
switch(k)
{ case 1: ITV_VALUE(0xf930,1,0);
delay(200);
ITV_VALUE(0xf934,2,0);
break;
}
}
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM<1>:",6);
xs(0xc0,"CH:0 1 2 3",9);
xs(0xca," 4 5 6 7",7);
xs(0x94,"VA:",2);
for (i=0;i<=7;i++)
{ ary[i]=XBYTE[0xf930+i]+0x30;
xs((0x97+i*2),(ary+i),0);
}
}
k=12;
qinping();
delay(20);
qinping();
}
INPUT_RANGE()
{ char i;
k=0;
qinping();
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM:",3);
xs(0xc0,"4ITV ",4);
xs(0xcb,"6ITV ",4);
xs(0x94,"5ITV ",4);
xs(0x9f,"7ITV ",4);
for(i=0;i<=7;i++)
ary[i]=XBYTE[0xf920+i]+0x30;
xs(0xc5,ary,3);
xs(0x99,ary+4,3);
for(i=0;i<=7;i++)
ary[i]=XBYTE[0xf928+i]+0x30;
xs(0xd0,ary,3);
xs(0xa4,ary+4,3);
while(k!=12)
{ if(k=key()!=0)
{ k=jzqr();
switch(k)
{ case 4: ITV_VALUE(0xf920,4,1);
break;
case 5: ITV_VALUE(0xf924,5,1);
break;
case 6: ITV_VALUE(0xf928,6,1);
break;
case 7: ITV_VALUE(0xf92c,7,1);
break;
}
}
xs(0x84,"SLECT ",5);
xs(0x8a,"NUM:",3);
xs(0xc0,"4ITV ",4);
xs(0xcb,"6ITV ",4);
xs(0x94,"5ITV ",4);
xs(0x9f,"7ITV ",4);
for(i=0;i<=7;i++)
ary[i]=XBYTE[0xf920+i]+0x30;
xs(0xc5,ary,3);
xs(0x99,ary+4,3);
for(i=0;i<=7;i++)
ary[i]=XBYTE[0xf928+i]+0x30;
xs(0xd0,ary,3);
xs(0xa4,ary+4,3);
}
k=12;
qinping();
delay(20);
qinping();
}
char ma()
{ unsigned int mm,mn;
char mk=0,mi=0;
qinping();
xs(0xc0,"INPUT ",5);
xs(0xc6,"PASS ",4);
xs(0xcb,"CODE:",4);
mk=0x94;
k=0;
mm=0;
while(k!=12)
{
if(k=key()!=0)
{ k=jzqr();
ary[mi]=k;
xs(mk,"*",0);
mk++;
mi++;
if(mi==5){k=12;}
}
}
mm=ary[0]*10000+ary[1]*1000+ary[2]*100+ary[3]*10+ary[4];
if(mm==MIMA)
return(1);
else
return(0);
}
lmx_min(lmne,i,j)
unsigned char lmne,i,j;
{ ary[2]=lmne%10+0x30;
lmne=lmne/10;
ary[1]=lmne%10+0x30;
lmne=lmne/10;
ary[0]=lmne+0x30;
switch(j)
{ case 1: xs(0x80,"LM: ",4);
break;
case 2: xs(0x80,"LN: ",4);
break;
case 3: xs(0x80,"EIV: ",4);
break;
case 4: xs(0x80,"MAX: ",4);
break;
case 5: xs(0x80,"MIN: ",4);
break;
}
switch(i)
{ case 0: xs(0x8a,"#0:",2);
xs(0x8d,ary,2);
break;
case 1: xs(0xc0,"#1:",2);
xs(0xc3,ary,2);
break;
case 2: xs(0xca,"#2:",2);
xs(0xcd,ary,2);
break;
case 4: xs(0x94,"#4:",2);
xs(0x97,ary,2);
break;
case 5: xs(0x9e,"#5:",2);
xs(0xa1,ary,2);
break;
case 6: xs(0xd4,"#6:",2);
xs(0xd7,ary,2);
break;
case 7: xs(0xde,"#7:",2);
xs(0xe1,ary,2);
break;
}
}
Tu_Run()
{ unsigned char x,i,j;
unsigned char max[8],min[8];/*Don't xdata is */
if (ma())
{ ruflg=1;
j=1;
qinping();
k=0;
for (i=0;i<=7;i++)
{ max[i]=0;
min[i]=255;
}
while (k!=12)
{ for (i=0;i<=7;i++)
if(i!=3)
{ secflg=0;
x=a_d(i);
if (x>max[i])
max[i]=x;
if (x<min[i])
min[i]=x;
switch (j)
{ case 1: lmx_min(lm[i],i,j);
break;
case 2: lmx_min(ln[i],i,j);
break;
case 3: lmx_min(x,i,j);
break;
case 4: lmx_min(max[i],i,j);
break;
case 5: lmx_min(min[i],i,j);
break;
}
}
if (k=key()!=0)
{ k=jzqr();
switch (k)
{ case 11: j++;
if(j>5) j=1;
qinping();
break;
case 15: j--;
if(j<1)j=5;
qinping();
break;
}
}
}
qinping();
xs(0x80,"Reset ",5);
xs(0x86,"Sys",2);
xs(0x89,"tem?",3);
xs(0xc0,"1-Yes",4);
xs(0x94,"0-No",3);
xs(0xc7,"2-Range",6); /*加入了输入范围调整显示*/
xs(0x9b,"3-Feel",5); /*加入互感器选择*/
xs(0xd4,"Sel:",3);
k=0;
while(k!=12)
{
if(k=key()!=0)
{ k=jzqr();
switch(k)
{ case 5: LLJ_RANGE();
k=12;
break;
case 4: PHONE_RANGE();
k=12;
break;
case 3: FEEL_RANGE();
k=12;
break;
case 2: INPUT_RANGE();
k=12;
break;
case 1:xs(0xd8,"1",0);
for(i=0;i<=7;i++)
{ delay(100);
if (i!=3)
{ lm[i]=max[i];
delay(10);
ln[i]=min[i]-min[i]/10;
delay(10);
if (max[i]<230)
lm[i]=max[i]+max[i]/10;
delay(10);
}
}
Res();
k=12;
break;
case 0: for(i=0;i<=6;i++)
delay(200);
k=12;
break;
deflaut: break;
}
}
}
}
qinping();
ruflg=0;
xs(0x85,"--Ok--",5);
}
main()
{ unsigned char kk;
SP=0x89;
sys_init();
pp=&fsl;
pp1=&temp_data_cod_value;
P17=0;
while(1)
{ while (sms_ok) /*SMS上电初始化成功,灯全亮*/
{ PB_8255=0xff;
delay(200);
sms_ok=0;
}
while (sms_change_ok) /*SMS发送数据成功*/
{
PB_8255=0xf0;
delay(200);
PB_8255=0;
delay(200);
PB_8255=0xf0;
delay(200);
sms_change_ok=0;
}
if(kk=key()!=0)
{
kk=jzqr();
switch(kk)
{ case 3: sms_state=1;
PB_8255=0xff;
delay(200);
break;
case 4: readtime();
itvxx(&codma,4);
break;
case 5: readtime();
itvxx(&itv2,5);
break;
case 6: readtime();
itvxx(&itv3,6);
break;
case 7: readtime();
itvxx(&itv4,7);
break;
case 8: readtime();
llx();
break;
case 9: readtime();
wtday();
break;
case 10:readtime();
wtmon();
break;
case 13:Tu_Run();
break;
case 14:Time();
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -