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

📄 e20_menu.c

📁 HSAV DR53E CF卡MP3录放板应用编程源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
            break;
        case 3 :
            MDIPWriteChinese_String(0,cDOTLine1, "收音");
            break;
        default : break;
    }
    MDIPWriteChinese_String(0+8*4,cDOTLine1, "输出广播中");
    MDIP_Menu_Quit(); //按"EXIT"返回   

    if (gLocal_2 == 5) MDIP_Menu_Volume(128-8*3-17*2,gLocal_1-1); 
    else MDIP_Menu_Volume(0+8*4,gLocal_1-1); //
    return;
}
void MDIP_Play_Type(BYTE gLocal_1){
// 单曲单次播 gPlayTYPE = 1;
// 单曲循环播 gPlayTYPE = 2;
// 全部单次播 gPlayTYPE = 3;
// 全部循环播 gPlayTYPE = 4;

    switch (gLocal_1){
        case 1 :      // 单曲单次播 gPlayTYPE = 1;
            MDIPWriteChinese_String(64-16*3,cDOTLine1, "单曲单次播");
            break;
        case 2 :
            MDIPWriteChinese_String(64-16*3,cDOTLine1, "单曲循环播");
            break;
        case 3 :
            MDIPWriteChinese_String(64-16*3,cDOTLine1, "全部单次播");
            break;
        case 4 :
            MDIPWriteChinese_String(64-16*3,cDOTLine1, "全部循环播");
            break;
        default : break;
    }
    return;
}
void MDIP_Menu_MP3_Music(BYTE gLocal_1,BYTE gLocal_2){

    MDIP_Menu_Volume(128-8*3-17*2,gLocal_1); //光标1
    FDIPReverse = 0;
    if (gLocal_1 == 2) FDIPReverse = 1;  //光标2
    MDIP_Play_Type(gPlayTYPE);

    gTAB_HourMinsecond[2] = mNumeration_DecToHex(gPlay_Second);  
    gTAB_HourMinsecond[1] = mNumeration_DecToHex(gPlay_Minute); 
    gTAB_HourMinsecond[0] = mNumeration_DecToHex(gPlay_Hour);  
    MDIP_SetupTime_List(0,cDOTLine3,0); //光标0无反白 1~6

    if (gLocal_2 == 1) MDIPWriteChinese_String(128-8*3,cDOTLine1, "MP3");
    else MDIPWriteChinese_String(128-17*2,cDOTLine1, "录音");
    MDIPTrack_Name();
    MDIP_Menu_Quit(); //按"EXIT"返回   
    return;
}

void MDIP_Menu_Volume(BYTE gLocal_Cursor,BYTE gLocal_1){
    FDIPReverse = 0;
    MDIPWriteChinese_String(gLocal_Cursor,cDOTLine3, "音量:");
    if (gLocal_1 == 1) FDIPReverse = 1;     //反白光标2(2-1,即1)
    MDIPASCIIToScreen(gLocal_Cursor+17*2+7, cDOTLine3, gAUD_Volume/10+'0'); //将gLocal_2显示改为gMain_Volume
    MDIPASCIIToScreen(gLocal_Cursor+17*2+7*2, cDOTLine3, gAUD_Volume%10+'0');//将gLocal_2显示改为gMain_Volume
    return;
}

void MMDIP_Modify_Status(BYTE gLocal_Cursor,BYTE gLocal_Line,BYTE gLocal_1){
    FDIPReverse = 1;
    if (FPress_Enter_Modify){
        if (gLocal_1 == 1) MDIPASCIIToScreen(gLocal_Cursor,gLocal_Line,'?');
        else if (gLocal_1 == 2) MDIPASCIIToScreen(gLocal_Cursor+8*1,gLocal_Line,'?');
        else if (gLocal_1 == 3) MDIPASCIIToScreen(gLocal_Cursor+8*3,gLocal_Line,'?');
        else if (gLocal_1 == 4) MDIPASCIIToScreen(gLocal_Cursor+8*4,gLocal_Line,'?');
        else if (gLocal_1 == 5) MDIPASCIIToScreen(gLocal_Cursor+8*6,gLocal_Line,'?');
        else if (gLocal_1 == 6) MDIPASCIIToScreen(gLocal_Cursor+8*7,gLocal_Line,'?');
    }
    else {
        FDIPReverse = 1;
        ++gCursorMove;
        if (gMenuSelect == cMenu_Main01_Timer) MDIP_Menu_TimerList(gCursorMove);
        else if (gMenuSelect == cMenu_Main02_OtherDay_List) MDIP_Menu_OtherDay_List(gCursorMove);
        else if (gMenuSelect == cMenu_Main02_WeekList) MDIP_Menu_weekList(gCursorMove);
        else if (gMenuSelect == cMenu_Main02_OtherDay) MDIP_Menu_OtherDay(gCursorMove);
    }
    return;
}
//此函数在更改后得出改后的变数gTAB_HourMinsecond[0]、gTAB_HourMinsecond[1]、gTAB_HourMinsecond[2]
//在此函数后面赋值
void MDecete_Modify_Time(BYTE gLocal_1,BYTE *PdpTab){
    if (gLocal_1 == 1){
        gBellLong_Max = 2;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) {
            gBellLong = *PdpTab >> 4;
        }
        else {
            *PdpTab = gBellLong * 16 + (*PdpTab & 0x0f);
            if (*PdpTab > 0x23){
                gBellLong_Max = 3;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                ++gCursorMove;
            }
        }
    }
    else if (gLocal_1 == 2){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = *PdpTab & 0x0f;
        else {
            *PdpTab = (*PdpTab & 0xf0)+ gBellLong;
            if (*PdpTab > 0x23){
                gBellLong = 1;
                gBellLong_Max = 1;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                --gCursorMove;
            }
        }
    }
    else if (gLocal_1 == 3){
        gBellLong_Max = 5;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) {
            gBellLong = *(PdpTab+1) >> 4;
        }
        else *(PdpTab+1) = gBellLong * 16 + (*(PdpTab+1) & 0x0f);
    }
    else if (gLocal_1 == 4){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = *(PdpTab+1) & 0x0f;
        else *(PdpTab+1) = (*(PdpTab+1) & 0xf0)+ gBellLong;
    }
    else if (gLocal_1 == 5){
        gBellLong_Max = 5;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) {
            gBellLong = *(PdpTab+2) >> 4;
        }
        else *(PdpTab+2) = gBellLong * 16 + (*(PdpTab+2) & 0x0f);
    }
    else if (gLocal_1 == 6){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = *(PdpTab+2) & 0x0f;
        else *(PdpTab+2) = (*(PdpTab+2) & 0xf0)+ gBellLong;
    }

    return;
}
void MDecete_Modify_Date(BYTE gLocal_1){
    if (gLocal_1 == 1){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[0] >> 4;
        else gTAB_YearWeekDay[0] = gBellLong * 16 + (gTAB_YearWeekDay[0] & 0x0f);
    }
    else if (gLocal_1 == 2){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[0] & 0x0f;
        else gTAB_YearWeekDay[0] = (gTAB_YearWeekDay[0] & 0xf0)+ gBellLong;
    }
    else if (gLocal_1 == 3){
        gBellLong_Max = 1;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[1] >> 4;
        else {
            gTAB_YearWeekDay[1] = gBellLong * 16 + (gTAB_YearWeekDay[1] & 0x0f);
            if ((gTAB_YearWeekDay[1] == 0x00)||(gTAB_YearWeekDay[1] > 0x12)){
                if (gTAB_YearWeekDay[1] == 0x00) gBellLong_Max = 9;
                else gBellLong_Max = 2;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                ++gCursorMove;
            }
        }
    }
    else if (gLocal_1 == 4){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[1] & 0x0f;
        else {
        gTAB_YearWeekDay[1] = (gTAB_YearWeekDay[1] & 0xf0)+ gBellLong;
            if ((gTAB_YearWeekDay[1] == 0x00)||(gTAB_YearWeekDay[1] > 0x12)){
                if (gBellLong > 1) gBellLong = 1;
                gBellLong_Max = 1;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                --gCursorMove;
            }
        }
    }
    else if (gLocal_1 == 5){
        gBellLong_Max = 3;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[2] >> 4;
        else {
            gTAB_YearWeekDay[2] = gBellLong*16 +(gTAB_YearWeekDay[2] & 0x0f);
            if ((gTAB_YearWeekDay[2] == 0x00)||(gTAB_YearWeekDay[2] > 0x31)){
                if (gTAB_YearWeekDay[2] == 0x00) gBellLong_Max = 9;
                else gBellLong_Max = 1;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                ++gCursorMove;
            }
        }

    }
    else if (gLocal_1 == 6){
        gBellLong_Max = 9;
        gBellLong_Min = 0;
        if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[2] & 0x0f;
        else {
            gTAB_YearWeekDay[2] = (gTAB_YearWeekDay[2] & 0xf0) + gBellLong;
            if ((gTAB_YearWeekDay[2] == 0x00)||(gTAB_YearWeekDay[2] > 0x31)){
                if (gBellLong > 3) gBellLong = 3;
                gBellLong_Max = 3;
                gBellLong_Min = 0;
                FPress_Enter_Modify = 1;
                --gCursorMove;
            }
        }


    }

    return;
}
//注意:MMDIP_Modify_Date()在改变系统时钟或时间时,显示MMDIP_Modify_Status必须在此函数后调用。
void MMDIP_Modify_Date(){
    
    switch (gMenuSelect){
        case cMenu_Main01_Timer :
////////////////////////////////////////////////////////////////////////////////////
//调日期时,星期跟着跳
            if (gCursorMove < 7) {
                MDecete_Modify_Date(gCursorMove);
                MRTCWrite(cRTC_Year, gTAB_YearWeekDay[0]);
            	gRTC_Year = gTAB_YearWeekDay[0];
            	MDELAY(10);
                if ((gTAB_YearWeekDay[1] != 0x00)&&(gTAB_YearWeekDay[1] < 0x13)){
                    MRTCWrite(cRTC_Month, gTAB_YearWeekDay[1]);
        			gRTC_Month = gTAB_YearWeekDay[1];
        			MDELAY(10);
                }
                if ((gTAB_YearWeekDay[2] != 0x00)&&(gTAB_YearWeekDay[2] < 0x32)){
                    MRTCWrite(cRTC_Day, gTAB_YearWeekDay[2]);
                	MDELAY(10);
                    gRTC_Day = gTAB_YearWeekDay[2];
                }
            }
            else if (gCursorMove < 13) {
                MDecete_Modify_Time(gCursorMove-6,gTAB_HourMinsecond);
                
                if (gTAB_HourMinsecond[0] < 0x24){
                    MRTCWrite(cRTC_Hour, gTAB_HourMinsecond[0]);
                	gRTC_Hour = gTAB_HourMinsecond[0];
                	MDELAY(10);
                }
                if (gTAB_HourMinsecond[1] < 0x60){
                    MRTCWrite(cRTC_Minute, gTAB_HourMinsecond[1]);
        			gRTC_Minute = gTAB_HourMinsecond[1];
        			MDELAY(10);
                }
                if (gTAB_HourMinsecond[2] < 0x60){
                    MRTCWrite(cRTC_Second, gTAB_HourMinsecond[2]);
                    gRTC_Second = gTAB_HourMinsecond[2];
                	MDELAY(10);
                }
            }
            else if (gCursorMove == 13){
                if (!FPress_Enter_Modify) {
                    MRTCWrite(cRTC_Week, gBellLong);
                	gRTC_Week = gBellLong;
                	MDELAY(10);
                }
            }
            //按确定时更新关于显示/保存日期
            break;
        case cMenu_Main02_OtherDay_List :
            if (gCursorMove < 7){ //15
                gTempNewBuffer[0] = gBroadcast[0];
                gTempNewBuffer[1] = gBroadcast[1];
                gTempNewBuffer[2] = gBroadcast[2];
                MDecete_Modify_Time(gCursorMove,gBroadcast); //光标1~6 (内部,1.2.3,4,5,6)
                if ((gBroadcast[0] != gTempNewBuffer[0])||(gBroadcast[1] != gTempNewBuffer[1])
                    ||(gBroadcast[2] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
            }
            else if (gCursorMove < 13){
                gTempNewBuffer[0] = gBroadcast[3];
                gTempNewBuffer[1] = gBroadcast[4];
                gTempNewBuffer[2] = gBroadcast[5];
                MDecete_Modify_Time(gCursorMove-6,gBroadcast+3); //光标7~12 7-6(内部,1.2.3,4,5,6)
                if ((gBroadcast[3] != gTempNewBuffer[0])||(gBroadcast[4] != gTempNewBuffer[1])
                    ||(gBroadcast[5] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
            }
            break;
        case cMenu_Main02_OtherDay :
            if (gCursorMove < 3){
            }
            else if (gCursorMove < 7) MDecete_Modify_Date(gCursorMove); //光标3-2(内部,1.2.3,4,5,6)
            break;
        case cMenu_Main02_WeekList :
            if (gCursorMove < 7) {
                gTempNewBuffer[0] = gBroadcast[0];
                gTempNewBuffer[1] = gBroadcast[1];
                gTempNewBuffer[2] = gBroadcast[2];
                MDecete_Modify_Time(gCursorMove,gBroadcast);//光标1~6 (内部,1.2.3,4,5,6)
                if ((gBroadcast[0] != gTempNewBuffer[0])||(gBroadcast[1] != gTempNewBuffer[1])
                    ||(gBroadcast[2] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
            }
            else if (gCursorMove < 13){
                gTempNewBuffer[0] = gBroadcast[3];
                gTempNewBuffer[1] = gBroadcast[4];
                gTempNewBuffer[2] = gBroadcast[5];
                MDecete_Modify_Time(gCursorMove-6,gBroadcast+3);//光标7~12 7-6(内部,1.2.3,4,5,6)
                if ((gBroadcast[3] != gTempNewBuffer[0])||(gBroadcast[4] != gTempNewBuffer[1])
                    ||(gBroadcast[5] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
            }
//更改后的数处理
            break;
        default :  break;		  	
    }
    return;
}

void MBroadcastClear(){
    BYTE gLocal_0 = 0;
    do {
        gBroadcast[gLocal_0] = 0;
    } while (++gLocal_0 < 30);

    FWeek_One = 1;
    FWeek_Two = 1;
    FWeek_Three = 1;
    FWeek_Four = 1;
    FWeek_Five = 1;
    FWeek_Six = 1;
    FWeek_Seven = 1;
    return;
}
void MDIP_Menu_Program_ClearAddr(BYTE gLocal_1){
    if (gMenuBroadcastBuffer == cMenu_Main02_Week){
        FDIPReverse = 0;
        if (gLocal_1 == 3) FDIPReverse = 1;
        MDIPWriteChinese_String(64-16*3,cDOTLine1, "清");
        MDIPChineseToScreen(64-16*2, cDOTLine1, cDIP_cu);
        MDIPWriteChinese_String(64-16*1,cDOTLine1, "全周内容");
    }
    else {
        FDIPReverse = 0;
        if (gLocal_1 == 3) FDIPReverse = 1;
        MDIPWriteChinese_String(64-16*3,cDOTLine1, "清");
        MDIPChineseToScreen(64-16*2, cDOTLine1, cDIP_cu);
        MDIPWriteChinese_String(64-16*1,cDOTLine1, "全部内容");
    }
    FDIPReverse = 0;
    if (gLocal_1 == 1) FDIPReverse = 1;
    MDIPWriteChinese_String(64-16*3,cDOTLine2, "清");
    MDIPChineseToScreen(64-16*2, cDOTLine2, cDIP_cu);
    MDIPWriteChinese_String(64-16*1,cDOTLine2, "此项内容");

    FDIPReverse = 0;
    if (gLocal_1 == 2) FDIPReverse = 1;

⌨️ 快捷键说明

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