📄 play.#2
字号:
else
{
LCDDAT(temp[i][1]+0x30);
}
temp[i][0]=GY[GYNUM].power[i]%10;
LCDDAT(temp[i][0]+0x30);
}
LCDGBOC(1);//光标显示
while(1)
{
for(i=0;i<20;i++)
{
newlly: ZERO=0;
while(KEY != 0xFF){}
if(i<10)
{
LCDXY(5,4+i);//光标到(5,4+i)
}
else
{
LCDXY(24,i-6);//光标到(24,i-6)
}
for(j=10;j<11;j--)
{
loop:
switch(j)
{
case 10:{LCDFCOLOR(4);break;}//设置前景色为红色
case 6:{LCDFCOLOR(1);break;}//设置前景色为兰色
case 2:{LCDFCOLOR(6);break;}//设置前景色为黄色
default:{break;}
}
if(j!=8)
{
while((KEY <'0' || KEY >'9') && (KEY != 'S') && (KEY != 'C') && (KEY != 'R') && (KEY != 'L') && (KEY != 'U') && (KEY != 'D')){}
key=KEY;
switch(key)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
temp[i][j]=(key-0x30);
if((j>=4 && j<=6) || (j>=1 && j<=2))
{
if(j==2)
{
ZERO=0;
}
if(ZERO==0 && temp[i][j]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(key);
}
}
else
{
LCDDAT(key);
}
break;
}
case 'R':
{
if(temp[i][j] != 0)
{
if(j==6 || j==2)
{
ZERO=1;
}
}
else
{
if(j==6 || j==2)
{
ZERO=0;
}
}
LCDRSFT(1);
break;
}
case 'L':{goto newlly;break;}
case 'U':
{
if(i>0)
{
i--;
}
goto newlly;
break;
}
case 'D':
{
if(i<19)
{
i++;
}
goto newlly;
break;
}
case 'S':{goto ack;break;}
case 'C':{goto cancel;break;}
default: {goto loop;break;}
}
}
else
{
while((KEY <'0' || KEY >'5') && (KEY != 'S') && (KEY != 'C') && (KEY != 'R') && (KEY != 'L') && (KEY != 'U') && (KEY != 'D')){}
key=KEY;
switch(key)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':{LCDDAT(key);temp[i][j]=(key-0x30);break;}
case 'R':{LCDRSFT(1);break;}
case 'L':{goto newlly;break;}
case 'U':
{
if(i>0)
{
i--;
}
goto newlly;
break;
}
case 'D':
{
if(i<19)
{
i++;
}
goto newlly;
break;
}
case 'S':{goto ack;break;}
case 'C':{goto cancel;break;}
default: {goto loop;break;}
}
}
switch(j)
{
case 9:
case 7:
case 3:{LCDRSFT(1);break;}//右移一个字符
default:{break;}
}
while(KEY != 0xFF){}
}
}
}
ack:
while(KEY != 0xFF){}
for(i=0,k=0;i<20;i++)
{
GY[0].time[i]=temp[i][10]*600+temp[i][9]*60+temp[i][8]*10+temp[i][7];
if(i!=0 && GY[0].time[i] == 0)
{
k=i;
break;
}
GY[0].temperature[i]=temp[i][6]*1000+temp[i][5]*100+temp[i][4]*10+temp[i][3];
GY[0].power[i]=temp[i][2]*100+temp[i][1]*10+temp[i][0];
}
for(i=0,j=0;i<k;i++)
{
if((GY[0].temperature[i] > TEMPRATURE_hi) || (GY[0].temperature[i] < TEMPRATURE_lo) ||
(GY[0].power[i] > POWER_hi) || (GY[0].power[i] < POWER_lo))
{j++;}
}
if((j!=0) || (GY[0].time[0]!=0))
{
LCDGBOC(0);//光标关闭
goto again;
}
for(i=0;i<k;i++)
{
GY[GYNUM].time[i]=GY[0].time[i];
GY[GYNUM].temperature[i]=GY[0].temperature[i];
GY[GYNUM].power[i]=GY[0].power[i];
}
for(i=k;i<20;i++)
{
GY[GYNUM].power[i]=0;
GY[GYNUM].time[i]=0;
GY[GYNUM].temperature[i]=0;
}
LCDSHOW(PARAUPLOAD);
while(KEY != 'S' && KEY != 'C'){}
key=KEY;
while(KEY != 0xFF){}
if(key=='S')
{
LCDSHOW(LOADINPARA);
address=(GYNUM-1)*100;
for(i=0;i<20;i++)
{
addr=address+i*5;
loop1:
start();
transmitbyte(0xA0);
if(cack())
{
goto loop1;
}
transmitbyte(addr/256);
if(cack())
{
goto loop1;
}
transmitbyte(addr%256);
if(cack())
{
goto loop1;
}
transmitbyte(GY[GYNUM].power[i]);
if(cack())
{
goto loop1;
}
stop();
loop2:
start();
transmitbyte(0xA0);
if(cack())
{
goto loop2;
}
transmitbyte((addr+1)/256);
if(cack())
{
goto loop2;
}
transmitbyte((addr+1)%256);
if(cack())
{
goto loop2;
}
transmitbyte(GY[GYNUM].time[i]/256);
if(cack())
{
goto loop2;
}
stop();
loop3:
start();
transmitbyte(0xA0);
if(cack())
{
goto loop3;
}
transmitbyte((addr+2)/256);
if(cack())
{
goto loop3;
}
transmitbyte((addr+2)%256);
if(cack())
{
goto loop3;
}
transmitbyte(GY[GYNUM].time[i]%256);
if(cack())
{
goto loop3;
}
stop();
loop4:
start();
transmitbyte(0xA0);
if(cack())
{
goto loop4;
}
transmitbyte((addr+3)/256);
if(cack())
{
goto loop4;
}
transmitbyte((addr+3)%256);
if(cack())
{
goto loop4;
}
transmitbyte(GY[GYNUM].temperature[i]/256);
if(cack())
{
goto loop4;
}
stop();
loop5:
start();
transmitbyte(0xA0);
if(cack())
{
goto loop5;
}
transmitbyte((addr+4)/256);
if(cack())
{
goto loop5;
}
transmitbyte((addr+4)%256);
if(cack())
{
goto loop5;
}
transmitbyte(GY[GYNUM].temperature[i]%256);
if(cack())
{
goto loop5;
}
stop();
}
}
cancel:
LCDSHOW(MENUSELECT);//菜单选择画面
}
//***********************
void setsenpara()//设置传感器参数
{
uchar i,j;
bit ZERO=0;
uchar key;
uint tempratureh;
uint tempraturel;
uint powerh;
uint powerl;
uchar tempdat[2][4];
uchar powerdat[2][3];
LCDSHOW(SENPARASET);
LCDASIIC();//西文方式
LCDGBCOLOR(7,0);//光标前景色为白色光标背景色为黑色
LCDOVERLAP(1);//覆盖方式
again:
ZERO=0;
LCDFCOLOR(4);//设置前景色为红色
LCDXY(23,7);//光标到(23,7)
tempdat[0][3]=TEMPRATURE_lo/1000;
if(ZERO==0 && tempdat[0][3]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(tempdat[0][3]+0x30);
}
tempdat[0][2]=TEMPRATURE_lo/100%10;
if(ZERO==0 && tempdat[0][2]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(tempdat[0][2]+0x30);
}
tempdat[0][1]=TEMPRATURE_lo%100/10;
if(ZERO==0 && tempdat[0][1]==0)
{
LCDDAT(' ');
}
else
{
LCDDAT(tempdat[0][1]+0x30);
}
tempdat[0][0]=TEMPRATURE_lo%10;
LCDDAT(tempdat[0][0]+0x30);
ZERO=0;
LCDXY(31,7);//光标到(31,7)
tempdat[1][3]=TEMPRATURE_hi/1000;
if(ZERO==0 && tempdat[1][3]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(tempdat[1][3]+0x30);
}
tempdat[1][2]=TEMPRATURE_hi/100%10;
if(ZERO==0 && tempdat[1][2]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(tempdat[1][2]+0x30);
}
tempdat[1][1]=TEMPRATURE_hi%100/10;
if(ZERO==0 && tempdat[1][1]==0)
{
LCDDAT(' ');
}
else
{
LCDDAT(tempdat[1][1]+0x30);
}
tempdat[1][0]=TEMPRATURE_hi%10;
LCDDAT(tempdat[1][0]+0x30);
ZERO=0;
LCDFCOLOR(7);//设置前景色为白色
LCDXY(24,10);//光标到(24,10)
powerdat[0][2]=POWER_lo/100;
if(ZERO==0 && powerdat[0][2]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(powerdat[0][2]+0x30);
}
powerdat[0][1]=POWER_lo/10%10;
if(ZERO==0 && powerdat[0][1]==0)
{
LCDDAT(' ');
}
else
{
LCDDAT(powerdat[0][1]+0x30);
}
powerdat[0][0]=POWER_lo%10;
LCDDAT(powerdat[0][0]+0x30);
ZERO=0;
LCDXY(32,10);//光标到(32,10)
powerdat[1][2]=POWER_hi/100;
if(ZERO==0 && powerdat[1][2]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(powerdat[1][2]+0x30);
}
powerdat[1][1]=POWER_hi/10%10;
if(ZERO==0 && powerdat[1][1]==0)
{
LCDDAT(' ');
}
else
{
LCDDAT(powerdat[1][1]+0x30);
}
powerdat[1][0]=POWER_hi%10;
LCDDAT(powerdat[1][0]+0x30);
LCDGBOC(1);//光标显示
//数据输入
while(1)
{
for(i=0;i<2;i++)
{
newlly1: ZERO=0;
while(KEY != 0xFF){}
LCDFCOLOR(4);//设置前景色为红色
LCDXY(23+i*8,7);
for(j=3;j<4;j--)
{
loop1:
while((KEY <'0' || KEY >'9') && (KEY != 'S') && (KEY != 'C') && (KEY != 'R') && (KEY != 'L') && (KEY != 'U') && (KEY != 'D')){}
key=KEY;
switch(key)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
tempdat[i][j]=(key-0x30);
if(j>=1)
{
if(ZERO==0 && tempdat[i][j]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(key);
}
}
else
{
LCDDAT(key);
}
break;
}
case 'R':
{
if(tempdat[i][j] != 0)
{
ZERO=1;
}
LCDRSFT(1);
break;
}
case 'L':{goto newlly1;break;}
case 'U':
{
if(i>0)
{
i--;
}
goto newlly1;
break;
}
case 'D':
{
if(i>0)
{
i=0;
goto newlly2;
}
else
{
i++;
goto newlly1;
}
break;
}
case 'S':{goto ack;break;}
case 'C':{goto cancel;break;}
default: {goto loop1;break;}
}
while(KEY != 0xFF){}
}
}
//
for(i=0;i<2;i++)
{
newlly2: ZERO=0;
while(KEY != 0xFF){}
LCDFCOLOR(7);//设置前景色为白色
LCDXY(24+i*8,10);
for(j=2;j<3;j--)
{
loop2:
while((KEY <'0' || KEY >'9') && (KEY != 'S') && (KEY != 'C') && (KEY != 'R') && (KEY != 'L') && (KEY != 'U') && (KEY != 'D')){}
key=KEY;
switch(key)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
powerdat[i][j]=(key-0x30);
if(j>=1)
{
if(ZERO==0 && powerdat[i][j]==0)
{
LCDDAT(' ');
}
else
{
ZERO=1;
LCDDAT(key);
}
}
else
{
LCDDAT(key);
}
break;
}
case 'R':
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -