⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtv018.c

📁 MTV018驱动源程序。用于车载LCD TV的OSD菜单显示源程序。并且包括了I2C的源程序。
💻 C
📖 第 1 页 / 共 5 页
字号:
            Buf[1] =  OSD_COLUMN_23;
            Buf[2] =  OSD_NC;
            Buf[3] =  OSD_NC;
            Buf[4] =  OSD_NC;
            ISendStr(MTV018_ADDR,Buf[0],&Buf[1],4);
        }
        else if(ucAudioParam == AUDIO_RR)
        {
            Buf[0] =  OSD_ADDR_ROW_2;
            Buf[1] =  OSD_COLUMN_23;
            Buf[2] =  OSD_R;
            Buf[3] =  0xF2 ;
            Buf[4] =  OSD_R;
            ISendStr(MTV018_ADDR,Buf[0],&Buf[1],4);
        }
        else if(ucAudioParam == AUDIO_LL)
        {
            Buf[0] =  OSD_ADDR_ROW_2;
            Buf[1] =  OSD_COLUMN_23;
            Buf[2] =  OSD_L;
            Buf[3] =  0xF2 ;
            Buf[4] =  OSD_L;
            ISendStr(MTV018_ADDR,Buf[0],&Buf[1],4);
        }
    }//if(!bMainMenuOn)

    Buf[0] =  OSD_ATTR_ROW_2;
    Buf[1] =  OSD_COLUMN_23;
    Buf[2] =  GREEN;
    Buf[3] =  GREEN;
    Buf[4] =  GREEN;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],4);
}
/********************************************************************************************************
 Descriptions:          显示字符"VOLUME"OSD_DISP_CHAR_VOLUME:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void OSDDispCharVolume(void)
{
    uchar Buf[10];
    Buf[0] = 0x87  ;
    Buf[1] = 0x4C  ;
    Buf[2] = OSD_V ;
    Buf[3] = OSD_0 ;
    Buf[4] = OSD_L ;
    Buf[5] = OSD_U ;
    Buf[6] = OSD_M ;
    Buf[7] = OSD_E ;
    Buf[8] = OSD_NC;
    Buf[9] = OSD_NC;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);
}
/********************************************************************************************************
 Descriptions:          显示字符"BASS"OSD_DISP_CHAR_BASS:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void OSDDispCharBass(void)
{
    uchar Buf[10];
    Buf[0] = 0x87;
    Buf[1] = 0x4C;
    Buf[2] = OSD_NC;
    Buf[3] = OSD_B;
    Buf[4] = OSD_A;
    Buf[5] = OSD_S;
    Buf[6] = OSD_S;
    Buf[7] = OSD_NC;
    Buf[8] = OSD_NC;
    Buf[9] = OSD_NC;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);
}
/********************************************************************************************************
 Descriptions:          显示字符"TREBLE"OSD_DISP_CHAR_TREBLE:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void OSDDispCharTreble(void)
{
    uchar Buf[10];
    Buf[0] = 0x87;
    Buf[1] = 0x4C;
    Buf[2] = OSD_T;
    Buf[3] = OSD_R;
    Buf[4] = OSD_E;
    Buf[5] = OSD_B;
    Buf[6] = OSD_L;
    Buf[7] = OSD_E;
    Buf[8] = OSD_NC;
    Buf[9] = OSD_NC;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);
}
/********************************************************************************************************
 Descriptions:          显示字符"BALANCE"OSD_DISP_CHAR_BALBANCE:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void OSDDispCharBalance(void)
{
    uchar Buf[10];
    Buf[0] = 0x87;
    Buf[1] = 0x4C;
    Buf[2] = OSD_B;
    Buf[3] = OSD_A;
    Buf[4] = OSD_L;
    Buf[5] = OSD_A;
    Buf[6] = OSD_N;
    Buf[7] = OSD_C;
    Buf[8] = OSD_E;
    Buf[9] = OSD_NC;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);
}
/********************************************************************************************************
 Descriptions:          显示字符"FAD"OSD_DISP_CHAR_FAD:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void OSDDispCharFad(void)
{
    uchar Buf[10];
    Buf[0] = 0x87;
    Buf[1] = 0x4C;
    Buf[2] = OSD_NC;
    Buf[3] = OSD_F;
    Buf[4] = OSD_A;
    Buf[5] = OSD_D;
    Buf[6] = OSD_E;
    Buf[7] = OSD_R;
    Buf[8] = OSD_NC;
    Buf[9] = OSD_NC;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);
}
/********************************************************************************************************
 Descriptions:          OSD_DISP_FM_INFORMAT:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
uchar code TAB_FM_WINDOWS1[]=               //绿色
    {   0xAF,0x46,0x11,b00101100B,b11001010B};
uchar code TAB_FM_WINDOWS2[]=               //红色
    {   0xAF,0x43,0x11,b01001100B,b10101100B};
uchar code TAB_FM_WINDOWS3[]=               //黄色
    {   0xAF,0x40,0x29,b00101100B,b11001110B};

void OSDDispFMInformat(void)
{
    uchar temp;
    uchar Buf[12];

    //窗口1
    SendDataMTV018(TAB_FM_WINDOWS1,5);
    //窗口1
    SendDataMTV018(TAB_FM_WINDOWS2,5);
    //窗口1
    SendDataMTV018(TAB_FM_WINDOWS3,5);
    //"RADIO"双倍显示
    Buf[0] = OSD_ADDR_ROW_1;
    Buf[1] = OSD_COLUMN_30;
    Buf[2] = b00000011B;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],2);
    //"RADIO"颜色
    Buf[0] = OSD_ATTR_ROW_1;
    Buf[1] = OSD_COLUMN_10;
    Buf[2] = GREEN;
    Buf[3] = GREEN;
    Buf[4] = GREEN;
    Buf[5] = GREEN;
    Buf[6] = GREEN;
    Buf[7] = GREEN;
    Buf[8] = GREEN;
    Buf[9] = GREEN;
    Buf[10] = GREEN;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],10);
    //显示"RADIO"
    Buf[0] = OSD_ADDR_ROW_1;
    Buf[1] = OSD_COLUMN_10;
    Buf[2] = OSD_R;
    Buf[3] = OSD_NC;
    Buf[4] = OSD_A;
    Buf[5] = OSD_NC;
    Buf[6] = OSD_D;
    Buf[7] = OSD_NC;
    Buf[8] = OSD_I;
    Buf[9] = OSD_NC;
    Buf[10] =OSD_0;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],10);
    //显示"CH:XX"
    Buf[0] = OSD_ATTR_ROW_3;
    Buf[1] = OSD_COLUMN_8;
    Buf[2] = GREEN;
    Buf[3] = GREEN;
    Buf[4] = GREEN;
    Buf[5] = GREEN;
    Buf[6] = GREEN;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],6);

    Buf[0] = OSD_ADDR_ROW_3;
    Buf[1] = OSD_COLUMN_8;
    if(bLCD_CH)
    {
        Buf[2] = OSD_C;
        Buf[3] = OSD_H;
    }
    else
    {
        Buf[2] = 0;
        Buf[3] = 0;
    }
    Buf[4] = 0xF6;
    Buf[5] = OSD_0;
    if(ucRecallFMCnt>10)//for test
        ucRecallFMCnt = 0;
    Buf[6] = ucRecallFMCnt;
    Buf[6]++;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],6);
    //显示"HH:MM:"时间
    Buf[0] = OSD_ATTR_ROW_3;
    Buf[1] = OSD_COLUMN_15;
    Buf[2] = GREEN;
    Buf[3] = GREEN;
    Buf[4] = GREEN;
    Buf[5] = GREEN;
    Buf[6] = GREEN;
    Buf[7] = GREEN;
    Buf[8] = GREEN;
    Buf[9] = GREEN;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);

    Buf[0] = OSD_ADDR_ROW_3;
    Buf[1] = OSD_COLUMN_15;
    //hour
    temp = ReadHour();
    Buf[2] = ((temp & b00110000B)>>4) + 1;
    Buf[3] = (temp & b00001111B) + 1;
    Buf[4] = 0xF6;
    //min
    temp = ReadMinute();
    Buf[5] = ((temp & b01110000B)>>4) + 1;
    Buf[6] = (temp & b00001111B)+1;
    Buf[7] = 0xF6;
    //sec
    temp = ReadSecond();
    Buf[8] = ((temp & b01110000B)>>4) + 1;
    Buf[9] = (temp & b00001111B)+1;
    ISendStr(MTV018_ADDR,Buf[0],&Buf[1],9);

    if(bAMInID)
    {
        Buf[0] = OSD_ADDR_ROW_5;
        Buf[1] = OSD_COLUMN_8;
        Buf[2] = OSD_A;
        Buf[3] = OSD_M;
        Buf[4] = OSD_NC;
        Buf[5] = 0xEF;
        Buf[6] = 0xEF;
        ISendStr(MTV018_ADDR,Buf[0],&Buf[1],6);
        //显示频率"XXXX Khz"
        Buf[0] = OSD_ADDR_ROW_5;
        Buf[1] = OSD_COLUMN_13;
        Buf[2] = ucLCDData2 + 1;
        Buf[3] = ucLCDData3 + 1;
        Buf[4] = ucLCDData4 + 1;
        Buf[5] = ucLCDData5 + 1;
        Buf[6] = OSD_NC;
        Buf[7] = 0xEF;
        Buf[8] = 0xEF;
        Buf[9] = OSD_K; //K
        Buf[10] =OSD_H; //H
        Buf[11] = 0x9E; //z
        ISendStr(MTV018_ADDR,Buf[0],&Buf[1],11);
    }
    else//if(bAMInID)
    {
        Buf[0] = OSD_ADDR_ROW_5;
        Buf[1] = OSD_COLUMN_8;
        Buf[2] = OSD_F;
        Buf[3] = OSD_M;
        if(bFM12ID)
            Buf[4] = OSD_2;
        else
            Buf[4] = OSD_1;
        Buf[5] = 0xEF;
        Buf[6] = 0xEF;
        ISendStr(MTV018_ADDR,Buf[0],&Buf[1],6);
        //显示频率"XXX.X Mhz"
        Buf[0] = OSD_ADDR_ROW_5;
        Buf[1] = OSD_COLUMN_13;
        Buf[2] = ucLCDData2 + 1;
        Buf[3] = ucLCDData3 + 1;
        Buf[4] = ucLCDData4 + 1;
        Buf[5] = 0xF3;//.
        Buf[6] = ucLCDData5 + 1;
        Buf[7] = 0xEF;
        Buf[8] = 0xEF;
        Buf[9] = OSD_M; //M
        Buf[10] =OSD_H; //H
        Buf[11] = 0x9E; //z
        ISendStr(MTV018_ADDR,Buf[0],&Buf[1],11);
    }//else if(bAMInID)

}//end of the function

/********************************************************************************************************
 Descriptions:          ;FM  OSD显示声音调整菜单FM_SOUND_ADJUST_DISP:
 input parameters:      None
 Returned value:        None
 Used global variables: None
 Calling modules:       None
 Created by:            xjj 2006/01/20
-------------------------------------------------------------------------------------------------------
 Modified by:
********************************************************************************************************/
void FMSoundAdjustDisp(void)
{
    uchar Buf[3];

    switch(ucSelectKeyCnt)
    {
        case 0:
        {
            Buf[0] = AllSimAdjust(ucVolume);
            if(ucVolume!=Buf[0])
            {
                ucVolume = Buf[0];
                bKeyMuteID = 1;
            }
            DispBar(ucVolume);//显示声音指示条
            DispBarData(ucVolume);//声音OSD指示条后数据(前后)
            SimAdjustAttr();//模拟量调整显示属性
            SendSoundDataPT2313();//送声音参数到PT2313
            Buf[0] = OSD_ADDR_ROW_9;
            Buf[1] = OSD_COLUMN_5;
            Buf[2] = 0xD8;//字符
            Buf[3] = 0xD9;
            ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
            break;
        }//the end of case
        case 1:
        {
            ucBass = AllSoundAdjust(ucBass);
            DispSoundBar(ucBass);//显示声音指示条
            DispSoundBarData(ucBass);//声音OSD指示条后数据(前后)
            SimAdjustAttr();//模拟量调整显示属性
            SendSoundDataPT2313();//送声音参数到PT2313
            Buf[0] = OSD_ADDR_ROW_9;
            Buf[1] = OSD_COLUMN_5;
            Buf[2] = 0xC8;//字符
            Buf[3] = 0xC9;
            ISendStr(MTV018_ADDR,Buf[0],&Buf[1],3);
            break;
        }//the end of case
        case 2:
        {
            ucTreble = AllSoundA

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -