?? 液晶菜單程序.c
字號:
(COMMAND*)&main_menu[MAIN_PPL],
&pll_menu[PLL_PLL3],
&pll_menu[PLL_PLL1]
},
{
&pll3,
"子菜單5 ",
2,
(COMMAND*)&main_menu[MAIN_PPL],
&pll_menu[PLL_PLL1],
&pll_menu[PLL_PLL2]
}
};
#define NO_HELP_COMMANDS 2
#define HELP_HELP1 0
#define HELP_HELP2 1
COMMAND code help_menu[NO_HELP_COMMANDS]=
{
{
&help1,
"子菜單3 ",
0,
(COMMAND*)&main_menu[MAIN_HELP],
&help_menu[HELP_HELP2],
&help_menu[HELP_HELP1]
},
{
&help2,
"子菜單5 ",
1,
(COMMAND*)&main_menu[MAIN_HELP],
&help_menu[HELP_HELP1],
&help_menu[HELP_HELP2]
}
};
COMMAND* current_command = &main_menu[MAIN_SET];
void move(unsigned char dir)
{
switch (dir)
{
case KEY_UP:
key=0x00;
if ( current_command->parent != (COMMAND*)0)
{
current_command = current_command->up;
}
break;
case KEY_DOWN:
key=0x00;
if ( current_command->parent != (COMMAND*)0)
{
current_command = current_command->down;
}
break;
case KEY_RIGHT:
key=0x00;
if ( current_command->parent == (COMMAND*)0)
{
current_command = current_command->down;
}
break;
case KEY_LEFT:
key=0x00;
if ( current_command->parent == (COMMAND*)0)
{
current_command = current_command->up;
}
break;
case KEY_ENTER:
key=0x00;
(current_command->action)();
break;
case KEY_ESC:
key=0x00;
if ( current_command->parent != (COMMAND*)0)
{
current_command = current_command->parent;
//BlockClr(0,50,40,170);
}
break;
case KEY_STU:
key=0x00;
break;
case KEY_STD:
key=0x00;
break;
default:
key=0x00;
break;
}
MenuDisplay();
}
void MenuDisplay(void)
{
unsigned char i;
bit fb;
if ( current_command->parent == (COMMAND*)0)
{
for(i=0;i<NO_MAIN_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf(i*8,32,0,fb,main_menu[i].name);
}
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x54 ); //
00 00 01 00顯示1區開顯示,其余層關閉
}
if ( current_command->parent == (COMMAND*)&main_menu[MAIN_SET])
{
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x44 ); //
00 00 01 00顯示1區開顯示,其余層關閉
for(i=0;i<NO_SET_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf(MAIN_SET*8,51+16*i,0,fb,set_menu
[i].name);
}
Linexy( MAIN_SET*64,49,MAIN_SET*64+63,49,0,1);
Linexy(
MAIN_SET*64,49,MAIN_SET*64,51+NO_SET_COMMANDS*16,0,1);
Linexy(
MAIN_SET*64+63,49,MAIN_SET*64+63,51+NO_SET_COMMANDS*16,0,1);
Linexy(
MAIN_SET*64,51+NO_SET_COMMANDS*16,MAIN_SET*64+63,51+NO_SET_COMMANDS*16,0,1);
}
if ( current_command->parent == (COMMAND*)&main_menu[MAIN_METHOD])
{
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x44 ); //
00 00 01 00顯示1區開顯示,其余層關閉
for(i=0;i<NO_FANGFA_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf(MAIN_METHOD*8,51+16*i,0,fb,fangfa_menu
[i].name);
}
Linexy( MAIN_METHOD*64,49,MAIN_METHOD*64+63,49,0,1);
Linexy(
MAIN_METHOD*64,49,MAIN_METHOD*64,51+NO_FANGFA_COMMANDS*16,0,1);
Linexy(
MAIN_METHOD*64+63,49,MAIN_METHOD*64+63,51+NO_FANGFA_COMMANDS*16,0,1);
Linexy(
MAIN_METHOD*64,51+NO_FANGFA_COMMANDS*16,MAIN_METHOD*64+63,51+NO_FANGFA_COMMANDS*
16,0,1);
}
if ( current_command->parent == (COMMAND*)&main_menu[MAIN_FUNCTION])
{
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x44 ); //
00 00 01 00顯示1區開顯示,其余層關閉
for(i=0;i<NO_GONGNENG_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf
(MAIN_FUNCTION*8,51+16*i,0,fb,gongneng_menu[i].name);
}
Linexy( MAIN_FUNCTION*64,49,MAIN_FUNCTION*64+63,49,0,1);
Linexy(
MAIN_FUNCTION*64,49,MAIN_FUNCTION*64,51+NO_GONGNENG_COMMANDS*16,0,1);
Linexy(
MAIN_FUNCTION*64+63,49,MAIN_FUNCTION*64+63,51+NO_GONGNENG_COMMANDS*16,0,1);
Linexy(
MAIN_FUNCTION*64,51+NO_GONGNENG_COMMANDS*16,MAIN_FUNCTION*64+63,51+NO_GONGNENG_C
OMMANDS*16,0,1);
}
if ( current_command->parent == (COMMAND*)&main_menu[MAIN_PPL])
{
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x44 ); //
00 00 01 00顯示1區開顯示,其余層關閉
for(i=0;i<NO_PLL_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf(MAIN_PPL*8,51+16*i,0,fb,pll_menu
[i].name);
}
Linexy( MAIN_PPL*64,49,MAIN_PPL*64+63,49,0,1);
Linexy(
MAIN_PPL*64,49,MAIN_PPL*64,51+NO_PLL_COMMANDS*16,0,1);
Linexy(
MAIN_PPL*64+63,49,MAIN_PPL*64+63,51+NO_PLL_COMMANDS*16,0,1);
Linexy(
MAIN_PPL*64,51+NO_PLL_COMMANDS*16,MAIN_PPL*64+63,51+NO_PLL_COMMANDS*16,0,1);
}
if ( current_command->parent == (COMMAND*)&main_menu[MAIN_HELP])
{
WriteCommand( 0x59 ); // 寫入指令DISP
ON/OFF代碼,后續參數:
WriteData( 0x44 ); //
00 00 01 00顯示1區開顯示,其余層關閉
for(i=0;i<NO_HELP_COMMANDS;i++)
{
if(current_command->ID==i)
{
fb=1;
}
else
{
fb=0;
}
dprintf(MAIN_HELP*8,51+16*i,0,fb,help_menu
[i].name);
}
Linexy( MAIN_HELP*64,49,MAIN_HELP*64+63,49,0,1);
Linexy(
MAIN_HELP*64,49,MAIN_HELP*64,51+NO_HELP_COMMANDS*16,0,1);
Linexy(
MAIN_HELP*64+63,49,MAIN_HELP*64+63,51+NO_HELP_COMMANDS*16,0,1);
Linexy(
MAIN_HELP*64,51+NO_HELP_COMMANDS*16,MAIN_HELP*64+63,51+NO_HELP_COMMANDS*16,0,1);
}
}
void set(void)
{
current_command=&set_menu[SET_DDJ];
// BlockClr(0,50,40,170);
return;
}
再續 [zpq001] 2005-1-22 15:20:29
void method(void)
{
current_command=&fangfa_menu[FANGFA_FANGFA1];
// BlockClr(0,50,40,170);
return;
}
void function(void)
{
current_command=&gongneng_menu[GONGNENG_analyse];
// BlockClr(0,50,40,170);
return;
}
void pll(void)
{
current_command=&pll_menu[PLL_PLL1];
// BlockClr(0,50,40,170);
return;
}
void help(void)
{
current_command=&help_menu[HELP_HELP1];
// BlockClr(0,50,40,170);
return;
}
void help2(void)
{
}
void help1(void)
{
}
void pll3(void)
{
}
void pll2(void)
{
}
void pll1(void)
{
}
/****************************************************************************
* 函數: void analyse(void)
*----------------------------------------------------------------------------
* 參數: 無
*----------------------------------------------------------------------------
* 返回: 無
*----------------------------------------------------------------------------
* 目的:
*----------------------------------------------------------------------------
* 舉例:
*----------------------------------------------------------------------------
* 注意:
*----------------------------------------------------------------------------
* 需求:
*****************************************************************************/
void analyse(void)
{
}
/****************************************************************************
* 函數: void gongneng2(void)
*----------------------------------------------------------------------------
* 參數: 無
*----------------------------------------------------------------------------
* 返回: 無
*----------------------------------------------------------------------------
* 目的:
*----------------------------------------------------------------------------
* 舉例:
*----------------------------------------------------------------------------
* 注意: 注意步進電機速度問題
*----------------------------------------------------------------------------
* 需求:
*****************************************************************************/
void gongneng2(void)
{
}
/****************************************************************************
* 函數: void gongneng3(void)
*----------------------------------------------------------------------------
* 參數: 無
*----------------------------------------------------------------------------
* 返回: 無
*----------------------------------------------------------------------------
* 目的:
*----------------------------------------------------------------------------
* 舉例:
*----------------------------------------------------------------------------
* 注意:
*----------------------------------------------------------------------------
* 需求:
*****************************************************************************/
void gongneng3(void)
{
}
/****************************************************************************
* 函數: void gongneng4(void)
*----------------------------------------------------------------------------
* 參數: 無
*----------------------------------------------------------------------------
* 返回: 無
*----------------------------------------------------------------------------
* 目的:
*----------------------------------------------------------------------------
* 舉例:
*----------------------------------------------------------------------------
* 注意:
*----------------------------------------------------------------------------
* 需求:
*****************************************************************************/
void gongneng4(void)
{
}
void gongneng5(void)
{
}
void fang1(void)
{
}
void fang2(void)
{
}
void fang3(void)
{
}
void fang4(void)
{
}
void fang5(void)
{
}
void shezi(void)
{
}
void mainfangfa(void)
{
}
void biaoyang(void)
{
}
void brj(void)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -