📄 mtv018.c
字号:
/*-----------------------------------------------------------------------------*/
//二级菜单高亮程序
void SubMenuHlight(void)//SUB_MENU_HLIGHT;执行二级菜单高亮
{
uchar i,j;
uchar Buf[12];
i = 0xA1;
do
{
j = 5;
do
{
Buf[0] = i;
Buf[1] = j;
Buf[2] = b00000010B;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],2);
j++;
}while(j<15);
i++;
}while(i<0xA5);
Buf[0] = ucSelectKeyCnt + 0xA1;
Buf[1] = 0x45;
Buf[2] = b00000111B;
Buf[3] = b00000111B;
Buf[4] = b00000111B;
Buf[5] = b00000111B;
Buf[6] = b00000111B;
Buf[7] = b00000111B;
Buf[8] = b00000111B;
Buf[9] = b00000111B;
Buf[10] = b00000111B;
Buf[11] = b00000111B;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],11);//全部二级菜单绿色
}
/********************************************************************************************************
Descriptions: 菜单调整条程序,菜单对遥控的响应处理
input parameters: None
Returned value: None
Used global variables: None
Calling modules: None
Created by: xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
Modified by:
********************************************************************************************************/
uchar code TAB_NORMAL[]=
{ 0x00,OSD_N,OSD_0,OSD_R,OSD_M,OSD_A,OSD_L,0x00,0x00,0x00};//NORMAL
uchar code TAB_MIRROR[]=
{ 0x00,0x00,0x00,OSD_M,OSD_I,OSD_R,OSD_R,OSD_0,OSD_R,0x00};//MIRROR
uchar code TAB_BLUE[]=
{ 0x00,0x00,0x00,OSD_B,OSD_L,OSD_U,OSD_E,OSD_NC,0x00,0x00};//RESET
uchar code TAB_AUTO[]=
{ 0x00,0x00,0x00,OSD_A,OSD_U,OSD_T,OSD_0,0x00,0x00,0x00};//UHF
uchar code TAB_ON[]=
{ 0x00,0x00,0x00,OSD_0,OSD_N,OSD_NC,0x00,0x00,0x00,0x00};//ON
uchar code TAB_OFF[]=
{ 0x00,0x00,0x00,OSD_0,OSD_F,OSD_F,0x00,0x00,0x00,0x00};//OFF
uchar code TAB_DOWN_RESET[]=
{ 0x00,0x00,0x00,OSD_R,OSD_E,OSD_S,OSD_E,OSD_T,OSD_NC,0x00};//RESET
void MenuAdjustBar(void)
{
uchar ucValue;
uchar Buf[4];
if(ucMenuKeyCnt == 1)//PIC子菜单
{
switch(ucSelectKeyCnt)
{
case 0:
{
ucValue = AllSimAdjust(ucBright);
if(ucValue != ucBright)
ucVideoModel = CUSTOM;
ucBright = ucValue;
DispBar(ucBright); //显示中间调整条
DispBarData(ucBright); //显示调整条数字
SimAdjustAttr(); //模拟量调整显示属性
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xE0;//字符
Buf[3] = 0xE1;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 1:
{
ucValue = AllSimAdjust(ucContrast);
if(ucValue != ucContrast)
ucVideoModel = CUSTOM;
ucContrast = ucValue;
DispBar(ucContrast); //显示中间调整条
DispBarData(ucContrast); //显示调整条数字
SimAdjustAttr(); //模拟量调整显示属性
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xE2;//字符
Buf[3] = 0xE3;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 2:
{
ucValue = AllSimAdjust(ucColor);
if(ucValue != ucColor)
ucVideoModel = CUSTOM;
ucColor = ucValue;
DispBar(ucColor); //显示中间调整条
DispBarData(ucColor); //显示调整条数字
SimAdjustAttr(); //模拟量调整显示属性
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xC6;//字符
Buf[3] = 0xC7;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 3:
{
ucResetValue = AllSwitchAdjust(ucResetValue);
DispSwitchAdjustFront(TAB_NORMAL);
DispSwitchAdjustRear(TAB_DOWN_RESET);
DataOKBlink(ucResetValue);
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xB0;
Buf[3] = 0xB1;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
}//the end of switch(ucSelectKeyCnt)
}//if(ucMenuKeyCnt == 1)
//FM OSD显示声音调整菜单;入口参数:A=2 ;声音子菜单
if(ucMenuKeyCnt == 2)
{
switch(ucSelectKeyCnt)
{
case 0:
{
ucBass = AllSoundAdjust(ucBass);
DispSoundBar(ucBass);//显示声音指示条
DispSoundBarData(ucBass);//声音OSD指示条后数据(前后)
SimAdjustAttr();//模拟量调整显示属性
SendSoundDataPT2313();//送声音参数到PT2313
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xC8;//字符
Buf[3] = 0xC9;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 1:
{
ucTreble = AllSoundAdjust(ucTreble);
DispSoundBar(ucTreble);//显示声音指示条
DispSoundBarData(ucTreble);//声音OSD指示条后数据(前后)
SimAdjustAttr();//模拟量调整显示属性
SendSoundDataPT2313();//送声音参数到PT2313
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xCA;//字符
Buf[3] = 0xCB;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 2:
{
ucBalanceRL = AllSoundAdjust(ucBalanceRL);
DispSoundBar(ucBalanceRL);//显示声音指示条
DispSoundBarDataRL(ucBalanceRL);//声音OSD指示条后数据(前后)
SimAdjustAttr();//模拟量调整显示属性
SendSoundDataPT2313();//送声音参数到PT2313
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xD0;//字符
Buf[3] = 0xD1;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 3:
{
ucBalanceFB = AllSoundAdjust(ucBalanceFB);
DispSoundBar(ucBalanceFB);//显示声音指示条
DispSoundBarDataFR(ucBalanceFB);//声音OSD指示条后数据(前后)
SimAdjustAttr();//模拟量调整显示属性
SendSoundDataPT2313();//送声音参数到PT2313
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xD6;
Buf[3] = 0xD7;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
}//the end of switch(ucSelectKeyCnt)
}//if(ucMenuKeyCnt == 2)
//;设置标志选择
if(ucMenuKeyCnt == 3)
{
switch(ucSelectKeyCnt)
{
case 0:
{
ucMirrorValue = AllSwitchAdjust(ucMirrorValue);
DispSwitchAdjustFront(TAB_NORMAL);
DispSwitchAdjustRear(TAB_MIRROR);
DataOKBlink(ucMirrorValue);
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xC8;//字符
Buf[3] = 0xC9;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 1:
{
ucBlueValue = AllSwitchAdjust(ucBlueValue);
DispSwitchAdjustFront(TAB_ON);
DispSwitchAdjustRear(TAB_OFF);
DataOKBlink(ucBlueValue);
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xA8;//字符
Buf[3] = 0xA9;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 2:
{
ucBellValue = AllSwitchAdjust(ucBellValue);
DispSwitchAdjustFront(TAB_ON);
DispSwitchAdjustRear(TAB_OFF);
DataOKBlink(ucBellValue);
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0x24;//按键音图标
Buf[3] = 0x25;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
case 3:
{
ucTVAutoValue = AllSwitchAdjust(ucTVAutoValue);
DispSwitchAdjustFront(TAB_OFF);
DispSwitchAdjustRear(TAB_AUTO);
DataOKBlink(ucTVAutoValue);
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x45;
Buf[2] = 0xAA;//调谐图标
Buf[3] = 0xAB;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
break;
}//the end of case
}//the end of switch(ucSelectKeyCnt)
}//if(ucMenuKeyCnt == 3)
}//the end of function void MenuAdjustBar(void)
/*-----------------------------------------------------------------------------*/
//显示声音指示条
void DispSoundBar(uchar ucValue)
{
uint8 Buf[3],i,j;
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x47;
Buf[2] = 0x9F;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],2);
//ucValue = ucValue>>2;
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
j = 0xff;
for(i = 0x48;i<0x57;i++)
{
Buf[1] = i;
j++;
if(j == ucValue)
Buf[2] = 0xA0;
else
Buf[2] = 0xA6;
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],2);
}
}
/*-----------------------------------------------------------------------------*/
//声音OSD指示条后数据
void DispSoundBarData(uint8 AdjustDispRam)
{
uint8 Buf[5];
if(bFMDoubleSizeID)
Buf[0] = 0x89;
else
Buf[0] = 0x8A;
Buf[1] = 0x57;
Buf[2] = 0xA7;
if(AdjustDispRam == 7)
{
Buf[3] = 1;
Buf[4] = 1;
}
else if(AdjustDispRam > 7)
{
Buf[3] = 0xF0; //+
Buf[4] = (AdjustDispRam - 7)+1;
}
else
{
Buf[3] = 0xEF; //-
Buf[4] = (7 - AdjustDispRam)+1;
}
ISendStr(MTV018_ADDR,Buf[0],&Buf[1],4);
}
/*-----------------------------------------------------------------------------*/
//声音OSD指示条后数据(前后)
void DispSoundBarDataFR(uchar AdjustDispRam)
{
uchar Buf[5];
AdjustDispRam <<= 1;//*2
if(bFMDoubleSizeID)//显示RADIO时双倍尺寸
Buf[0] = OSD_ADDR_ROW_9;
else
Buf[0] = OSD_ADDR_ROW_10;
Buf[1] = OSD_COLUMN_23;
Buf[2] = 0xa7;//"]"
if(AdjustDispRam == 14)
{
Buf[3] = 1;
Buf[4] = 1;
}
else if(AdjustDispRam >14)
{
Buf[3] = OSD_F;
Buf[4] = ((AdjustDispRam-14)>>1)+1;
}
else
{
Buf[3] = OSD_R;
Buf[4] = ((15-AdjustDispRam)>>1)+1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -