📄 display.c
字号:
put_string(0,32,1,SCGY,0);
put_string(0,48,1,SCGL,0);
}
if(update_flag)
{
j=0;
for(i=0;i<4;i++)
{
d=0;
k=2;
if(i==3)k=1;
if(i==cursor_flag)d=0xFF;
put_number(74,j,dis_temp[i],1,5,1,k,d);
j+=16;
}
}
break;
default:
break;
}
change_flag=0;
update_flag=0;
}
/********************************************************************/
// 通道校准
/********************************************************************/
void screen6_handle(void)
{
unsigned char j,k,v;
switch(page_flag)
{
case 0:/********************通道校准第1屏******************/
case 1:/********************通道校准第2屏******************/
case 2:/********************通道校准第3屏******************/
case 3:/********************通道校准第4屏******************/
case 4:/********************通道校准第5屏******************/
if(change_flag)
{
put_string(0,8,1,TDJZP[page_flag],0);
put_string(0,24,1,XS,0);
put_string(0,40,1,LD,0);
}
if(update_flag)
{
switch(page_flag)
{
case 0:
case 2:
case 3:
v=2;
break;
case 1:
v=1;
break;
case 4:
v=3;
break;
default:
break;
}
put_number(74,8,ad_result[page_flag],1,6,1,v,0);
if(cursor_flag){j=0;k=0xFF;}
else {j=0xFF;k=0;}
put_number(81,24,dis_temp[0],0,5,1,0,j);
put_number(81,40,dis_temp[1],0,5,1,0,k);
}
break;
case 5:/********************通道校准第6屏******************/
case 6:/********************通道校准第7屏******************/
if(change_flag)
{
put_string(0,0,1,TDJZP[page_flag-5],0);
put_string(0,17,1,DAMX,0);
put_string(72,17,1,DAMN,0);
v=1;
if(page_flag==5)v=2;
put_number(8,48,da_para[page_flag-5],1,5,1,v,0);
put_number(82,48,da_para[page_flag-1],1,5,1,v,0);
draw_line(0,16,127,16,0);
draw_line(63,17,63,63,0);
}
if(update_flag)
{
v=1;
if(page_flag==5)v=2;
put_number(74,0,ad_result[page_flag-5],1,6,1,v,0);
if(cursor_flag){j=0;k=0xFF;}
else {j=0xFF;k=0;}
put_number(8,32,dis_temp[0],0,5,1,0,j);
put_number(82,32,dis_temp[1],0,5,1,0,k);
}
break;
default:
break;
}
change_flag=0;
update_flag=0;
}
/********************************************************************/
// 设置已保存
/********************************************************************/
void screen90_handle(void)
{
if(change_flag)
{
change_flag=0;
draw_picture(16,8,96,48,SZYBC,0);
change_flag=0;
tips_count=2;
}
else if(!tips_count)
{
screen_flag=screen_flag_temp;
page_flag=page_flag_temp;
cursor_flag=cursor_flag_temp;
change_flag=1;
update_flag=1;
lcd_clear();
}
}
/********************************************************************/
// 重新充电
/********************************************************************/
void screen91_handle(void)
{
unsigned char j,k,l;
if(change_flag)
{
draw_picture(16,8,96,48,XZKSCD,0);
}
if(update_flag)
{
if(cursor_flag==0){j=1;k=0;l=0;}
else if(cursor_flag==1){j=0;k=1;l=0;}
else if(cursor_flag==2){j=0;k=0;l=1;}
draw_picture(22,34,25,13,QD,j);
draw_picture(50,34,25,13,QX,k);
draw_picture(78,34,25,13,TJbmp,l);
}
change_flag=0;
update_flag=0;
}
/********************************************************************/
// 运行监控(按键处理)
/********************************************************************/
void key0_handle(void)
{
if(!(key&(1<<AVAIL))||(!(blight_state&0x01)))return;
key&=~(1<<AVAIL);
switch(key)
{
case SETUP:
screen_flag=1;//主菜单
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case PgUp:
if(++page_flag>1)page_flag=0; //翻页
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
screen_flag=91;
change_flag=1;
update_flag=1;
cursor_flag=1;
break;
default:
break;
}
}
/********************************************************************/
// 主菜单(按键处理)
/********************************************************************/
void key1_handle(void)
{
unsigned char i;
if(!(key&(1<<AVAIL)))return;
key&=~(1<<AVAIL);
switch(key)
{
case SETUP:
case ENTER:
switch(cursor_flag)
{
case 0:
screen_flag=0;//运行监控
page_flag=0;
change_flag=1;
lcd_clear();
break;
case 1:
screen_flag=2;//充电参数
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
for(i=0;i<2;i++)dis_temp[i]=charge_para[i];
lcd_clear();
break;
case 2:
screen_flag=3;//电池管理
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case 3:
screen_flag=4;//当前告警
page_flag=0;
change_flag=1;
lcd_clear();
break;
case 4:
screen_flag=5;//告警参数
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
for(i=0;i<4;i++)dis_temp[i]=alarm_val[i];
lcd_clear();
break;
case 5:
screen_flag=6;//通道校准
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
dis_temp[0]=amp[0];
dis_temp[1]=zero[0];
lcd_clear();
break;
default:
break;
}
break;
case LEFT:
case RIGHT:
if(cursor_flag<3)cursor_flag+=3;
else cursor_flag-=3;
update_flag=1;
break;
case UP:
if(cursor_flag==0)cursor_flag=2;
else if(cursor_flag==3)cursor_flag=5;
else cursor_flag--;
update_flag=1;
break;
case DOWN:
if(cursor_flag==2)cursor_flag=0;
else if(cursor_flag==5)cursor_flag=3;
else cursor_flag++;
update_flag=1;
break;
case PgUp:
if(++cursor_flag==6)cursor_flag=0;
update_flag=1;
break;
default:
break;
}
}
/********************************************************************/
// 充电参数(按键处理)
/********************************************************************/
void key2_handle(void)
{
unsigned char i,j;
if(!(key&(1<<AVAIL)))return;
key&=~(1<<AVAIL);
switch(page_flag)
{
case 0:
switch(key)
{
case PgUp:
if(period_all)
{
for(i=0;i<6;i++)dis_temp[i]=charge_para[i+14];
page_flag=1;
}
else
{
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+2];
page_flag=3;
}
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
case RIGHT:
cursor_flag^=0x01;
change_flag=1;
update_flag=1;
break;
case UP:
if(++dis_temp[cursor_flag]>=7)dis_temp[cursor_flag]=0;
if(dis_temp[0]>dis_temp[1])dis_temp[0]=0;
update_flag=1;
break;
case DOWN:
if(dis_temp[cursor_flag])dis_temp[cursor_flag]--;
else dis_temp[cursor_flag]=6;
if(dis_temp[0]>dis_temp[1])dis_temp[0]=dis_temp[1];
update_flag=1;
break;
case SETUP:
screen_flag=1;
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
for(i=0;i<2;i++)charge_para[i]=dis_temp[i];
charge_init(dis_temp[0]);
//mode=charge_para[0];
//period=1;
//if(mode==2)charge_time=(charge_para[9]*60+charge_para[10])*60;
//if(mode==3)charge_time=(charge_para[12]*60+charge_para[13])*60;
goto_saved();
break;
default:
break;
}
break;
//----------------------------------------------------------
case 1:
switch(key)
{
case PgUp:
if(period_all<=4)
{
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+2];
page_flag=3;
}
else page_flag=2;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
j=period_all;
if(j>4)j=4;
if(cursor_flag)cursor_flag--;
else cursor_flag=j-1;
update_flag=1;
break;
case RIGHT:
j=period_all;
if(j>4)j=4;
if(++cursor_flag>=j)cursor_flag=0;
update_flag=1;
break;
case UP:
if(++dis_temp[cursor_flag]>=5)dis_temp[cursor_flag]=0;
update_flag=1;
break;
case DOWN:
if(dis_temp[cursor_flag])dis_temp[cursor_flag]--;
else dis_temp[cursor_flag]=4;
update_flag=1;
break;
case SETUP:
screen_flag=1;
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
for(i=0;i<6;i++)charge_para[i+14]=dis_temp[i];
//mode=charge_para[0];
//period=1;
//if(mode==2)charge_time=(charge_para[9]*60+charge_para[10])*60;
//if(mode==3)charge_time=(charge_para[12]*60+charge_para[13])*60;
goto_saved();
break;
default:
break;
}
break;
//----------------------------------------------------------
case 2:
switch(key)
{
case PgUp:
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+2];
page_flag=3;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
if(cursor_flag)cursor_flag--;
else cursor_flag=period_all-5;
update_flag=1;
break;
case RIGHT:
if(++cursor_flag>=(period_all-4))cursor_flag=0;
update_flag=1;
break;
case UP:
if(++dis_temp[cursor_flag+4]>=5)dis_temp[cursor_flag+4]=0;
update_flag=1;
break;
case DOWN:
if(dis_temp[cursor_flag+4])dis_temp[cursor_flag+4]--;
else dis_temp[cursor_flag+4]=4;
update_flag=1;
break;
case SETUP:
screen_flag=1;
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
for(i=0;i<6;i++)charge_para[i+14]=dis_temp[i];
//mode=charge_para[0];
//period=1;
//if(mode==2)charge_time=(charge_para[9]*60+charge_para[10])*60;
//if(mode==3)charge_time=(charge_para[12]*60+charge_para[13])*60;
goto_saved();
break;
default:
break;
}
break;
//----------------------------------------------------------
case 3:
switch(key)
{
case PgUp:
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+5];
page_flag=4;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
if(cursor_flag)cursor_flag--;
else cursor_flag=2;
update_flag=1;
break;
case RIGHT:
if(++cursor_flag>=3)cursor_flag=0;
update_flag=1;
break;
case UP:
dis_temp[cursor_flag]++;
update_flag=1;
break;
case DOWN:
dis_temp[cursor_flag]--;
update_flag=1;
break;
case SETUP:
screen_flag=1;
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
for(i=0;i<3;i++)charge_para[i+2]=dis_temp[i];
goto_saved();
break;
default:
break;
}
break;
//----------------------------------------------------------
case 4:
{
switch(key)
{
case PgUp:
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+8];
page_flag=5;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
if(cursor_flag)cursor_flag--;
else cursor_flag=2;
update_flag=1;
break;
case RIGHT:
if(++cursor_flag>=3)cursor_flag=0;
update_flag=1;
break;
case UP:
dis_temp[cursor_flag]++;
update_flag=1;
break;
case DOWN:
dis_temp[cursor_flag]--;
update_flag=1;
break;
case SETUP:
screen_flag=1;
page_flag=0;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case ENTER:
for(i=0;i<3;i++)charge_para[i+5]=dis_temp[i];
goto_saved();
break;
default:
break;
}
}
break;
//----------------------------------------------------------
case 5:
{
switch(key)
{
case PgUp:
for(i=0;i<3;i++)dis_temp[i]=charge_para[i+11];
page_flag=6;
cursor_flag=0;
change_flag=1;
update_flag=1;
lcd_clear();
break;
case LEFT:
if(cursor_flag)cursor_flag--;
else cursor_flag=2;
update_flag=1;
break;
case RIGHT:
if(++cursor_flag>=3)cursor_flag=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -