www.pudn.com > MP3DIY.rar > lcd501.c


//====================================================================================================== 
//   Project Name(项目名称):  SPCA755 rebuild 
//   File Name(模块名称): lcd501.c 
//   Built Date(创建日期): 
//   Abstract(模块描述):  
//   Revision History(版本信息): 
//   Rev      Date           Author       Comment(修改说明) 
//   1.0                                  created 
//====================================================================================================== 
#include "..\userdefine.h" 
#include "lcd501.h" 
#include "..\USER\user.h" 
#include "..\USER\userinit.h" 
#include "..\USER\main.h" 
//====================================================================================================== 
U8				X_G_OverStep_DispArea;//lyh add to indicate the screen to show is beyond the LCD or not! 
data	U16		gw_PowerOffTimer;//lyh add 
//U8 xdata X_G_DispFileName_ByteOffset;//lyh add multi with gw_DispFileName_ByteOffset 
xdata	U8		gc_PlaySequenceMode;//lyh add 
xdata 	U16 	gw_DispFileName_ByteOffset;//lyh add 
//====================================================================================================== 
void LCD501_Disp_ABPoint(U8 gc_AB_Cnt); 
void LCD501_Disp_Apoint(U8 OnOff); 
void LCD501_Disp_Battery(); 
void LCD501_Disp_BattValue(); 
void LCD501_Disp_Bitrate(unsigned int bitrate); 
void LCD501_Disp_Bpoint(U8 OnOff); 
void LCD501_Disp_CheckDisk(); 
void LCD501_Disp_CurrentFileMode(U8 CurrentFileMode); 
void LCD501_Disp_DeleteOrnot(); 
void LCD501_Disp_DSPEQ(U8 gc_PlayEQMode); 
void LCD501_Disp_ENG_Menu(U8 SubState); 
void LCD501_Disp_FileIndex_InDIR(unsigned int FileIndex,unsigned int DirTotalFile); 
U8 LCD501_Disp_FileName(U8 *DataBuf, U8 nByte,U8 DispOnOff); 
void LCD501_Disp_FreeMemory(); 
void LCD501_Disp_Full(); 
void LCD501_Disp_FWVersion(); 
void LCD501_Disp_HHMMSS(unsigned int LCD_SecondNum); 
void LCD501_Disp_Icon_Lock(U8 OnOff); 
void LCD501_Disp_IconMenu(U8 SubState); 
void LCD501_Disp_LowBattery(); 
void LCD501_Disp_NoFile(U8 selectDir); 
void LCD501_Disp_PCConnect(); 
void LCD501_Disp_PowerOff(); 
void LCD501_Disp_REP1ALL(U8 G_Rep_Cnt); 
void LCD501_Disp_Saving(); 
void LCD501_Disp_StorageError(U8 ErrNo); 
void LCD501_Disp_TotalMemory(); 
void LCD501_Disp_VOL_LEVEL(U8 G_DSP_Volume); 
void LCD501_HEX_BCD(unsigned int num,U8 *Hi,U8 *MidH, U8 *MidL, U8 *Low); 
void LCD501_MP3_Playing_LCDHandle(); 
void LCD501_Playing_Pause_Stop_Record(U8 XState); 
void LCD501_PlayingRecording_HandleTime(); 
void LCD501_Adjust_Contrast(U8 G_Current_Contrast); 
 
void SPLC501_Disp_TASOLogo();//lyh lss 
//====================================================================================================== 
void LCD501_Disp_Icon_Lock(U8 OnOff) 
{ 
   SPLC501_Disp_Lock(OnOff); 
} 
//====================================================================================================== 
void LCD501_Disp_VOL_LEVEL(U8 G_DSP_Volume) 
{ 
   SPLC501_Disp_Volume(G_DSP_Volume/3); 
} 
//====================================================================================================== 
void LCD501_Disp_ABPoint(U8 gc_AB_Cnt) 
{ 
    switch(gc_AB_Cnt) 
	{ 
	case 0: 
		SPLC501_Disp_Apoint(OFF); 
		SPLC501_Disp_Bpoint(OFF); 
		break; 
	case 1: 
		SPLC501_Disp_Apoint(ON); 
		SPLC501_Disp_Bpoint(OFF); 
		break; 
	case 2: 
		SPLC501_Disp_Apoint(ON); 
		SPLC501_Disp_Bpoint(ON); 
		break; 
	} 
} 
//====================================================================================================== 
void LCD501_Disp_Apoint(U8 OnOff) 
{ 
   SPLC501_Disp_Apoint(OnOff); 
} 
//====================================================================================================== 
void LCD501_Disp_Bpoint(U8 OnOff) 
{ 
   SPLC501_Disp_Bpoint(OnOff); 
} 
//====================================================================================================== 
void LCD501_Disp_IconMenu(U8 SubState) 
{ 
	SubState--; 
	LCD501_Disp_ENG_Menu(SubState); 
} 
//====================================================================================================== 
void LCD501_Disp_REP1ALL(U8 G_Rep_Cnt) 
{ 
    SPLC501_Disp_REP1ALL(G_Rep_Cnt); 
} 
//====================================================================================================== 
void LCD501_Disp_DSPEQ(U8 gc_PlayEQMode) 
{ 
	U8 code X_EQ[][4]= 
	{ 
		{'N','O','R','M'}, 
		{'D','B','B',' '}, 
		{'J','A','Z','Z'}, 
		{'D','I','S','C'}, 
		{'P','O','P',' '}, 
		{'C','L','A','S'}, 
		{' ',' ',' ',' '} 
	}; 
	if(gc_UIMode)//if DVR mode, don't disp EQ mode 
	{ 
		gc_PlayEQMode=6; 
	} 
	SPLC501_Disp_LittleString(0,34,&X_EQ[gc_PlayEQMode][0],4); 
} 
//====================================================================================================== 
void LCD501_Disp_Battery() 
{ 
	if(gc_Battery_Level10) gb_LowBatt_State=1; 
	} 
	else 
	{ 
		LCD501_Disp_BattValue(); 
	} 
} 
//====================================================================================================== 
void LCD501_Disp_BattValue() 
{ 
	gc_LowBatt_SecondCount=0; 
	gb_LowBatt_State=0; 
	if(gc_Battery_Level10){  
		*Hi=*Hi%10; 
	} 
} 
//====================================================================================================== 
void LCD501_Disp_FileIndex_InDIR(unsigned int FileIndex,unsigned int DirTotalFile) 
{ 
	U8 Data[5]; 
	LCD501_HEX_BCD(FileIndex,(Data+2),(Data+2),(Data),(Data+1)); 
	LCD501_HEX_BCD(DirTotalFile,(Data+2),(Data+2),(Data+3),(Data+4)); 
	Data[2]=11;            //11 offset means '/' 
	#if (Glass_ColumnNum==132) 
	SPLC501_Disp_TrackOrTime(Data,102); 
	#else 
	SPLC501_Disp_TrackOrTime(Data,98); 
	#endif 
} 
//====================================================================================================== 
void LCD501_Disp_HHMMSS(unsigned int LCD_SecondNum)//show the time 
{ 
	U8 Time[5]; 
	Time[1]=(U8)(LCD_SecondNum/60); 
	Time[0]=(Time[1]/10)%10;Time[1]=Time[1]%10; 
 
	Time[4]=LCD_SecondNum%60; 
	Time[3]=Time[4]/10;Time[4]=Time[4]%10; 
 
	Time[2]=10; //10 offset means ':' 
	#if (Glass_ColumnNum==132) 
	SPLC501_Disp_TrackOrTime(Time,74); 
	#else 
	SPLC501_Disp_TrackOrTime(Time,70); 
	#endif 
} 
//====================================================================================================== 
void LCD501_Playing_Pause_Stop_Record(U8 XState) 
{ 
 
	SPLC501_Playing_Pause_Stop_Record(XState); 
} 
//====================================================================================================== 
void LCD501_Disp_NoFile(U8 selectDir) 
{ 
	SPLC501_Disp_NoFile(selectDir); 
} 
//====================================================================================================== 
U8 LCD501_Disp_FileName(U8 *DataBuf, U8 nByte,U8 DispOnOff) 
{ 
	U8 i,Column; 
	U8 Tmp_DataBuf[24]; 
	U8 Sts; 
	//L2_MCUClock_Select(L2K_MCU06to24); 
//  USER_MCUClock_Select(0); 
	i=0; 
	Column=7; 
	while(iGlass_ColumnNum) 
			{ 
				Sts=1; 
				goto DispOver; 
			} 
			if(DispOnOff) 
			{ 
				LCD_disp_HZKCharBMP(1,Column,Tmp_DataBuf,IsWord,0); 
			} 
			Column+=12; 
			i+=2; 
		}else{ 
			if((Column+8)>Glass_ColumnNum) 
			{ 
				Sts=1; 
				goto DispOver; 
			} 
			if(DispOnOff) 
			{ 
				LCD_disp_HZKCharBMP(1,Column,Tmp_DataBuf,IsChar,0); 
			} 
			Column+=8;			 
			i++; 
		} 
	} 
	Sts=0; 
DispOver: 
	while(Column> 4) ; 
    XDOSERROR[11] = (ErrNo & 0x0f) ; 
	SPLC501_Disp_LittleString(1,20,XDOSERROR,12); 
	SPLC501_Disp_LittleString(2,10,XPLSFORMAT,13); 
} 
//====================================================================================================== 
void LCD501_Disp_TotalMemory() 
{ 
    U8 i	 ; 
	U8 Data[7]; 
    U32 tdw_CARD_TotalSizeMB; 
	U8 code *TotalMemory[]={"Total Memory:","总容量:",}; 
 
    tdw_CARD_TotalSizeMB=USER_Get_SYSInformation(1);//lyh add 
//	printf("tdw_CARD_TotalSizeMB = %lx\n",tdw_CARD_TotalSizeMB);//lixt memory 
	LCD501_Clear_ALL(); 
	LCD501_HEX_BCD(tdw_CARD_TotalSizeMB,(Data+1),(Data+2),(Data+3),(Data+4));//modified by lyh! 
 	//Data[3]='.';Data[4]='0';Data[5]='M';Data[6]='\0'; 
    Data[5]='M';Data[6]='\0'; 
	Data[0]=' '; 
    for( i =0; i <4;i++) 
     if (Data[i] == 0) Data[i] =' '; 
    
 
#if (Glass_ColumnNum==132) 
	SPLC501_Printf(0x00,0x07,TotalMemory[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,Data); 
#else 
	SPLC501_Printf(0x00,0x00,TotalMemory[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,Data); 
#endif 
} 
//====================================================================================================== 
void LCD501_Disp_FreeMemory() 
{   
	U8 Data[8]; 
	U8 code *FreeMemory[]={"Free Memory:","剩余容量:",}; 
 
	LCD501_Clear_ALL(); 
	if(/*_G_FAT32Error||*/gc_DOS_ErrorStatus)//xyq modify 040614 
	{ 
		gdw_Dos_FreeMemorySizeMB=0; 
	}   
	LCD501_HEX_BCD(gdw_Dos_FreeMemorySizeMB,(Data),(Data+1),(Data+2),(Data+4)); 
	//Data[0]=gdw_Dos_FreeMemorySizeMB/1000; 
	if(Data[0]==0) 
	{ 
		Data[0]=' '; 
		if(Data[1]==0) Data[1]=' '; 
	} 
	Data[3]='.'; 
	Data[5]='M'; 
	Data[6]='\0'; 
//printf("Data[0]=%bu\n",Data[0]); 
//printf("Data[1]=%bu\n",Data[1]); 
//printf("Data[2]=%bu\n",Data[2]); 
//printf("Data[3]=%bu\n",Data[3]); 
//printf("Data[4]=%bu\n",Data[4]); 
 
/* 
    if(Data[0] >= 10) 
    { 
	 for ( i=0;i<6;i++) 
    	    Data[7-i]=Data[6-i]; 
     Data[1] = Data[0] %10;     
     Data[0] = Data[0] /10;      
    } 
    for ( i=0;i<7;i++) 
    		if(Data[i]==0)Data[i]='0'; 
*/ 
	if(Data[1]==0) Data[1]='0'; 
	if(Data[2]==0) Data[2]='0'; 
	if(Data[4]==0) Data[3]='M'; 
#if (Glass_ColumnNum==132) 
	SPLC501_Printf(0x00,0x07,FreeMemory[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,Data); 
#else 
	SPLC501_Printf(0x00,0x00,FreeMemory[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,Data); 
#endif 
 
} 
//====================================================================================================== 
void LCD501_Disp_FWVersion() 
{ 
	U8 code *FWVersion[]={"Version:","软件版本:",}; 
	U8 code FWVersionNum[]="4.00.ST"; 
 
	LCD501_Clear_ALL(); 
#if (Glass_ColumnNum==132) 
	SPLC501_Printf(0x00,0x07,FWVersion[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,FWVersionNum); 
#else 
	SPLC501_Printf(0x00,0x00,FWVersion[gc_MenuHZK]); 
	SPLC501_Printf(0x02,50,FWVersionNum); 
#endif 
 
} 
 
void SPLC501_Disp_TASOLogo() 
{ 
	U8 code Logo[]="WWW.TASO123.COM"; 
	U8 code Mp3diy[]={'.','.','.','M','P','6','.','D','I','Y','.','.','.',}; 
	SPLC501_Printf(0x6,0,Logo); 
	SPLC501_Erase_OnePage(5);     //clear 
	SPLC501_Disp_LittleString(5,18,Mp3diy,13); 
 
} 
//====================================================================================================== 
 void LCD501_Adjust_Contrast(U8 G_Current_Contrast) 
{ 
	write_SPLC501CI(0x81); 
	write_SPLC501CI(/*0x0c+*/G_Current_Contrast*2); 
} 
//====================================================================================================== 
void LCD501_Disp_DeleteOrnot() 
{ 
	U8 code DeleteOrnot[]={'D','E','L','E','T','E'}; 
	SPLC501_Disp_LittleString(3,34,DeleteOrnot,6); 
} 
//====================================================================================================== 
void LCD501_Disp_CheckDisk() 
{ 
	U8 code *CheckDisk[]={"CheckDisk...","检查磁盘...",}; 
 
	LCD501_Clear_ALL(); 
#if (Glass_ColumnNum==132) 
	SPLC501_Printf(0x01,0x07,CheckDisk[gc_MenuHZK]); 
#else 
	SPLC501_Printf(0x01,0x00,CheckDisk[gc_MenuHZK]); 
#endif 
} 
//====================================================================================================== 
void LCD501_Disp_LowBattery() 
{ 
	U8 code LowBattery[]={'L','o','w',' ','B','a','t','t','e','r','y'}; 
	LCD501_Clear_ALL(); 
	LCD501_Disp_FileName(LowBattery,11,1); 
} 
//====================================================================================================== 
void LCD501_MP3_Playing_LCDHandle() 
{ 
	LCD501_PlayingRecording_HandleTime(); 
} 
//====================================================================================================== 
void LCD501_Disp_Saving() 
{ 
	U8 *PowerOff[]= 
	{ 
		"Saving...", 
		"保存中...", 
	}; 
	LCD501_Clear_ALL(); 
	SPLC501_Printf(0x01,35,&PowerOff[gc_MenuHZK][0]); 
} 
//====================================================================================================== 
void LCD501_PlayingRecording_HandleTime() 
{ 
 
    if(gc_SystemStateMode!=STATE_FF&&gc_SystemStateMode!=STATE_FR) 
    G_DISPLAY_TotalSec=UI_GetDispTimeFromDispBuf();//lyh add 
//printf("G_DISPLAY_TotalSec=%bu\n",G_DISPLAY_TotalSec); 
	if(G_W_OldTime!=G_DISPLAY_TotalSec) 
	{ 
		G_W_OldTime=G_DISPLAY_TotalSec; 
		if(!gc_Busy_Timer) 
		{ 
			LCD501_Disp_HHMMSS(G_W_OldTime);//busy dont disp hhmmss 
		} 
	} 
} 
//====================================================================================================== 
void LCD501_Disp_PCConnect() 
{ 
	LCD501_Clear_ALL(); 
	SPLC501_Disp_PC(); 
	SPLC501_Disp_MyMP3Logo(); 
	SPLC501_Disp_USBLine(); 
} 
//====================================================================================================== 
void LCD501_Disp_PowerOff() 
{ 
	U8 *PowerOff[]= 
	{ 
		"Power off...", 
		"关机...", 
	}; 
	LCD501_Clear_ALL(); 
	SPLC501_Printf(0x01,35,&PowerOff[gc_MenuHZK][0]); 
} 
//====================================================================================================== 
void LCD501_Disp_Full() 
{ 
	U8 code StorageFull[]={' ',' ',' ','F','U','L','L'}; 
	LCD501_Disp_FileName(StorageFull,7,1); 
} 
//====================================================================================================== 
void LCD501_Disp_ENG_Menu(U8 SubState) 
{ 
	U8 code Menu_Combination[][2]= 
	{ 
		0,0,//1 
		0,0,//2 
		0,0,//3 
		0,0,//4 
		0,0,//5 
		0,0,//6 
		//mode select 
		0,0,//7 
		0,1,//8 
		//repeat 
		1,2,//9 
		1,3,//10 
		1,4,//11 
		1,5,//12 
		1,6,//13 
		//EQ 
		2,7,//14 
		2,8,//15 
		2,9,//16 
		2,10,//17 
		2,11,//18 
		2,12,//19 
		2,13,//20 
		//VSP 
		14,56,//21 
		14,57,//22 
		14,58,//23 
		14,59,//24 
		14,60,//25 
		//settings 
		4,14,//26 
		4,15,//27 
		4,16,//28 
		4,17,//29 
		4,18,//30 
		//back light 
		5,19,//31 
		5,20,//32 
		5,21,//33 
		5,22,//34 
		5,23,//35 
		5,24,//36 
		//contrast 
		6,25,//37 
		6,26,//38 
		6,27,//39 
		6,28,//40 
		6,29,//41 
		6,30,//42 
		6,31,//43 
		6,32,//44 
		6,33,//45 
		6,34,//46 
		//idle time 
		7,35,//47 
		7,36,//48 
		7,37,//49 
		7,38,//50 
		7,39,//51 
		//del&format 
		3,40,//52 
		3,41,//53 
		//language 
		8,42,//54 
		8,43,//55 
		8,44,//56 
		8,45,//57 
		8,46,//58 
		//information								 
		9,47,//59 
		9,48,//60 
		9,49,//61 
		//format 
		10,50,//62 
		10,51,//63 
		//record file format 
		0,53,//64 
		13,55,//65 
		13,54,//66 
 
		0,0,//67 
		0,0,//68 
		0,0,//69 
		//playlist 
		15,61,//70 
		15,62,//71 
		//FM mode 
		0,63,//72 
		16,64,//73 
		16,65,//74 
		16,66,//75 
		16,67,//76 
		16,68,//77 
		//S_FM_Stereo 
		 
		17,69,//78 
		17,70,//79 
		16,71,//80 
		18,72,//81 
		18,73,//82 
		//Surround 
		//19,73,//83 
		//19,74,//84 
			 
		//formating 
		11,52,//83 
		//deleting 
		12,52,//84 
 
	}; 
	U8 code GB_MM_Mode[]={0x5e,0xc4,0xa3,0xca,0xbd,'\0',};//^模式 
	U8 code GB_MM_REPMode[]={0x5e,0xd6,0xd8,0xb8,0xb4,0xc4,0xa3,0xca,0xbd,'\0',};//^重复模式 
	U8 code GB_MM_EQ[]={0x5e,0xd2,0xf4,0xd0,0xa7,'\0',};//^音效 
	U8 code GB_MM_ERASE[]={0x5e,0xb4,0xc5,0xc5,0xcc,0xb2,0xd9,0xd7,0xf7,'\0',};//^磁盘操作 
	U8 code GB_MM_SET[]={0x5e,0xc9,0xe8,0xd6,0xc3,'\0',};//^设置 
	U8 code GB_MM_BACKLIT[]={0x5e,0xb1,0xb3,0xb9,0xe2,0xca,0xb1,0xbc,0xe4,'\0',};//^背光时间 
	U8 code GB_MM_CONTRAST[]={0x5e,0xb6,0xd4,0xb1,0xc8,0xb6,0xc8,'\0',};//^对比度 
	U8 code GB_MM_IDLE[]={0x5e,0xb4,0xfd,0xbb,0xfa,0xca,0xb1,0xbc,0xe4,'\0',};//^待机时间 
	U8 code GB_MM_LANGUAGE[]={0x5e,0xd3,0xef,0xd1,0xd4,'\0',};//^语言 
	U8 code GB_MM_INFO[]={0x5e,0xb1,0xbe,0xbb,0xfa,0xd0,0xc5,0xcf,0xa2,'\0',};//^本机信息 
	U8 code GB_MM_Format[]={0xb8,0xf1,0xca,0xbd,0xbb,0xaf,0x3f,'\0',};//格式化? 
	U8 code GB_MM_Formating[]={0xb8,0xf1,0xca,0xbd,0xbb,0xaf,0xd6,0xd0,'\0',};//格式化中 
	U8 code GB_MM_Deleting[]={0xc9,0xbe,0xb3,0xfd,0xd6,0xd0,'\0',};//删除中 
	U8 code GB_MM_Recordfile[]={0xc2,0xbc,0xd2,0xf4,0xce,0xc4,0xbc,0xfe,'\0',};//录音文件 
	U8 code GB_MM_VSP[]={0x5e,0xb1,0xe4,0xcb,0xd9,0xb2,0xa5,0xb7,0xc5,'\0',};//^变速播放 
	U8 code GB_MM_PL[]={0x5e,0xb2,0xa5,0xb7,0xc5,0xc1,0xd0,0xb1,0xed,'\0',};//^播放列表 
	U8 code GB_MM_FM[]={0xca,0xd5,0xd2,0xf4,0xb7,0xbd,0xca,0xbd,'\0',};//收音方式 
	U8 code GB_MM_FMChannel[]={0x5e,0xc9,0xf9,0xb5,0xc0,0xc4,0xa3,0xca,0xbd,'\0',};//^声道模式 
	//U8 code GB_MM_FMSearchMode[]={0x5e,0xcb,0xd1,0xcc,0xa8,0xc4,0xa3,0xca,0xbd,'\0',};//^搜台模式 
	U8 code GB_MM_FMSensitivity[]={0xc1,0xe9,0xc3,0xf4,0xb6,0xc8,'\0',};//灵敏度 
//	U8 code GB_SRS[]={}; 
 
	U8 code *MainMenuArray[][2]= 
	{ 
		"^MODE",GB_MM_Mode,//0 
		"^REPEAT",GB_MM_REPMode,//1 
		"^EQ",GB_MM_EQ,//2 
		"^ERASE",GB_MM_ERASE,//3 
		"^SET",GB_MM_SET,//4 
 
		"^BACKLIGHT",GB_MM_BACKLIT,//5 
		"^CONTRAST",GB_MM_CONTRAST,//6 
		"^IDLE",GB_MM_IDLE,//7 
		"^LANGUAGE",GB_MM_LANGUAGE,//8 
		"^INFORMATION",GB_MM_INFO,//9 
 
		"FORMAT?",GB_MM_Format,//10 
		"FORMATING",GB_MM_Formating,//11 
		"DELETING",GB_MM_Deleting,//12 
 
		"Record file",GB_MM_Recordfile,//13 
		"^Speed Control",GB_MM_VSP,//14 
		 
		"^Play List",GB_MM_PL,//15 
		"Select mode",GB_MM_FM,//16 
		"Channel",GB_MM_FMChannel,//17 
		"Sensitivity",GB_MM_FMSensitivity,//18 
 
	//	"^SURROUND","^环绕",//19 
	}; 
 
	U8 code GB_SM_Contrast[]={0x7E,0xb6,0xd4,0xb1,0xc8,0xb6,0xc8,0x7e,0x20,0xb4,0xfd,0xbb,0xfa,0xca,0xb1,0xbc,0xe4,'\0',};//~对比度~ 待机时间 
	U8 code GB_SM_Idletime[]={0x7E,0xb4,0xfd,0xbb,0xfa,0xca,0xb1,0xbc,0xe4,0x7e,0x20,0xd3,0xef,0xd1,0xd4,0xd1,0xa1,0xd4,0xf1,'\0',};//~对比度~ 待机时间 
	U8 code GB_SM_DEL_ONE[]={0x7E,0xc9,0xbe,0xb3,0xfd,0xb5,0xa5,0xc7,0xfa,0x7e,0x20,0xb8,0xf1,0xca,0xbd,0xbb,0xaf,'\0',};//~删除单曲~ 格式化 
	U8 code GB_SM_FORMAT[]={0x7E,0xb8,0xf1,0xca,0xbd,0xbb,0xaf,0x7e,0x20,0xc9,0xbe,0xb3,0xfd,0xb5,0xa5,0xc7,0xfa,'\0',};//~格式化~ 删除单曲 
	U8 code GB_SM_VSPNorm[]={0x7E,0xd5,0xfd,0xb3,0xa3,0x7e,0x20,0xc2,0xfd,0xcb,0xd9,0x31,0x20,0xc2,0xfd,0xcb,0xd9,0x32,'\0',};//~正常~ 慢速1 慢速2 
	U8 code GB_SM_VSPLow1[]={0x7E,0xc2,0xfd,0xcb,0xd9,0x31,0x7e,0x20,0xc2,0xfd,0xcb,0xd9,0x32,0x20,0xbf,0xec,0xcb,0xd9,0x31,'\0',};//~慢速1~ 慢速2 快速1 
	U8 code GB_SM_VSPLow2[]={0x7E,0xc2,0xfd,0xcb,0xd9,0x32,0x7e,0x20,0xbf,0xec,0xcb,0xd9,0x31,0x20,0xbf,0xec,0xcb,0xd9,0x32,'\0',};//~慢速2~ 快速1 快速2 
	U8 code GB_SM_VSPSpeed1[]={0x7E,0xbf,0xec,0xcb,0xd9,0x31,0x7e,0x20,0xbf,0xec,0xcb,0xd9,0x32,0x20,0xd5,0xfd,0xb3,0xa3,'\0',};//~快速1~ 快速2 正常 
	U8 code GB_SM_VSPSpeed2[]={0x7E,0xbf,0xec,0xcb,0xd9,0x32,0x7e,0x20,0xd5,0xfd,0xb3,0xa3,0x20,0xc2,0xfd,0xcb,0xd9,0x31,'\0',};//~快速2~ 正常 慢速1 
	U8 code GB_SM_PL_ALL[]={0x7e,0xc8,0xab,0xb2,0xbf,0xb2,0xa5,0xb7,0xc5,0x7e,0x20,0xc1,0xd0,0xb1,0xed,0xb2,0xa5,0xb7,0xc5,'\0',};//~全部播放~ 列表播放 
	U8 code GB_SM_PL_FAV[]={0x7e,0xc1,0xd0,0xb1,0xed,0xb2,0xa5,0xb7,0xc5,0x7e,0x20,0xc8,0xab,0xb2,0xbf,0xb2,0xa5,0xb7,0xc5,'\0',};//~全部播放~ 列表播放 
	U8 code *SubMenuArray[][2]= 
	{ 
		"~MUSIC~ VOICE F ","~音乐模式~ 语音模式",//0 
		"~VOICE~ FM MUSI ","~语音模式~ 收音模式",//1 
 
		"~NOREP~ REP-ONE ","~一般模式~ 重复单曲",//2 
		"~REP-ONE~ REP-A ","~重复单曲~ 重复所有",//3 
		"~REP-ALL~ RANDO ","~重复所有~ 随机播放",//4 
		"~RANDOM~ INTRO  ","~随机播放~ 浏览播放",//5 
		"~INTRO~ NOREP R ","~浏览播放~ 一般模式",//6 
		 
		"~NORM~ DBB JAZZ ","~默认~ 重低音 爵士",//7 
		"~DBB~ JAZZ DISC ","~重低音~ 爵士 摇滚",//8 
		"~JAZZ~ DISC POP ","~爵士~ 摇滚 流行",//9 
		"~DISC~ POP CLAS ","~摇滚~ 流行 古典",//10 
		"~POP~  CLAS SURR ","~流行~ 古典 环绕",//11 
		"~CLAS~ SURR NORM ","~古典~ 环绕 默认", //12 
		"~SURR~ NORM DBB ","~古典~ 默认 重低音",//13                  
 
		"~BACKLIT~ CONTR ","~背光时间~ 对比度",//14 
		"~CONTRAST~ IDLE ",GB_SM_Contrast,//15 
		"~IDLETIME~ LANG ",GB_SM_Idletime,//16 
		"~LANGUAGE~ DEFA ","~语言选择~ 原厂设定",//17 
		"~DEFAULT~ BACKL ","~原厂设定~ 背光时间",//18 
 
		"~10~ 20 30 60 P ","~10秒~ 20秒 30秒 60",//19 
		"~20~ 30 60 PREM ","~20秒~ 30秒 60秒 开",//20 
		"~30~ 60 PREM OF ","~30秒~ 60秒 开 关",//21 
		"~60~ PREM OFF 1 ","~60秒~ 开 关 10秒",//22 
		"~PREM~ OFF 10 2 ","~开~ 关 10秒 20秒",//23 
		"~OFF~ 10 20 30  ","~关~ 10秒 20秒 30秒",//24 
 
		"~0~ 1 2 3 4 5 6 ","~0~ 1 2 3 4 5 6 ",//25 
		"~1~ 2 3 4 5 6 7 ","~1~ 2 3 4 5 6 7 ",//26 
		"~2~ 3 4 5 6 7 8 ","~2~ 3 4 5 6 7 8 ",//27 
		"~3~ 4 5 6 7 8 9 ","~3~ 4 5 6 7 8 9 ",//28 
		"~4~ 5 6 7 8 9 0 ","~4~ 5 6 7 8 9 0 ",//29 
		"~5~ 6 7 8 9 0 1 ","~5~ 6 7 8 9 0 1 ",//30 
		"~6~ 7 8 9 0 1 2 ","~6~ 7 8 9 0 1 2 ",//31 
		"~7~ 8 9 0 1 2 3 ","~7~ 8 9 0 1 2 3 ",//32 
		"~8~ 9 0 1 2 3 4 ","~8~ 9 0 1 2 3 4 ",//33 
		"~9~ 0 1 2 3 4 5 ","~9~ 0 1 2 3 4 5 ",//34 
 
		"~OFF~ 3 5 10 30 ","~关~ 3分钟 5分钟",//35 
		"~3~ 5 10 30 OFF ","~3分钟~ 5分钟 10",//36 
		"~5~ 10 30 OFF 3 ","~5分钟~ 10分钟 3",//37 
		"~10~ 30 OFF 3 5 ","~10分钟~ 30分钟 关",//38 
		"~30~ OFF 3 5 10 ","~30分钟~ 关 3分钟",//39 
 
		"~DEL-ONE~ FORMAT",GB_SM_DEL_ONE,//40 
		"~FORMAT~ DEL-ONE",GB_SM_FORMAT,//41 
 
		"~ENG~ S.CHN T.C ","~英文~ 简体 繁体",//42 
		"~S.CHN~ T.CHN J ","~简体~ 繁体 日文",//43 
		"~T.CHN~ JAP ENG ","~繁体~ 日文 德文",//44 
		"~JAP~ GER ENG S ","~日文~ 德文 英文",//45 
		"~GER~ ENG S.CHN ","~德文~ 英文 简体",//46 
 
		"~TOTAL MEMORY~  ","~总容量~ 剩余容量",//47 
		"~FREE MEMORY~ F ","~剩余容量~ 软件版本",//48 
		"~FW VERSION~ TO ","~软件版本~ 总容量",//49 
 
		"~OK~ CANCEL","~确定~ 取消",//50 
		"~CANCEL~ OK","~取消~ 确定",//51 
		"PLEASE WAIT...","请稍等...",//52 
 
		"~RECORD~ MUSIC  ","~录音模式~ 音乐模式",//53 
		"~WAV~ ASF","~WAV文件~ ASF文件",//54 
		"~ASF~ WAV","~ASF文件~ WAV文件",//55 
		 
		"~Normal~ Low 1 Low 2",GB_SM_VSPNorm,//56 
		"~Low 1~ Low 2 Speed 1",GB_SM_VSPLow1,//57 
		"~Low 2~ Speed 1 Speed 2",GB_SM_VSPLow2,//58 
		"~Speed 1~ Speed 2 Normal",GB_SM_VSPSpeed1,//59 
		"~Speed 2~ Normal Low 1",GB_SM_VSPSpeed2,//60 
		 
		"~All~ Favorite",GB_SM_PL_ALL,//61 
		"~Favorite~ All",GB_SM_PL_FAV,//62 
		 
		"~FM~ MUSIC VOIC","~收音模式~ 音乐模式",//63 
		"~Mode~ Auto","~模式选择~ 自动搜台",  //64 
		"~Auto~ Manual","~自动搜台~ 手动搜台",//65 
		"~Manual~ Preset","~手动搜台~ 预设搜台",//66 
		"~Preset~ Channel","~预设搜台~ 声道选择",//67 
		"~Channel~ Sensitivity","~声道选择~ 灵敏度",//68 
		"~Stereo~ Mono","~立体声~ 单声道",//69 
		"~Mono~ Stereo","~单声道~ 立体声",//70 
		"~Sensitivity~ Mode","~灵敏度~ 模式选择",//71 
		"~High~ Low","~高~ 低",//72 
		"~Low~ High","~低~ 高",//73 
		 
    	//"~Open~   Close","~开环绕~   关环绕",//73, 
        //"~Close~  Open","~关环绕~   开环绕", 
       // "~Open",GB_SM_VSPSpeed2,//73 
       // "~Close",GB_SM_VSPSpeed2,//74 
 
	}; 
//	gc_MenuHZK = 0; 
#if (Glass_ColumnNum==132) 
	SPLC501_Fill_Value(0x00,0x00,7,0x00); 
	SPLC501_Printf(0x00,0x07,&MainMenuArray[Menu_Combination[SubState][0]][gc_MenuHZK][0]); 
	SPLC501_Fill_Value(0x02,130,2,0x00); 
 
	SPLC501_Fill_Value(0x02,0x00,7,0x00); 
	if(Menu_Combination[SubState][1]!=51)//"PLEASE WAIT...","请稍等...",//51 
	{ 
		SPLC501_Write_CharABC(0x02,0x07,0,'<'); 
	}else{ 
		SPLC501_Write_CharABC(0x02,0x07,0,' '); 
	} 
	SPLC501_Printf(0x02,0x08+0x07,&SubMenuArray[Menu_Combination[SubState][1]][gc_MenuHZK][0]); 
	if(Menu_Combination[SubState][1]!=51)//"PLEASE WAIT...","请稍等...",//51 
	{ 
		SPLC501_Write_CharABC(0x02,122,0,'>'); 
	}else{ 
		SPLC501_Write_CharABC(0x02,122,0,' '); 
	} 
	SPLC501_Fill_Value(0x02,130,2,0x00); 
#else 
	SPLC501_Printf(0x00,0x00,&MainMenuArray[Menu_Combination[SubState][0]][gc_MenuHZK][G_CurrentHZK][0]); 
	if(Menu_Combination[SubState][1]!=51)//"PLEASE WAIT...","请稍等...",//51 
	{ 
		SPLC501_Write_CharABC(0x02,0x00,0,'<'); 
	}else{ 
		SPLC501_Write_CharABC(0x02,0x00,0,' '); 
	} 
	SPLC501_Printf(0x02,0x08,&SubMenuArray[Menu_Combination[SubState][1]][gc_MenuHZK][0]); 
	if(Menu_Combination[SubState][1]!=51)//"PLEASE WAIT...","请稍等...",//51 
	{ 
		SPLC501_Write_CharABC(0x02,120,0,'>'); 
	}else{ 
		SPLC501_Write_CharABC(0x02,120,0,' '); 
	} 
#endif 
} 
//======================================================================================================