📄 key_30_11
字号:
ShowOneChar(z_zhen,0,4,12);
ShowOneChar(z_chang,0,4,14);
}
else
{
ShowOneChar(z_gu,0,4,12);
ShowOneChar(z_zhang,0,4,14);
}
if((ErrorTemp&0x20)==0)
{
ShowOneChar(z_zhen,0,6,12);
ShowOneChar(z_chang,0,6,14);
}
else
{
ShowOneChar(z_gu,0,6,12);
ShowOneChar(z_zhang,0,6,14);
}
}
void FillGuZhangPage2()
{
unsigned int ErrorShuZiTemp;
unsigned int ErrorMoNiTemp;
ErrorShuZiTemp=DataRead25045EEROM(SAVEERROR_ADD);
ErrorMoNiTemp=DataRead25045EEROM(SAVEERROR_ADD+2);
Fill4NULL(2,15);
Fill4NULL(4,15);
Fill4NULL(6,15);
if((ErrorShuZiTemp&0x40)!=0||(ErrorMoNiTemp&0x900)!=0)
{
ShowOneChar(z_guo,0,2,12);
ShowOneChar(z_ya,0,2,14);
}
else if((ErrorShuZiTemp&0x80)!=0||(ErrorMoNiTemp&0x24!=0))
{
ShowOneChar(z_qian,0,2,12);
ShowOneChar(z_ya,0,2,14);
}
else
{
ShowOneChar(z_zhen,0,2,12);
ShowOneChar(z_chang,0,2,14);
}
if((ErrorShuZiTemp&0x100)!=0||(ErrorMoNiTemp&0x1200)!=0)
{
ShowOneChar(z_guo,0,4,12);
ShowOneChar(z_ya,0,4,14);
}
else if((ErrorShuZiTemp&0x200)!=0||(ErrorMoNiTemp&0x48)!=0)
{
ShowOneChar(z_qian,0,4,12);
ShowOneChar(z_ya,0,4,14);
}
else
{
ShowOneChar(z_zhen,0,4,12);
ShowOneChar(z_chang,0,4,14);
}
if((ErrorShuZiTemp&0x400)!=0||(ErrorMoNiTemp&0x2400)!=0)
{
ShowOneChar(z_guo,0,6,12);
ShowOneChar(z_ya,0,6,14);
}
else if((ErrorShuZiTemp&0x800)!=0||(ErrorMoNiTemp&0x90)!=0)
{
ShowOneChar(z_qian,0,6,12);
ShowOneChar(z_ya,0,6,14);
}
else
{
ShowOneChar(z_zhen,0,6,12);
ShowOneChar(z_chang,0,6,14);
}
}
void FillGuZhangPage3()
{
unsigned char ErrorShuZiTemp;
unsigned int ErrorMoNiTemp;
ErrorShuZiTemp=ByteRead25045EEROM(SAVEERROR_ADD+1); //只取高8位
ErrorMoNiTemp=DataRead25045EEROM(SAVEERROR_ADD+2); //取2个字节
Fill4NULL(0,15);
Fill4NULL(2,15);
Fill4NULL(4,15);
Fill4NULL(6,15);
if((ErrorMoNiTemp&0x01)!=0)
{
ShowOneChar(z_guo,0,0,12);
ShowOneChar(z_ya,0,0,14);
}
else if((ErrorMoNiTemp&0x02)!=0)
{
ShowOneChar(z_qian,0,0,12);
ShowOneChar(z_ya,0,0,14);
}
else
{
ShowOneChar(z_zhen,0,0,12);
ShowOneChar(z_chang,0,0,14);
}
if((ErrorMoNiTemp&0x4000)!=0)
{
ShowOneChar(z_guo,0,2,12);
ShowOneChar(z_liu,0,2,14);
}
else
{
ShowOneChar(z_zhen,0,2,12);
ShowOneChar(z_chang,0,2,14);
}
if((ErrorShuZiTemp&0x10)!=0)
{
ShowOneChar(z_guo,0,4,12);
ShowOneChar(z_ya,0,4,14);
}
else if((ErrorShuZiTemp&0x20)!=0)
{
ShowOneChar(z_qian,0,4,12);
ShowOneChar(z_ya,0,4,14);
}
else
{
ShowOneChar(z_zhen,0,4,12);
ShowOneChar(z_chang,0,4,14);
}
if((ErrorShuZiTemp&0x40)!=0)
{
ShowOneChar(z_guo,0,6,12);
ShowOneChar(z_liu,0,6,14);
}
else
{
ShowOneChar(z_zhen,0,6,12);
ShowOneChar(z_chang,0,6,14);
}
}
void FillGuZhangPage4()
{
unsigned char ErrorTemp;
ErrorTemp=ByteRead25045EEROM(SAVEERROR_ADD);
Fill4NULL(2,15);
Fill4NULL(4,15);
Fill4NULL(6,15);
if((ErrorTemp&0x01)==0)
{
ShowOneChar(z_zhen,0,2,12);
ShowOneChar(z_chang,0,2,14);
}
else
{
ShowOneChar(z_guo,0,2,12);
ShowOneChar(z_wen,0,2,14);
}
if((ErrorTemp&0x02)==0)
{
ShowOneChar(z_zhen,0,4,12);
ShowOneChar(z_chang,0,4,14);
}
else
{
ShowOneChar(z_guo,0,4,12);
ShowOneChar(z_wen,0,4,14);
}
if((ErrorTemp&0x40)==0)
{
ShowOneChar(z_zhen,0,6,12);
ShowOneChar(z_chang,0,6,14);
}
else
{
ShowOneChar(z_guo,0,6,12);
ShowOneChar(z_wen,0,6,14);
}
}
/*
void GetError() //取出故障
{
unsigned char i;
unsigned char TempNum;
for(i=0;i<ERRORNUM;i++)
(ErrorStr+i) = 0;
ErrorNum = 0; //初始化
if(Incomedata.ErrorCodeShuZi!=0)
{
for(i=0;i<16;i++)
if(((Incomedata.ErrorCodeShuZi>>i)&0x01)==1)
{
*(ErrorStr+ErrorNum) = i;
ErrorNum ++;
}
}
TempNum=ErrorNum;
if(Incomedata.ErrorCodeMoNi==0) return;
for(i=0;i<16;i++)
if((Incomedata.ErrorCodeMoNi>>i)&0x01==1)
{
*(ErrorStr+ErrorNum) = i+TempNum;
ErrorNum ++;
}
ErrorPageNum=(ErrorNum+1)/4; //加1是为了加上第一行的故障两个字
if(ErrorNum%4!=0) ErrorPageNum=ErrorPageNum+1;
}
void FillGuZhang() //显示实际的故障信息,按下确定键才更新
{
unsigned char i;
unsigned char *MessageStartPtr; //显示信息头地址在数组中的位置
unsigned char xnum; //显示的行数
if(ErrorNum == 0)
{
ShowOneChar(z_wu,0,4,6);
return;
}
if(ErrorPage >= ErrorPageNum)
return;
if((ErrorPage == 0)&&(ErrorPageNum==1))//只有一页
{
xnum = ErrorNum;
MessageStartPtr = ErrorStr;
}
else if((ErrorPage == 0)&&(ErrorPageNum>1)) //多页中的第一页
{
xnum = 3;
MessageStartPtr = ErrorStr;
ShowOneChar(z_downArrow,FALSE,6,14);
}
else if(ErrorPage == ErrorPageNum-1) //最后一页
{
xnum = (ErrorNum+1)%4
MessageStartPtr = ErrorStr+(ErrorPage*4-1);
ShowOneChar(z_upArrow,FALSE,0,14);
}
else //中间页
{
xnum = 4;
MessageStartPtr =ErrorStr+(ErrorPage*4-1)*MESSAGE_GUZHANG_YNUM;
ShowOneChar(z_downArrow,FALSE,6,14);
ShowOneChar(z_upArrow,FALSE,0,14);
}
LedFillNULL();
for(i=0;i<xnum;i++)
{
MessageBox(MESSAGE_GUZHANG+(*MessageStartPtr)*MESSAGE_GUZHANG_YNUM,MESSAGE_GUZHANG_STARTX+i+i,MESSAGE_GUZHANG_STARTY,MESSAGE_GUZHANG_XNUM,MESSAGE_GUZHANG_YNUM);
MessageStartPtr++;
}
}
*/
//fill 2 null before y;y>1,在第y列前写两个字即写宽度*长度=16*32,可以认为是4个数字
void Fill4NULL(unsigned char x,unsigned char y)
{
ShowOneHalfChar(z_NULL,FALSE,x,y);
ShowOneHalfChar(z_NULL,FALSE,x,y-1);
ShowOneHalfChar(z_NULL,FALSE,x,y-2);
ShowOneHalfChar(z_NULL,FALSE,x,y-3);
}
void Fill2NULL(unsigned char x,unsigned char y)
{
ShowOneHalfChar(z_NULL,FALSE,x,y);
ShowOneHalfChar(z_NULL,FALSE,x,y-1);
}
/*
void FillNULL(unsigned char xnum,unsigned char ynum,unsigned char x,unsigned char y)
{
unsigned char i;
unsigned char j;
for(i=0;i<xnum;i++)
for(j=0;j<ynum;j++)
ShowOneHalfChar(z_NULL,FALSE,x,y+i);
}
*/
void DefaultPageProcess()
{
if(Incomedata.SourceState==00) ShowWait();
else ShowCharPage(PAGE_DEFAULT,PAGE_DEFAULT_LINE,PAGE_DEFAULT_SEL);//显示默认界面
}
/*--------------key in default page,缺省状态下有键按下的处理程序-----------------------*/
void KeyInLedDefault()
{
FeedDog();
switch (gKeyCode)
{
case KEY_CANCEL :
MenuLayer = LED_DEFAULT;
DefaultPageProcess();
FillDefault();
break;
case KEY_UP :
if( MenuLayer == LED_DEFAULT) //当前显示的是缺省状态
{
MenuLayer = LED_DEFAULT_4; //菜单回到缺省状态时的累计量查询
}
else MenuLayer = MenuLayer - 2;
switch(MenuLayer)
{
case LED_DEFAULT: //液晶显示缺省状态
DefaultPageProcess();
FillDefault();
break;
case LED_DEFAULT_1: //显示缺省状态下快捷查询的输入量
ShowCharPage(PAGE_MENU_MAIN1,PAGE_MENU_MAIN1_LINE,PAGE_MENU_MAIN1_SEL);
FillInput();
break;
case LED_DEFAULT_2: //输出量
ShowCharPage(PAGE_MENU_MAIN2,PAGE_MENU_MAIN2_LINE,PAGE_MENU_MAIN2_SEL);
FillOutput();
break;
case LED_DEFAULT_3: //直流量
LedFillNULL();
MessageBox(MESSAGE_MENU3,MESSAGE_MENU3_STARTX,MESSAGE_MENU3_STARTY,MESSAGE_MENU3_XNUM,MESSAGE_MENU3_YNUM);
FillDirectCurrent();
break;
case LED_DEFAULT_4: //故障查询
LedFillNULL();
MessageBox(MESSAGE_MENU5,MESSAGE_MENU5_STARTX,MESSAGE_MENU5_STARTY,MESSAGE_MENU5_XNUM,MESSAGE_MENU5_YNUM);
FillGuZhangCode();
break;
}
break;
case KEY_DOWN :
if( MenuLayer == LED_DEFAULT_4)
{
MenuLayer = LED_DEFAULT;
}
else MenuLayer = MenuLayer + 2;
switch(MenuLayer)
{
case LED_DEFAULT: //液晶显示缺省状态
DefaultPageProcess();
FillDefault();
break;
case LED_DEFAULT_1: //显示缺省状态下快捷查询的输入量
ShowCharPage(PAGE_MENU_MAIN1,PAGE_MENU_MAIN1_LINE,PAGE_MENU_MAIN1_SEL);
FillInput();
break;
case LED_DEFAULT_2: //输出量
ShowCharPage(PAGE_MENU_MAIN2,PAGE_MENU_MAIN2_LINE,PAGE_MENU_MAIN2_SEL);
FillOutput();
break;
case LED_DEFAULT_3: //直流量
LedFillNULL();
MessageBox(MESSAGE_MENU3,MESSAGE_MENU3_STARTX,MESSAGE_MENU3_STARTY,MESSAGE_MENU3_XNUM,MESSAGE_MENU3_YNUM);
FillDirectCurrent();
break;
case LED_DEFAULT_4: //故障查询
LedFillNULL();
MessageBox(MESSAGE_MENU5,MESSAGE_MENU5_STARTX,MESSAGE_MENU5_STARTY,MESSAGE_MENU5_XNUM,MESSAGE_MENU5_YNUM);
FillGuZhangCode();
}
break;
case KEY_OK :
MenuLayer = LED_MENU_MAIN;
MenuSelect = PAGE_MENU_MAIN_SEL;
ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,PAGE_MENU_MAIN_SEL);
break;
case KEY_UPDATE:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -