📄 主机.c
字号:
dis_word(j+3,3,0xf0);
}
word='E';
dis_word(0x0f,50,0xf9);
word='n';
dis_word(0x10,50,0xf9);
word='t';
dis_word(0x11,50,0xf9);
word='e';
dis_word(0x12,50,0xf9);
word='r';
dis_word(0x13,50,0xf9);
}
if(k==12)
{
for(i=0,j=0;i<7;i=i+2,j++)
{
word=256*(ww[i]-0xa0)+ww[i+1]-0xa0;
dis_word(j+3,3,0xf0);
}
word='1';
dis_word(0x11,50,0xf9);
word='0';
dis_word(0x12,50,0xf9);
}
if(k==13)
{
for(i=0,j=0;i<13;i=i+2,j++)
{
word=256*(ww1[i]-0xa0)+ww1[i+1]-0xa0;
dis_word(j+3,3,0xf0);
}
}
if(k==14)
{
for(i=0,j=0;i<13;i=i+2,j++)
{
word=256*(ww2[i]-0xa0)+ww2[i+1]-0xa0;
dis_word(j+3,3,0xf0);
}
}
if(k==15)
{
for(i=0,j=0;i<7;i=i+2,j++)
{
word=256*(ww3[i]-0xa0)+ww3[i+1]-0xa0;
dis_word(j+3,3,0xf0);
}
word='1';
dis_word(0x11,50,0xf9);
word='1';
dis_word(0x12,50,0xf9);
}
if(k==16)
{
for(i=0,j=0;i<9;i=i+2,j++)
{
word=256*(ww4[i]-0xa0)+ww4[i+1]-0xa0;
dis_word(j+3,3,0xf0);
}
word='0';
dis_word(0x11,50,0xf9);
}
}
/////////////////////////////////////////////////////////////////////////////////
dis_time()//显示时间
{
uint i,j;
k=3;
dsz1302();
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
send_byte(0xf4);
P1=0xff;
}
///////////////////////////////////////////////////////////////////////////////////
frash()//更新时间,上限,下限,
{
uchar data z=0,b1=0,kk=0,buf[6];
uchar data flag=0;//正负数标志
kk=P1;
k=3;
//延时
delay(200,250);
send_byte(0xf4);
P1=0xff;
while(P1==0xff)
check_key();
if(P1==0x7e)
{
flag=1;//负数
word='-';
dis_word(0x04,2,0xf9);
}
while(z<6)
{
check_key();
delay(400,250);
if(P1!=0xff&&P1!=0x77&&P1!=0x7b&&P1!=0x7e&&P1!=0xb7&&P1!=0xbb&&P1!=0xbd)
{
switch(P1)
{
/* case 0x7e:
word="-";
break; */
case 0x7d://0
word='0';
buf[z]=0;
break;
case 0xee://1
word='1';
buf[z]=1;
break;
case 0xed://2
word='2';
buf[z]=2;
break;
case 0xeb://3
word='3';
buf[z]=3;
break;
case 0xe7://4
word='4';
buf[z]=4;
break;
case 0xde://5
word='5';
buf[z]=5;
break;
case 0xdd://6
word='6';
buf[z]=6;
break;
case 0xdb://7
word='7';
buf[z]=7;
break;
case 0xd7://8
word='8';
buf[z]=8;
break;
case 0xbe://9
word='9';
buf[z]=9;
break;
}
z++;
switch(z)
{
case 1:
dis_word(0x05,2,0xf9);
break;
case 2:
dis_word(0x06,2,0xf9);
break;
case 3:
dis_word(0x07,2,0xf9);
break;
case 4:
dis_word(0x08,2,0xf9);
break;
case 5:
dis_word(0x09,2,0xf9);
break;
case 6:
dis_word(0x0a,2,0xf9);
break;
}
P1=0xff;
}
}
z=0;
while(P1!=0x7b&&P1!=0x77)
check_key();
///////////////////////////////////////////////////////
if(P1==0x77) //回车键
{
P1=0xff;
if(kk==0xeb)//修改时间
{
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+2,0,0xf0);
}
/* for(i=0,j=0;i<15;i=i+2,j++)
{
word=256*(w2[i]-0xa0)+w2[i+1]-0xa0;
dis_word(j+2,1,0xf0);
} */
time[0]=buf[0]*10+buf[1];
time[1]=buf[2]*10+buf[3];
time[2]=buf[4]*10+buf[5];
write_word(7,0,0); //允许写
xsz1302();
write_word(7,0x80,0);//禁止写
sendbuf[2]=12;//写时钟
sendbuf[3]=buf[0]*10+buf[1];
sendbuf[4]=buf[2]*10+buf[3];
sendbuf[5]=buf[4]*10+buf[5];
P1=0xff;
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
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[8]=sendbuf[1]+sendbuf[2]+sendbuf[3]+sendbuf[4]+sendbuf[5]+sendbuf[6]+sendbuf[7];
send();
}
if(kk==0xdb) //设置并送上限7
{
uchar w1[]={"请输入子机号"};
uchar w2[]={"按二送给二号子机"};
union_variary.word=(float)buf[0]*100+(float)buf[1]*10+(float)buf[2]*1+(float)buf[3]/10+(float)buf[4]/100+(float)buff[5]/1000;
if(flag==1)
union_variary.word=-union_variary.word;
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+2,0,0xf0);
}
/* for(i=0,j=0;i<15;i=i+2,j++)
{
word=256*(w2[i]-0xa0)+w2[i+1]-0xa0;
dis_word(j+2,1,0xf0);
} */
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
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]=1;//send uplim
sendbuf[3]=union_variary.byte.hand;
sendbuf[4]=union_variary.byte.ten;
sendbuf[5]=union_variary.byte.several;
sendbuf[6]=union_variary.byte.point;
sendbuf[8]=sendbuf[1]+sendbuf[2]+sendbuf[3]+sendbuf[4]+sendbuf[5]+sendbuf[6]+sendbuf[7];
send();
//send_buf(0 ,0,1,union_variary.byte.hand,union_variary.byte.ten,union_variary.byte.several,union_variary.byte.point,0) ;
}
if(kk==0xd7) //设置并送下限8
{
uchar w1[]={"请输入子机号"};
uchar w2[]={"按二送给二号子机"};
union_variary.word=(float)buf[0]*100+(float)buf[1]*10+(float)buf[2]*1+(float)buf[3]/10+(float)buf[4]/100+(float)buff[5]/1000;
if(flag==1)
union_variary.word=-union_variary.word;
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+2,0,0xf0);
}
/* for(i=0,j=0;i<15;i=i+2,j++)
{
word=256*(w2[i]-0xa0)+w2[i+1]-0xa0;
dis_word(j+2,1,0xf0);
} */
for(i=0;i<1000;i++)
for(j=0;j<10;j++);
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]=2;//send downlim
sendbuf[3]=union_variary.byte.hand;
sendbuf[4]=union_variary.byte.ten;
sendbuf[5]=union_variary.byte.several;
sendbuf[6]=union_variary.byte.point;
sendbuf[8]=sendbuf[1]+sendbuf[2]+sendbuf[3]+sendbuf[4]+sendbuf[5]+sendbuf[6]+sendbuf[7];
send();
}
if(kk==0xbd)//设置误差11
{
union_variary.word=(float)buf[0]*100+(float)buf[1]*10+(float)buf[2]*1+(float)buf[3]/10+(float)buf[4]/100+(float)buff[5]/1000;
if(flag==1)
union_variary.word=-union_variary.word;
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);
}
P1=0xff;
while(P1!=0xee&&P1!=0xed)
check_key();
if(P1==0xee)//按一号键送零点误差
{
uchar code w1[]={"请输入子机号"};
uchar code w2[]={"按二送二号零点"};
sendbuf[2]=7;//零点误差命令
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<13;i=i+2,j++)
{
word=256*(w2[i]-0xa0)+w2[i+1]-0xa0;
dis_word(j+3,1,0xf0);
}*/
P1=0xff;
delay(1000,1000);
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;
}
}
if(P1==0xed) //送满度误差
{
uchar code w3[]={"请输入子机号"};
uchar code w4[]={"按二送二号满度"};
sendbuf[2]=6;//满度误差命令
send_byte(0xf4);
for(i=0,j=0;i<11;i=i+2,j++)
{
word=256*(w3[i]-0xa0)+w3[i+1]-0xa0;
dis_word(j+3,0,0xf0);
}
/*for(i=0,j=0;i<13;i=i+2,j++)
{
word=256*(w4[i]-0xa0)+w4[i+1]-0xa0;
dis_word(j+3,1,0xf0);
}*/
P1=0xff;
//for(i=0;i<1000;i++)
// for(j=0;j<100;j++);
delay(1000,100);
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)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -