📄 control.c
字号:
default :break;
}
if(key) //处理按键
{
switch(key)
{
case up_key:
if(upcount==0)
{
set_data.int_data++;
if(set_data.int_data>2) set_data.int_data=0; //上限控制
}
break;
case down_key:
if(downcount==0)
{
if(set_data.int_data==0) set_data.int_data=3; //下限控制
set_data.int_data--;
}
break;
case ok_key:
set_addh=0x00; //组织发送数据
set_addl=0x62;
set_valueh=set_data.char_data[0];
set_valuel=set_data.char_data[1];
remote_type.set=1;
set_bit=0; //至察看状态标志,进入察看状态
show_bit=1; //重至第一次刷新标志
break;
case esc_key:
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
break;
}
}
}
}
//端子属性设定
void portrorl_setting(/*15*/)
{
if(set_bit==0)
{
if(remote_sign.furbish==0)
{
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
switch(union_vlaue.revalue_buf[1])
{
case 0x00:
lcdwrite_chinese(0,48,13,&beng[0]); //显示本地
lcdwrite_chinese(0,62,13,&dadi_di[0]);
break;
case 0x01:
lcdwrite_chinese(0,48,13,&yuanjin_yuan[0]); //显示远程
lcdwrite_chinese(0,62,13,&cheng[0]);
break;
default :break;
}
if(show_bit) //判断是否是第一次显示
{//第一次显示
clr_fullscreen();//清屏
lcdwrite_chinese(2,4,13,&kong[0]); //显示端子属性
lcdwrite_chinese(2,17,13,&kongzhi_zhi[0]);
lcdwrite_chinese(2,30,13,&quan[0]);
lcdwrite_chinese(2,43,13,&shixian_xian[0]);
lcdwrite_arrow(0,115,set_bit); //显示箭头
show_bit=0;
}
}
if(key) //处理按键
{
switch(key)
{
case up_key: //至上一界面号
if(upcount==0)
{
dis_number=14; //返回操作权限设定界面
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case down_key: //至下一界面号
if(downcount==0)
{
if(union_state.state_buf[11]==two_power)
{
dis_number=19;//双电源操作方式界面
}
else
{
dis_number=12;//电机方式启动时间界面
}
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case ok_key:
set_bit=1; //至设定状态标志,进入设定状态
show_bit=1; //重至第一次刷新标志
set_data.char_data[1]=union_vlaue.revalue_buf[1];//初始化设定暂存器
set_data.char_data[0]=0;
break;
case esc_key:
dis_number=33; //至返回界面号
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=0;
break;
}
}
}
else //设定界面显示
{
lcdwrite_arrow(0,115,set_bit); //显示箭头
switch(set_data.int_data)
{
case 0x00:
lcdwrite_chinese(0,48,13,&beng[0]); //显示本地
lcdwrite_chinese(0,62,13,&dadi_di[0]);
break;
case 0x01:
lcdwrite_chinese(0,48,13,&yuanjin_yuan[0]); //显示远程
lcdwrite_chinese(0,62,13,&cheng[0]);
break;
default :break;
}
if(key) //处理按键
{
switch(key)
{
case up_key:
if(upcount==0)
{
set_data.int_data++;
if(set_data.int_data>1) set_data.int_data=0; //上限控制
}
break;
case down_key:
if(downcount==0)
{
if(set_data.int_data==0) set_data.int_data=2; //下限控制
set_data.int_data--;
}
break;
case ok_key:
set_addh=0x00; //组织发送数据
set_addl=0x63;
set_valueh=set_data.char_data[0];
set_valuel=set_data.char_data[1];
remote_type.set=1;
set_bit=0; //至察看状态标志,进入察看状态
show_bit=1; //重至第一次刷新标志
break;
case esc_key:
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
break;
}
}
}
}
void convert_time_setting(/*16*/)
{
unsigned int temp;
if(set_bit==0)
{
if(remote_sign.furbish==0)
{
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
temp=union_vlaue.revalue_buf_int[0]*2;
lcd_partclr(0,40,40); //显示转换时间
data_switch_display(temp,2,0,74,6);
if(show_bit) //判断是否是第一次显示
{//第一次显示
clr_fullscreen();//清屏
lcdwrite_chinese(2,4,13,&zhuan[0]); //显示转换时间
lcdwrite_chinese(2,17,13,&zhuanhuan_huan[0]);
lcdwrite_chinese(2,30,13,&shijian_shi[0]);
lcdwrite_chinese(2,43,13,&shijian_jian[0]);
lcdwrite(1,81,6,&ascS[0]); //显示S
lcdwrite_arrow(0,115,set_bit); //显示箭头
show_bit=0;
}
}
if(key) //处理按键
{
switch(key)
{
case up_key: //至上一界面号
if(upcount==0)
{
dis_number=23; //转换方式设定
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case down_key: //至下一界面号
if(downcount==0)
{
dis_number=17; //转换电流设定
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case ok_key:
set_bit=1; //至设定状态标志,进入设定状态
show_bit=1; //重至第一次刷新标志
set_data.int_data=union_vlaue.revalue_buf_int[0]*2;//初始化设定暂存器
break;
case esc_key:
dis_number=33;//至返回界面号
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=0;
break;
}
}
}
else //设定界面显示
{
lcdwrite_arrow(0,115,set_bit); //显示箭头
lcd_partclr(0,40,40); //显示转换时间
data_switch_display(set_data.int_data,2,0,74,6);
if(key) //处理按键
{
switch(key)
{
case up_key:
if(upcount<10)
{
set_data.int_data+=1;
if(set_data.int_data>6000) set_data.int_data=100; //上限控制
}
else if(upcount<40)
{
set_data.int_data+=10;
if(set_data.int_data>6000) set_data.int_data=100; //上限控制
}
else
{
set_data.int_data+=100;
if(set_data.int_data>6000) set_data.int_data=100; //上限控制
}
break;
case down_key:
if(downcount<10)
{
set_data.int_data-=1;
if(set_data.int_data<100) set_data.int_data=6000; //下限控制
}
else if(downcount<40)
{
set_data.int_data-=1;
if(set_data.int_data<100) set_data.int_data=6000; //下限控制
}
else
{
set_data.int_data-=1;
if(set_data.int_data<100) set_data.int_data=6000; //下限控制
}
break;
case ok_key:
set_addh=0x00; //组织发送数据
set_addl=0x5c;
set_data.int_data/=2;
set_valueh=set_data.char_data[0];
set_valuel=set_data.char_data[1];
remote_type.set=1;
set_bit=0; //至察看状态标志,进入察看状态
show_bit=1; //重至第一次刷新标志
break;
case esc_key:
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
break;
}
}
}
}
void convert_current_setting(/*17*/)
{
unsigned int temp;
if(set_bit==0)
{
if(remote_sign.furbish==0)
{
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
lcd_partclr(0,40,40); //显示转换电流
data_switch_display(union_vlaue.revalue_buf_int[0],0,0,74,6);
if(show_bit) //判断是否是第一次显示
{//第一次显示
clr_fullscreen();//清屏
lcdwrite_chinese(2,4,13,&zhuan[0]); //显示转换电流
lcdwrite_chinese(2,17,13,&zhuanhuan_huan[0]);
lcdwrite_chinese(2,30,13,&dian[0]);
lcdwrite_chinese(2,43,13,&liu[0]);
lcdwrite(1,81,6,&bfh[0]); //显示%
lcdwrite_arrow(0,115,set_bit); //显示箭头
show_bit=0;
}
}
if(key) //处理按键
{
switch(key)
{
case up_key: //至上一界面号
if(upcount==0)
{
dis_number=16; //转换时间设定
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case down_key: //至下一界面号
if(downcount==0)
{
temp=union_state.state_buf[11];
if (temp==auto_transfor)
{
dis_number=29; //自耦变压器转换模式设定
}
else
{
dis_number=28; //欠压重起设定
}
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=1;
}
break;
case ok_key:
set_bit=1; //至设定状态标志,进入设定状态
show_bit=1; //重至第一次刷新标志
set_data.int_data=union_vlaue.revalue_buf_int[0];//初始化设定暂存器
break;
case esc_key:
dis_number=33;//至返回界面号
set_bit=0; //至察看标志
show_bit=1; //重至第一次刷新标志
remote_sign.furbish=1;
remote_type.value=1;
dis_message_count=0;
break;
}
}
}
else //设定界面显示
{
lcdwrite_arrow(0,115,set_bit); //显示箭头
lcd_partclr(0,40,40); //显示转换电流
data_switch_display(set_data.int_data,0,0,74,6);
if(key) //处理按键
{
switch(key)
{
case up_key:
if(upcount<10)
{
set_data.int_data++;
if(set_data.int_data>500) set_data.int_data=100; //上限控制
}
else
{
set_data.int_data+=10;
if(set_data.int_data>500) set_data.int_data=100; //上限控制
}
break;
case down_key:
if(downcount<10)
{
set_data.int_data--;
if(set_data.int_data<100) set_data.int_data=500; //下限控制
}
else
{
set_data.int_data-=10;
if(set_data.int_data<100) set_data.int_data=500; //下限控制
}
break;
case ok_key:
set_addh=0x00; //组织发送数据
set_addl=0x5d;
set_valueh=set_data.char_data[0];
set_valuel=set_data.char_data[1];
remote_type.set=1;
set_bit=0; //至察看状态标志,进入察看状态
show_bit=1; //重至第一次刷新标志
break;
case esc_key:
set_bit=0; //至察看标志
show_bit=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -