📄 caiji.c.bak
字号:
print(title_6,2,1);
print(title_7,4,1);
print(title_8,6,1);
ldelay(2000);
switch (keyvalue)
{
case 5:
write_e2(modu_2,cha_2,2,5);
// goto SET_CHANEL_PARAM_6;
break;
case 6:
write_e2(modu_2,cha_2,2,6);
// goto SET_CHANEL_PARAM_6;
break;
case 7:
write_e2(modu_2,cha_2,2,7);
// goto SET_CHANEL_PARAM_6;
break;
case 8:
write_e2(modu_2,cha_2,2,8);
// goto SET_CHANEL_PARAM_6;
break;
case UP:
goto SET_CHANEL_PARAM_5;
default:
break;
}
}//与down,switch相对
default:
break;
}
}
void write_scale(unsigned char modu_3,unsigned char cha_3)
{
unsigned char code input_scale[]="请输入量程";
char code ecor[]="输入不正确!";
char code success[]="设置成功";
unsigned char data i=0,j,k=modu_3,l=cha_3,p;
keybuff[8]=0;
clear();
print(input_scale,2,1);/* xi tong she ding */
writebig(':',5,24);
keybuff[0]='=';
keybuff[1]=';';
do
{
ldelay(5);
if((keyvalue<10)&&(keyvalue!=ESC))
{
keybuff[i]=keyvalue;
if(i<3)
i++;
writebig(keyvalue,5,32+8*i);
keybuff[3]=0;
}
else if(keyvalue==ENTER)
{
j=keybuff[0]*100+keybuff[1]*10+keybuff[2];
chanel_str[k][l].scale=j*10;
again_write_scale:
write_24c021(k*32+l*4+2+0x10,j);
p=read_24c021(k*32+l*4+2+0x10);
if(p!=j)
{
p=0;
goto again_write_scale;
}
clear();
print(success,3,2);
ldelay(150);
}
}while(keyvalue!=ESC);
}
void write_mode(unsigned char modu_4,unsigned char cha_4)
{
unsigned char code mode_1[]="2:4-20";
unsigned char code mode_2[]="1:0-10";
unsigned char code mode_3[]="3:温度";
keybuff[8]=0;
clear();
print(mode_2,0,1);/* xi tong she ding */
print(mode_1,2,1);
print(mode_3,4,1);
ldelay(2000);
switch (keyvalue)
{
case 1:
write_e2(modu_4,cha_4,4,1);
//goto SET_CHANEL_PARAM_2;
break;
case 2:
write_e2(modu_4,cha_4,4,2);
//goto SET_CHANEL_PARAM_2;
break;
case 3:
write_e2(modu_4,cha_4,4,3);
break;
default:
break;
}
}
void write_e2(unsigned char modue1,unsigned char chane1,unsigned char kind,unsigned char position)
{
unsigned char i=kind,k,j;
char code success[]="设置成功";
unsigned char code input_chanel_name[]="名称";
unsigned char code input_chanel_title[]="标题";
unsigned char code input_chanel_scale[]="量程";
unsigned char code input_chanel_mode[]="模式";
switch (i)
{
case 1: //name
chanel_str[modue1][chane1].name=position;
again_write_name:
write_24c021(modue1*32+chane1*4+0x10,position);
k=read_24c021(modue1*32+chane1*4+0x10);
if(k!=position)
{
k=0;
goto again_write_name;
}
clear();
print(input_chanel_name,2,10);
print(success,4,2);
ldelay(150);
keyvalue=ESC;
break;
case 2:
chanel_str[modue1][chane1].title=position;
again_write_title:
write_24c021(modue1*32+chane1*4+1+0x10,position);
k=read_24c021(modue1*32+chane1*4+1+0x10);
if(k!=position)
{
k=0;
goto again_write_title;
}
clear();
print(input_chanel_title,2,10);
print(success,4,2);
ldelay(150);
keyvalue=ESC;
break;
case 4:
chanel_str[modue1][chane1].mode=position;
again_write_mode:
write_24c021(modue1*32+chane1*4+3+0x10,position);
k=read_24c021(modue1*32+chane1*4+3+0x10);
if(k!=position)
{
k=0;
goto again_write_mode;
}
clear();
print(input_chanel_mode,2,10);
print(success,4,2);
ldelay(150);
keyvalue=ESC;
break;
}
}
//*********************************------------------------------//
/*按键显示函数*/
void display_void()
{
uchar code need_param[]="1:参数";
uchar code need_data[]="2:数据";
clear();
print(need_param,0,1);/* xi tong she ding */
print(need_data,2,1);
ldelay(2000);
switch (keyvalue)
{
case 1:
display_param();
break;
case 2:
display_value();
break;
default:
break;
}
}
void display_param() //显示参数
{
uchar code check_address[]="1.地址";
uchar code check_moduel[]="2.模块数";
uchar code check_chanel[]="3.所用通道数";
uchar code check_chanel_param[]="4.通道参数";
uchar data addr;
uchar i,j;
DISPLAY_BEGIN:
clear();
print(check_address,0,1);
writebig(':',0,56);
addr=device_address;
ddatatobcd(addr);
putstring(0);
print(check_moduel,2,1); //moduel_number
addr=moduel_number;
ddatatobcd(addr);
putstring(2);
print(check_chanel,4,1);
print(check_chanel_param,6,1);
ldelay(3000);
switch (keyvalue)
{
case 3:
check_chanel_number();
goto DISPLAY_BEGIN;
case 4:
check_chanel_param_void();
goto DISPLAY_BEGIN;
default:
break;
}
if(watch_send_flag)
{
keyvalue=0;
}
}
void check_chanel_number()
{
unsigned char addr;
clear();
print(input_moduel_number1,0,1);
addr=moduel[0].use_chanel;
ddatatobcd(addr);
putstring(0);
print(input_moduel_number2,2,1);
addr=moduel[1].use_chanel;
ddatatobcd(addr);
putstring(2);
print(input_moduel_number3,4,1);
addr=moduel[2].use_chanel;
ddatatobcd(addr);
putstring(4);
print(input_moduel_number4,6,1);
writebig('>',6,110);
addr=moduel[3].use_chanel;
ddatatobcd(addr);
putstring(6);
ldelay(3000);
switch(keyvalue)
{
case DOWN:
clear();
print(input_moduel_number5,0,1);
addr=moduel[0].use_chanel;
ddatatobcd(addr);
putstring(0);
print(input_moduel_number6,2,1);
addr=moduel[1].use_chanel;
ddatatobcd(addr);
putstring(2);
ldelay(1000);
default:
break;
}
}
void check_chanel_param_void()
{
BACK_2:
clear();
print(input_moduel_number1,0,1);
print(input_moduel_number2,2,1);
print(input_moduel_number3,4,1);
print(input_moduel_number4,6,1);
ldelay(3000);
switch (keyvalue)
{
case 1:
check_chanel_display(0);
goto BACK_2;
case 2:
check_chanel_display(1);
goto BACK_2;
case 3:
check_chanel_display(2);
goto BACK_2;
case 4:
check_chanel_display(3);
goto BACK_2;
case 5:
check_chanel_display(4);
goto BACK_2;
case 6:
check_chanel_display(5);
goto BACK_2;
default:
break;
}
}
void check_chanel_display(uchar ccd)
{
BACK_1:
clear();
print(input_chanel_number1,0,1);/* xi tong she ding */
print(input_chanel_number2,2,1);
print(input_chanel_number3,4,1);
print(input_chanel_number4,6,1);
ldelay(3000);
switch (keyvalue)
{
case 1:
check_chanel_now(ccd,0);
goto BACK_1;
case 2:
check_chanel_now(ccd,1);
goto BACK_1;
case 3:
check_chanel_now(ccd,2);
goto BACK_1;
case 4:
check_chanel_now(ccd,3);
goto BACK_1;
case 5:
check_chanel_now(ccd,4);
goto BACK_1;
case 6:
check_chanel_now(ccd,5);
goto BACK_1;
case 7:
check_chanel_now(ccd,6);
goto BACK_1;
case 8:
check_chanel_now(ccd,7);
goto BACK_1;
default:
break;
}
}
void check_chanel_now(uchar p,uchar b)
{
uchar code modu_name[]="模块";
uchar code chan_name[]="通道";
unsigned char addr;
clear();
print(modu_name,0,1);
writebig(':',0,36);
addr=p+1;
ddatatobcd(addr);
putstring(0);
print(chan_name,2,1);
writebig(':',2,36);
addr=b+1;
ddatatobcd(addr);
putstring(2);
moduel_display_step=p;
chanel_display_step=b;
init_display();
display_var(display_title,4,65);
display_var(display_name,4,1);
display_var(display_mode,6,1);
addr=chanel_str[p][b].scale/10;
ddatatobcd(addr);
putstring(6);
ldelay(200);
}
void display_value() //按键循环显示
{
uchar data group,zl;
moduel_display_step=0;
chanel_display_step=0;
nb_display_step=1;
do{
CHECK_BEGIN:
clear();
init_display();
display_var(display_title,0,64);
display_var(display_name,0,32);
display_var(display_unit,2,80);
ddatatobcd(nb_display_step);
putstring_left(0);
if(display_unit=="MPa")
{
dt2=chanel_str[moduel_display_step][chanel_display_step].display_data/10;
dt1=(uint)(dt2);
}
else
{
if((chanel_str[moduel_display_step][chanel_display_step].display_data)==0.0)
dt1=0;
else
{
dt2=chanel_str[moduel_display_step][chanel_display_step].display_data*10;
dt1=(uint)(dt2);
}
}
dwordtobcd2(dt1);
putstring5(2);
chanel_display_step++;
nb_display_step++;
if(chanel_display_step==chanel_number[moduel_display_step])
{
moduel_display_step++;
if(moduel_display_step==moduel_number)
{
moduel_display_step=0;
nb_display_step=1;
}
chanel_display_step=0;
}
init_display();
display_var(display_title,4,64);
display_var(display_name,4,32);
display_var(display_unit,6,80);
ddatatobcd(nb_display_step);
putstring_left(4);
if(display_unit=="MPa")
{
dt2=chanel_str[moduel_display_step][chanel_display_step].display_data/10;
dt1=(uint)(dt2);
}
else
{
if((chanel_str[moduel_display_step][chanel_display_step].display_data)==0.0)
dt1=0;
else
{
dt2=chanel_str[moduel_display_step][chanel_display_step].display_data*10;
dt1=(uint)(dt2);
}
}
dwordtobcd2(dt1);
putstring5(6);
writebig('>',6,110);
chanel_display_step++;
nb_display_step++;
if(chanel_display_step==chanel_number[moduel_display_step])
{
moduel_display_step++;
if(moduel_display_step==moduel_number)
{
moduel_display_step=0;
nb_display_step=1;
}
chanel_display_step=0;
}
ldelay(3000);
switch(keyvalue)
{
case DOWN:
goto CHECK_BEGIN;
break;
default:
break;
}
if(watch_send_flag)
keyvalue=ESC;
}while(keyvalue!=ESC);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -