📄 主机.c
字号:
word=256*(qq[i]-0xa0)+qq[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
if(union_variary.word<0)
{
word='-';
dis_word(0x05,15,0xf9);
}
for(z=0;z<4;z++)
{
switch(*(limm+z))
{
case 0:
word='0';
break;
case 1:
word='1';
break;
case 2:
word='2';
break;
case 3:
word='3';
break;
case 4:
word='4';
break;
case 5:
word='5';
break;
case 6:
word='6';
break;
case 7:
word='7';
break;
case 8:
word='8';
break;
case 9:
word='9';
break;
}
switch(z)
{
case 0:
x=0x06;
break;
case 1:
x=0x07;
break;
case 2:
x=0x08;
break;
case 3:
x=0x0a;
xx=word;
word='.';
dis_word(0x09,15,0xf9);
word=xx;
break;
}
dis_word(x,15,0xf9);
}
for(i=0;i<1000;i++)
for(j=0;j<100;j++);
}
overtime=0;
send_byte(0xf4);
P1=0xff;
}
/////////////////////////
read_err()//读误差
{
uchar code w3[]={"超时"};
uchar data z,x,xx,b1,b2;
float y;
uchar code ww1[]={"读零点误差按一"};
uchar code ww2[]={"读满度误差按二"};
uchar code ww3[]={"零点误差为"};
uchar code ww4[]={"满度误差为"};
k=3;
send_byte(0xf4);
for(i=0,j=0;i<13;i=i+2,j++)
{
word=256*(ww1[i]-0xa0)+ww1[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
for(i=0,j=0;i<13;i=i+2,j++)
{
word=256*(ww2[i]-0xa0)+ww2[i+1]-0xa0;
dis_word(j+3,1,0xf0);
}
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
P1=0xff;
while(P1!=0xee&&P1!=0xed)
check_key();
if(P1==0xee)//读零点误差
{
uchar code w1[]={"请输入子机号"};
//uchar code w2[]={"读二号按二"};
send_byte(0xf4);
for(i=0,j=0;i<11;i=i+2,j++)
{
word=256*(w1[i]-0xa0)+w1[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
/* for(i=0,j=0;i<9;i=i+2,j++)
{
word=256*(w2[i]-0xa0)+w2[i+1]-0xa0;
dis_word(j+3,1,0xf0);
}*/
// for(i=0;i<1000;i++) ///////
// for(j=0;j<100;j++); ////////
delay(1000,1000);
P1=0xff;
while(P1!=0xee&&P1!=0xed&&P1!=0xeb&&P1!=0xe7&&P1!=0xde&&P1!=0xdd&&P1!=0xdb&&P1!=0xd7&&P1!=0xbe)
check_key();
b1=P1;
send_byte(0xf4);
switch(b1)
{
/*case 0x7d://0
word='0';
flag1=0;
break;*/
case 0xee://1
word='1';
sendbuf[1]=1;
break;
case 0xed://2
word='2';
sendbuf[1]=2;
break;
case 0xeb://3
word='3';
sendbuf[1]=3;
break;
case 0xe7://4
word='4';
sendbuf[1]=4;
break;
case 0xde://5
word='5';
sendbuf[1]=5;
break;
case 0xdd://6
word='6';
sendbuf[1]=6;
break;
case 0xdb://7
word='7';
sendbuf[1]=7;
break;
case 0xd7://8
word='8';
sendbuf[1]=8;
break;
case 0xbe://9
word='9';
sendbuf[1]=9;
break;
}
sendbuf[2]=9;
sendbuf[8]=sendbuf[1]+sendbuf[2]+sendbuf[3]+sendbuf[4]+sendbuf[5]+sendbuf[6]+sendbuf[7];
send();
j=0;
while((RI==0)&&(j<1000))
{
j++;
}
if(j>=1000)
overtime=1;
else
{
overtime=0;
RI=0;
}
if(overtime==0)
{
for(i=0;i<7;i++)
{
j1=0;
while(RI==0)
{
j1++;
if(j1>1000)
{
break; //超时退出
}
}
RI=0;
if(j1>1000)
{
break; //超时退出
}
buff[i]=SBUF;
}
}
if(j1>1000||overtime==1)
{
send_byte(0xf4);
P1=0xff;
for(i=0,j=0;i<3;i=i+2,j++)
{
word=256*(w3[i]-0xa0)+w3[i+1]-0xa0;
dis_word(j+2,0,0xf0);
}
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
}
if(j1<1000&&overtime==0)
{
send_byte(0xf4);
for(i=0,j=0;i<9;i=i+2,j++)
{
word=256*(ww3[i]-0xa0)+ww3[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
union_variary.byte.hand=buff[1];
union_variary.byte.ten=buff[2];
union_variary.byte.several=buff[3];
union_variary.byte.point=buff[4];
if(union_variary.word<0)
{
y=-union_variary.word;
error[0]=(int)y/100;
error[1]=(int)(y-error[0]*100)/10;
error[2]=(int)(y-error[0]*100-error[1]*10);
error[3]=(int)(y*10-error[0]*1000-error[1]*100-error[2]*10);
}
else
{
error[0]=(int)union_variary.word/100;
error[1]=(int)(union_variary.word-error[0]*100)/10;
error[2]=(int)(union_variary.word-error[0]*100-error[1]*10);
error[3]=(int)(union_variary.word*10-error[0]*1000-error[1]*100-error[2]*10);
}
limm=error;
//word=*(lim+z);
if(union_variary.word<0)
{
word='-';
dis_word(0x05,15,0xf9);
}
for(z=0;z<4;z++) //
{
switch(*(limm+z))
{
case 0:
word='0';
break;
case 1:
word='1';
break;
case 2:
word='2';
break;
case 3:
word='3';
break;
case 4:
word='4';
break;
case 5:
word='5';
break;
case 6:
word='6';
break;
case 7:
word='7';
break;
case 8:
word='8';
break;
case 9:
word='9';
break;
}
switch(z)
{
case 0:
x=0x06;
break;
case 1:
x=0x07;
break;
case 2:
x=0x08;
break;
case 3:
x=0x0a;
xx=word;
word='.';
dis_word(0x09,15,0xf9);
word=xx;
break;
}
dis_word(x,15,0xf9);
}
for(i=0;i<1000;i++)
for(j=0;j<100;j++);
}
}
// }
if(P1==0xed)//读满度误差
{
uchar code w5[]={"请输入子机号"};
//uchar code w6[]={"读二号按二"};
send_byte(0xf4);
for(i=0,j=0;i<11;i=i+2,j++)
{
word=256*(w5[i]-0xa0)+w5[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
/*for(i=0,j=0;i<9;i=i+2,j++)
{
word=256*(w6[i]-0xa0)+w6[i+1]-0xa0;
dis_word(j+3,1,0xf0);
}*/
// for(i=0;i<1000;i++) //
// for(j=0;j<100;j++);
delay(1000,1000);
P1=0xff;
while(P1!=0xee&&P1!=0xed&&P1!=0xeb&&P1!=0xe7&&P1!=0xde&&P1!=0xdd&&P1!=0xdb&&P1!=0xd7&&P1!=0xbe)
check_key();
b1=P1;
send_byte(0xf4);
switch(b1)
{
/*case 0x7d://0
word='0';
flag1=0;
break;*/
case 0xee://1
word='1';
sendbuf[1]=1;
break;
case 0xed://2
word='2';
sendbuf[1]=2;
break;
case 0xeb://3
word='3';
sendbuf[1]=3;
break;
case 0xe7://4
word='4';
sendbuf[1]=4;
break;
case 0xde://5
word='5';
sendbuf[1]=5;
break;
case 0xdd://6
word='6';
sendbuf[1]=6;
break;
case 0xdb://7
word='7';
sendbuf[1]=7;
break;
case 0xd7://8
word='8';
sendbuf[1]=8;
break;
case 0xbe://9
word='9';
sendbuf[1]=9;
break;
}
sendbuf[2]=8;
sendbuf[8]=sendbuf[1]+sendbuf[2]+sendbuf[3]+sendbuf[4]+sendbuf[5]+sendbuf[6]+sendbuf[7];
send();
j=0;
while((RI==0)&&(j<100))
{
j++;
}
if(j>=100)
overtime=1;
else
{
overtime=0;
RI=0;
}
if(overtime==0)
{
for(i=0;i<7;i++)
{
j1=0;
while(RI==0)
{
j1++;
if(j1>1000)
{
break; //超时退出
}
}
RI=0;
if(j1>1000)
{
break; //超时退出
}
buff[i]=SBUF;
}
}
if(j1>1000||overtime==1)
{
send_byte(0xf4);
P1=0xff;
for(i=0,j=0;i<3;i=i+2,j++)
{
word=256*(w3[i]-0xa0)+w3[i+1]-0xa0;
dis_word(j+2,0,0xf0);
}
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
}
if(j1<1000&&overtime==0)
{
send_byte(0xf4);
for(i=0,j=0;i<9;i=i+2,j++)
{
word=256*(ww4[i]-0xa0)+ww4[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
union_variary.byte.hand=buff[1];
union_variary.byte.ten=buff[2];
union_variary.byte.several=buff[3];
union_variary.byte.point=buff[4];
if(union_variary.word<0)
{
y=-union_variary.word;
error[0]=(int)y/100;
error[1]=(int)(y-error[0]*100)/10;
error[2]=(int)(y-error[0]*100-error[1]*10);
error[3]=(int)(y*10-error[0]*1000-error[1]*100-error[2]*10);
}
else
{
error[0]=(int)union_variary.word/100;
error[1]=(int)(union_variary.word-error[0]*100)/10;
error[2]=(int)(union_variary.word-error[0]*100-error[1]*10);
error[3]=(int)(union_variary.word*10-error[0]*1000-error[1]*100-error[2]*10);
}
limm=error;
if(union_variary.word<0)
{
word='-';
dis_word(0x05,15,0xf9);
}
for(z=0;z<4;z++) //
{
switch(*(limm+z))
{
case 0:
word='0';
break;
case 1:
word='1';
break;
case 2:
word='2';
break;
case 3:
word='3';
break;
case 4:
word='4';
break;
case 5:
word='5';
break;
case 6:
word='6';
break;
case 7:
word='7';
break;
case 8:
word='8';
break;
case 9:
word='9';
break;
}
switch(z)
{
case 0:
x=0x06;
break;
case 1:
x=0x07;
break;
case 2:
x=0x08;
break;
case 3:
x=0x0a;
xx=word;
word='.';
dis_word(0x09,15,0xf9);
word=xx;
break;
}
dis_word(x,15,0xf9);
}
for(i=0;i<1000;i++)
for(j=0;j<100;j++);
}
}
overtime=0;
send_byte(0xf4);
P1=0xff;
}
T_check()//温度校准
{
uchar w1[]={"请输入子机号"};
uchar w2[]={"按二校准子机二"};
uchar w4[]={"成功"};
uchar w3[]={"超时"};
uchar w5[]={"请输入校准次序"};
uchar w6[]={"校准请稍等"};
uchar data l=0,z=0,b1=0;
times++;
k=3;
send_byte(0xf4);
for(i=0,j=0;i<11;i=i+2,j++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -