📄 main.c
字号:
lcdwrite_chinese(2,17,10,&xiexian);
lcdwrite_chinese(2,27,9,&hanD);
lcdwrite_chinese(2,36,9,&hanO);
lcdwrite_chineseN(2,45,2,&zhuang);
lcdwrite_chineseN(2,71,2,&cha);
//lcdwrite_chineseN(0,4,4,&tongxun);
lcdwrite_chineseN(0,4,6,&baohu);
break;
case 3:
//lcdwrite_chineseN(2,4,4,&baohu);
if(union_state.state_buf[11]==protect)//保护模式
{
lcdwrite_chineseN(2,4,2,&xi);//系统
lcdwrite_chineseN(2,30,4,&can);//参数
}
else
{
lcdwrite_chineseN(2,4,2,&qidong);//起动参数
lcdwrite_chineseN(2,30,4,&can);//参数
lcdwrite_chineseN(0,4,2,&xi);//系统
lcdwrite_chineseN(0,30,4,&can);//参数
}
break;
// case 4:
// lcdwrite_chineseN(2,4,2,&xi);
// lcdwrite_chineseN(2,30,4,&can);
// break;
}
}
break;
case upkey:
if(arrow_state1==0)
break;
else
{
arrow_state1--;
if(arrow_state1%2==1)
{
lcd_partclr(1,155,0);
lcdwrite_arrow(3,155,0);
break;
}
else
break;
}
case downkey:
if(union_state.state_buf[11]==protect)//保护模式
{
if(SuperUser==1)
{
if(arrow_state1==8)
break;
}
else if(arrow_state1==6)
break;
}
else
{
if(SuperUser==1)
{
if(arrow_state1==9)
break;
}
else if(arrow_state1==7)
break;
}
arrow_state1++;
if(arrow_state1%2==1)
{
lcd_partclr(3,155,0);
lcdwrite_arrow(1,155,0);
break;
}
else
break;
case enterkey:
if(SuperUser==1)
{
switch(arrow_state1)
{
case 0:
dis_number=39;
arrow_state2=0;
break;
case 1:
dis_number=34;
UserCheck=1;
arrow_state2=0;
break;
case 2:
arrow_state2=0;
dis_number=110; //报警查询
break;
case 3:
arrow_state2=8;
dis_number=185; //故障记录
break;
case 4:
arrow_state2=0;
dis_number=186; //操作记录
break;
case 5:
dis_number=173;
arrow_state2=0;
//DI/DO状态查询
break;
// case 6:
// arrow_state2=0;
// break;
case 6:
dis_number=90;
arrow_state2=0;
break;
case 7:
if(union_state.state_buf[11]==protect)//保护模式
{
dis_number=176;//系统参数
}
else
{
dis_number=14;//起动参数
}
arrow_state2=0;
break;
case 8:
if(union_state.state_buf[11]==protect)//保护模式
{
dis_number=170;//输入输出
}
else
{
dis_number=176;
}
arrow_state2=0;
break;
case 9:
dis_number=170;
arrow_state2=0;
break;
}
}
else
{
switch(arrow_state1)
{
case 0: dis_number=34;
UserCheck=1;
arrow_state2=0;
break;
case 1: arrow_state2=0;
dis_number=110; //报警查询
break;
case 2: arrow_state2=8;
dis_number=185; //故障记录
break;
case 3: arrow_state2=0;
dis_number=186; //操作记录
break;
case 4: dis_number=173;
arrow_state2=0;
//DI/DO状态查询
break;
// case 5: arrow_state2=0;
// break;
case 5: dis_number=90;
arrow_state2=0;
break;
case 6:
if(union_state.state_buf[11]==protect)//保护模式
{
dis_number=176;//系统参数
}
else
{
dis_number=14;//起动参数
}
arrow_state2=0;
break;
case 7: dis_number=176;
arrow_state2=0;
break;
}
}
break;
case esckey:
if(StartType==7)
{
dis_number=34;
arrow_state2=0;
}
else
{
dis_number=0;
OperateStateCheck(); //------起动准备好界面
}
break;
}
}
void menu_measure()
{
data union pre_type
{
unsigned int pre_type[1];
unsigned long int pre_type_val;
}pre_deal;
switch(key)
{
case nokey:
GetData();
clr_fullscreen();
switch(arrow_state2)
{
case 0:
data_switch_display(union_vlaue.revalue_buf_int[0],1,2,72,6);
data_switch_display(union_vlaue.revalue_buf_int[1],1,3,72,6);
data_switch_display(union_vlaue.revalue_buf_int[2],1,0,72,6);
data_switch_display(union_vlaue.revalue_buf_int[3],1,1,72,6);
lcdwrite(2,4,12,&charIa);
lcdwrite(2,80,24,&charbfhIr1);
lcdwrite(3,4,12,&charIb);
lcdwrite(3,80,24,&charbfhIr1);
lcdwrite(0,4,12,&charIc);
lcdwrite(0,80,24,&charbfhIr1);
old_dis_number=dis_number;
dis_number=51;
GetData();
dis_number=old_dis_number;
if(union_vlaue.revalue_buf_int[0]==0)
{lcdwrite(1,80,24,&charbfhIr1);lcdwrite(1,4,12,&charIg); }
else
{
lcdwrite(1,80,6,&charbfhIr1); //%
lcdwrite(1,86,24,&charIdnm); //Idnm
lcdwrite(1,4,12,&charIdnm); //I
}
break;
case 1:
data_switch_display(union_vlaue.revalue_buf_int[0],0,0,40,6);
data_switch_display(union_vlaue.revalue_buf_int[1],0,0,101,6);
data_switch_display(union_vlaue.revalue_buf_int[2],0,1,40,6);
lcdwrite_chinese(2,4,13,&dian);
lcdwrite_chinese(2,17,13,&liu);
lcdwrite_chineseN(2,30,4,&buping);
lcdwrite(0,4,6,&ascA);
lcdwrite(0,50,6,&bfh);
lcdwrite(0,65,6,&ascB);
lcdwrite(0,111,6,&bfh);
lcdwrite(1,4,6,&ascC);
lcdwrite(1,50,6,&bfh);
break;
case 2:
data_switch_display(union_vlaue.revalue_buf_int[0],1,3,99,6);
data_switch_display(union_vlaue.revalue_buf_int[1],0,1,99,6);
lcdwrite_chinese(2,4,13,&yijing_yi);
lcdwrite_chinese(2,17,13,&yong);
lcdwrite_chineseN(2,30,2,&reliang_re);
lcdwrite_chinese(2,56,13,&liang);
lcdwrite(3,105,6,&bfh);
lcdwrite_chinese(0,4,13,&reliang_re);
lcdwrite_chinese(0,17,13,&dian);
lcdwrite_chinese(0,30,13,&zu);
lcdwrite(1,105,9,&om);
break;
case 3:
data_switch_display(union_vlaue.revalue_buf_int[0],0,2,45,6);
lcdwrite(2,51,6,&ascV);
data_switch_display(union_vlaue.revalue_buf_int[1],0,2,104,6);
lcdwrite(2,110,6,&ascV);
data_switch_display(union_vlaue.revalue_buf_int[2],0,3,45,6);
lcdwrite(3,51,6,&ascV);
data_switch_display(union_vlaue.revalue_buf_int[3],2,3,102,6);
pre_deal.pre_type[0]= union_vlaue.revalue_buf_int[5];
pre_deal.pre_type[1]= union_vlaue.revalue_buf_int[4];
if(pre_deal.pre_type_val<=65535)
{
data_switch_display(union_vlaue.revalue_buf_int[4],0,0,50,6);
lcdwrite(0,56,6,&ascW);
}
else
{
pre_deal.pre_type_val/=100;
union_vlaue.revalue_buf_int[4]= pre_deal.pre_type[1];
data_switch_display(union_vlaue.revalue_buf_int[4],1,0,50,6);
lcdwrite(0,56,12,&charKW);
}
pre_deal.pre_type[0]= union_vlaue.revalue_buf_int[7];
pre_deal.pre_type[1]= union_vlaue.revalue_buf_int[6];
if(pre_deal.pre_type_val<=65535)
{
data_switch_display(union_vlaue.revalue_buf_int[6],0,1,50,6);
lcdwrite(1,56,18,&charkWh);
}
if(pre_deal.pre_type_val>65535&&pre_deal.pre_type_val<=65535000)
{
pre_deal.pre_type_val/=1000;
union_vlaue.revalue_buf_int[6]= pre_deal.pre_type[1];
data_switch_display(union_vlaue.revalue_buf_int[6],0,1,50,6);
lcdwrite(1,56,18,&charMWh);
}
data_switch_display(union_vlaue.revalue_buf_int[8],2,0,112,6);
lcdwrite(2,1,18,&charUab);
lcdwrite(2,62,18,&charUbc);
lcdwrite(3,1,18,&charUca);
lcdwrite(3,62,6,&asciif);
lcdwrite(3,108,12,&charHz); //-----f: Hz
lcdwrite(0,1,6,&ascP);
lcdwrite(1,1,6,&ascE);
lcdwrite(0,78,12,&charPF);
break;
}
break;
case upkey:
if(arrow_state2==0)
break;
else
{
arrow_state2--;
dis_number--;
break;
}
case downkey:
if((run_state&0x800)!=0)
{
if(arrow_state2==3)
break;
}
else if(arrow_state2==2)
{break;}
arrow_state2++;
dis_number++;
break;
case enterkey:
if(((StartType==7)||(StartType==8))&&(UserCheck==0))
{ //作为缺省界面
arrow_state1=0;
dis_number=33;
}
break;
case esckey:
if(UserCheck==1)
{ //由用户进入标志
dis_number=33;
UserCheck=0;
}
break;
case delkey:
if(arrow_state2==3)
{
set_addh=0x00;
set_addl=0x13;
set_valueh=0;
set_valuel=0;
WriteData();
set_addl++;
WriteData();
}
break;
}
//箭头
if(arrow_state2!=0)lcdwrite(2,116,6,&up_arrow); //上箭头
if((arrow_state2<=1)||((arrow_state2==2)&&((run_state&0x800)!=0)))
lcdwrite(1,116,6,&down_arrow); //下箭头
}
void menu_adjust(void)
{
switch (key)
{
case nokey:
GetData();
clr_fullscreen();
menu_adjust_display();
break;
case upkey:
if(edit_state==1)
{
if(pre_set>=setmax)
{
pre_set=setmax;
return;
}
if(upcount<10)
pre_set=pre_set+1;
else if(upcount<20)
{
if(pre_set>setmax-10)
pre_set=setmax ;
else
pre_set=pre_set+10;
}
else if(upcount<30)
{
if(pre_set>setmax-100)
pre_set=setmax;
else
pre_set=pre_set+100;
}
else
{
if(pre_set>setmax-1000)
pre_set=setmax-1000;
else
pre_set=pre_set+1000;
}
}
else
{
switch (arrow_state2)
{
case 4:
dis_number=39;
break;
case 8:
dis_number=41;
break;
case 12:
dis_number=43;
break;
case 16:
dis_number=46;
break;
case 19:
dis_number=49;
break;
case 21:
dis_number=51;
break;
case 22:
dis_number=52;
/*------------------------------debug-----------*/
break;
case 23:
dis_number=53;
/*------------------------------debug-----------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -