📄 display.c
字号:
{//-----OPEN
HITESC(MAIN_MENU);
if(pVar->KeyID==PLUSKEY)// PageDOWNKEY
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->YMMenuCount=3;
};
if(pVar->KeyID==MINUSKEY)// PageUPKEY
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->YMMenuCount=0;
}
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->YMCursorCount==0) pVar->YMCursorCount++;
else pVar->YMCursorCount=0;
}
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->YMCursorCount==1) pVar->YMCursorCount=0;
else pVar->YMCursorCount=1;
};
if(pVar->KeyID==OKKEY) //确认键
{
pVar->KeyID=NULLKEY;
i=pVar->YMCursorCount+pVar->YMMenuCount;
switch(i)
{
case 0x00: pVar->MenuMode=MCDD_MENU; // 脉冲电度
pVar->action=NOUSE;
break;
case 0x01: pVar->MenuMode=JFDD_MENU; // 积分电度
pVar->action=NOUSE;
break;
default: break;
};
};
};//-------OPEN
}
void MCDDMenu(void) //脉冲电度
{
int i,n,s,j;
unsigned int z,x,y,k;
unsigned long li;
if(pVar->action==NOUSE)
{
pVar->ymsum=ymnum*20;
LcdClr();
DspMenu(31,0,31,2);
if(pVar->YMValueType==0) DspMenu(32,0,32,2); //脉冲值
else DspMenu(33,0,33,2); //电度值
Line(0, 0, 127, 0, 1);
Line(0, 15, 127, 15, 1);
Line(0, 60, 127, 60, 1);
Line(127, 0, 127, 60, 1);
Line(0, 0, 0, 60, 1);
Line(45, 0, 45, 60, 1);
pVar->action=OPEN;
if(pVar->ymsum>4)
{
if(pVar->YMCount+5>pVar->ymsum) pVar->YMCount=pVar->ymsum-5;
pVar->ymhn=0;
}else
{
pVar->YMCount=0;
pVar->ymhn=0XFF;
}
k=pVar->YMCount+1;
for(i=0;i<5;i++)
{
s=3*i;
n=k;
DatBuf[s+2]=n%10; n=n/10;
DatBuf[s+1]=n%10; n=n/10;
DatBuf[s+0]=n%10;
k++;
}
OutString(DatBuf,0,YMNumAdr,1);
}
if(pVar->action==OPEN)
{ //-----OPEN
HITESC(YM_MENU);
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->YMCount=pVar->YMCount+1;
}
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->YMCount>0) pVar->YMCount=pVar->YMCount-1;
};
for(i=0;i<5;i++)
{
k=pVar->YMCount+i;
n=i*10;
if(pVar->YMValueType==0) //脉冲值
{
if(k<pVar->ymsum)
{
li=YMBUF[k];
StrBuf[n+9]=li%10; li=li/10;
StrBuf[n+8]=li%10; li=li/10;
StrBuf[n+7]=li%10; li=li/10;
StrBuf[n+6]=li%10; li=li/10;
StrBuf[n+5]=li%10; li=li/10;
StrBuf[n+4]=li%10; li=li/10;
StrBuf[n+3]=li%10; li=li/10;
StrBuf[n+2]=li%10; li=li/10;
StrBuf[n+1]=li%10; li=li/10;
StrBuf[n+0]=li%10;
}else
{
StrBuf[n+9]=66;
StrBuf[n+8]=66;
StrBuf[n+7]=66;
StrBuf[n+6]=66;
StrBuf[n+5]=66;
StrBuf[n+4]=66;
StrBuf[n+3]=66;
StrBuf[n+2]=66;
StrBuf[n+1]=66;
StrBuf[n+0]=66;
}
}else
{
}
}
OutString(StrBuf,0,YMDatAdr,1);
}; //open
}
void JFDDMenu(void) // 积分电度
{
int i,n,s,j;
unsigned int z,x,y,k;
unsigned long li;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(31,0,31,2);
DspMenu(33,0,33,2); //电度值
Line(0, 0, 127, 0, 1);
Line(0, 15, 127, 15, 1);
Line(0, 60, 127, 60, 1);
Line(127, 0, 127, 60, 1);
Line(0, 0, 0, 60, 1);
Line(45, 0, 45, 60, 1);
pVar->action=OPEN;
pVar->maxywnum=pVar->lnsum*4;
if(pVar->maxywnum>4)
{
if(pVar->YWCount+5>pVar->maxywnum) pVar->YWCount=pVar->maxywnum-5;
pVar->ywhn=0;
}else
{
pVar->YWCount=0;
pVar->ywhn=0XFF;
}
k=pVar->YWCount;
for(i=0;i<5;i++)
{
s=5*i;
n=k/4+1;
DatBuf[s+1]=n%10; n=n/10;
DatBuf[s+0]=n%10;
DatBuf[s+2]=32; /*---32-"W"----*/
j=k%4;
switch(j)
{
case 0x00:DatBuf[s+3]=25; /*---25-"P"----*/
DatBuf[s+4]=65; /*---65-"+"---*/
break;
case 0x01:DatBuf[s+3]=25; /*---25-"P"----*/
DatBuf[s+4]=66; /*---66-"-"---*/
break;
case 0x02:DatBuf[s+3]=26; /*---26-"Q"----*/
DatBuf[s+4]=65; /*---65-"+"---*/
break;
case 0x03:DatBuf[s+3]=26; /*---26-"Q"----*/
DatBuf[s+4]=66; /*---66-"-"---*/
break;
}
k++;
}
OutString(DatBuf,0,YWNumAdr,1);
}
if(pVar->action==OPEN)
{ //-----OPEN
HITESC(YM_MENU);
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->YWCount=pVar->YWCount+1;
}
if(pVar->KeyID==UPKEY)// " ^ " 向上键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->YWCount>0) pVar->YWCount=pVar->YWCount-1;
};
if(pVar->KeyID==F1)// 修改状态
{
pVar->KeyID=NULLKEY;
pVar->action=FLASH;
pVar->NewCursorOffset=0;
pVar->OldCursorOffset=0;
CursorGotoXy(StrBuf,YMDatAdr,1);
return;
}
for(i=0;i<5;i++)
{
j=(pVar->YWCount+i)/4;
k=((pVar->YWCount+i)%4)*2+1;
li=YWBuf[j][k];
StrBuf[i*10+9]=li%10; li=li/10;
StrBuf[i*10+8]=li%10; li=li/10;
StrBuf[i*10+7]=li%10; li=li/10;
StrBuf[i*10+6]=(li%10)+150; li=li/10;
StrBuf[i*10+5]=li%10; li=li/10;
StrBuf[i*10+4]=li%10; li=li/10;
StrBuf[i*10+3]=li%10; li=li/10;
StrBuf[i*10+2]=li%10; li=li/10;
StrBuf[i*10+1]=li%10; li=li/10;
StrBuf[i*10+0]=li%10;
}
OutString(StrBuf,0,YMDatAdr,1);
}; //open
if(pVar->action==FLASH)
{//------------------FLASH-----------------------
FlashESC();
if(pVar->KeyID==RIGHTKEY)
{
pVar->KeyID=NULLKEY;
pVar->NewCursorOffset++;
if(pVar->NewCursorOffset>49)pVar->NewCursorOffset=0;
CursorGotoXy(StrBuf,YMDatAdr,1);
};
if(pVar->KeyID==LEFTKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset>0) pVar->NewCursorOffset--;
else pVar->NewCursorOffset=49;
CursorGotoXy(StrBuf,YMDatAdr,1);
};
if(pVar->KeyID==DOWNKEY)
{
pVar->KeyID=NULLKEY;
pVar->NewCursorOffset=pVar->NewCursorOffset+10;
if(pVar->NewCursorOffset>49)pVar->NewCursorOffset=0;
CursorGotoXy(StrBuf,YMDatAdr,1);
};
if(pVar->KeyID==UPKEY)
{
pVar->KeyID=NULLKEY;
if(pVar->NewCursorOffset>10) pVar->NewCursorOffset=pVar->NewCursorOffset-10;
CursorGotoXy(StrBuf,YMDatAdr,1);
};
if(pVar->KeyID==MINUSKEY)// "-"=PageUPKEY
{
pVar->KeyID=NULLKEY;
if((pVar->NewCursorOffset%10)==6)
{
if(StrBuf[pVar->NewCursorOffset]>150)
{
StrBuf[pVar->NewCursorOffset]--;
}else
{
StrBuf[pVar->NewCursorOffset]=159;
}
}else
{
if(StrBuf[pVar->NewCursorOffset]>0)
{
StrBuf[pVar->NewCursorOffset]--;
}else
{
StrBuf[pVar->NewCursorOffset]=9;
}
}
CursorGotoXy(StrBuf,YMDatAdr,1);
};
if(pVar->KeyID==PLUSKEY)// "+"=PageDown
{
pVar->KeyID=NULLKEY;
if((pVar->NewCursorOffset%10)==6)
{
if(StrBuf[pVar->NewCursorOffset]<159)
{
StrBuf[pVar->NewCursorOffset]++;
}else
{
StrBuf[pVar->NewCursorOffset]=150;
}
}else
{
if(StrBuf[pVar->NewCursorOffset]<9)
{
StrBuf[pVar->NewCursorOffset]++;
}else
{
StrBuf[pVar->NewCursorOffset]=0;
}
}
CursorGotoXy(StrBuf,YMDatAdr,1);
}
if(pVar->KeyID==OKKEY)// " < " + " > " 修改完成
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
for(i=0;i<5;i++)
{
j=(pVar->YWCount+i)/4;
k=((pVar->YWCount+i)%4)*2+1;
li=StrBuf[i*10+0]; li=li*10;
li=li+StrBuf[i*10+1]; li=li*10;
li=li+StrBuf[i*10+2]; li=li*10;
li=li+StrBuf[i*10+3]; li=li*10;
li=li+StrBuf[i*10+4]; li=li*10;
li=li+StrBuf[i*10+5]; li=li*10;
li=li+StrBuf[i*10+6]-150; li=li*10;
li=li+StrBuf[i*10+7]; li=li*10;
li=li+StrBuf[i*10+8]; li=li*10;
li=li+StrBuf[i*10+9];
YWBuf[j][k]=li;
}
}
}
}
void FREQMenu(void) // 频率显示
{
int i;
unsigned int j,k;
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(79,0,79,4);
pVar->action=OPEN;
return;
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MAIN_MENU);
j=freqvalue;
DatBuf[3]=j%10; j=j/10;
DatBuf[2]=j%10; j=j/10;
DatBuf[1]=j%10; j=j/10;
DatBuf[0]=j%10;
OutString(DatBuf,0,FreqAdr,4);
};
}
void SSET_Menu(void) // 系统配置
{
/*
if(pVar->action==NOUSE)
{
LcdClr();
DspMenu(6,0,6,2);
DspMenu(7,SSetMenuCount*0x05,7,2);
pVar->action=OPEN;
LcdPutc(49,pVar->CursorCount*2+1,171,1);
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MAIN_MENU);
if(pVar->KeyID==0x11)// "+"=PageDown
{
pVar->KeyID=0x80;
pVar->action=NOUSE;
SSetMenuCount=SSetMenuCount+4;
if(SSetMenuCount>0x0C) SSetMenuCount=0x0C;
};
if(pVar->KeyID==0x10)// "-"=PageUPKEY
{
pVar->KeyID=0x80;
pVar->action=NOUSE;
if(SSetMenuCount>0x03) SSetMenuCount=SSetMenuCount-4;
else SSetMenuCount=0;
}
if(pVar->KeyID==0x14)// " V " 向下键
{
pVar->KeyID=0x80;
pVar->action=NOUSE;
if(pVar->CursorCount>=3)
{
SSetMenuCount=SSetMenuCount+1;
pVar->CursorCount=3;
}else pVar->CursorCount++;
if(SSetMenuCount>0x0C) SSetMenuCount=0x0C;
}
if(pVar->KeyID==0x15)// " ^ " 向上键
{
pVar->KeyID=0x80;
pVar->action=NOUSE;
if(pVar->CursorCount==0)
{
if(SSetMenuCount>0x00) SSetMenuCount=SSetMenuCount-1;
pVar->CursorCount=0;
}else pVar->CursorCount--;
};
if(pVar->KeyID==0x12) //确认键
{
pVar->KeyID=SSetMenuCount+pVar->CursorCount;
if(pVar->KeyID>0x0C) pVar->KeyID=0x0C;
};
switch(pVar->KeyID)
{
case 0x00: pVar->MenuMode=SYSSET_MENU; // 系统设置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
SMenuCount=0;
break;
case 0x01: pVar->MenuMode=LINESET_MENU; // 线路配置
pVar->KeyID=0x80;
pVar->action=NOUSE;
// SSetMenuCount=0;
LineNum=0;
break;
case 0x02: pVar->MenuMode=JCSET_MENU; //交流系数设置
pVar->KeyID=0x80; LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x03: pVar->MenuMode=DCSET_MENU; //直流系数设置
pVar->KeyID=0x80; LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x04: pVar->MenuMode=YCSET_MENU; // 遥测发送表设置
pVar->KeyID=0x80; LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x05: pVar->MenuMode=YXDSET_MENU; // 遥信配置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x06: pVar->MenuMode=YXSET_MENU; // 遥信设置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x07: pVar->MenuMode=YMDSET_MENU; // 遥脉配置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x08: pVar->MenuMode=YMSET_MENU; // 遥脉设置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
// SSetMenuCount=0;
break;
case 0x09: pVar->MenuMode=YKDSET_MENU; // 遥控配置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
break;
case 0x0A: pVar->MenuMode=YKSET_MENU; // 遥控设置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
break;
case 0x0B: pVar->MenuMode=BHCOM_MENU; // 保护配置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
break;
case 0x0C: pVar->MenuMode=BHSET_MENU; // 保护设置
pVar->KeyID=0x80;LineNum=0;
pVar->action=NOUSE;
break;
default: break;
};
};//-------OPEN
*/
}
void MEMMenu(void) // 内存显示
{
int i;
if(pVar->action==NOUSE)
{
LcdClr();
if(pVar->MemMenuCount>3)pVar->MemMenuCount=3;
DspMenu(3, pVar->MemMenuCount*0x05,3,3);
i=(pVar->MemMenuCount+pVar->MemCursorCount)*0x05+1;
DspMenuCur(3,i,3,((pVar->MemCursorCount)*10)+2,4,0x83);
DspMenu(4,0,4,3);//JM4+0,Adr4, Type=3 内存显示
pVar->action=OPEN;
}
if(pVar->action==OPEN)
{//-----OPEN
HITESC(MAIN_MENU);
if(pVar->KeyID==PLUSKEY)// "+"=PageDown
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->MemMenuCount=3;
};
if(pVar->KeyID==MINUSKEY)// "-"=PageUPKEY
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
pVar->MemMenuCount=0;
}
if(pVar->KeyID==DOWNKEY)// " V " 向下键
{
pVar->KeyID=NULLKEY;
pVar->action=NOUSE;
if(pVar->MemCursorCount>=3)
{
pVar->MemMenuCount=pVar->MemMenuCount+1;
pVar->MemCursorCount=3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -