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

📄 e20_dip.c

📁 HSAV DR53E CF卡MP3录放板应用编程源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#include "E20_main.h"           
//gBroadcast[0~2]开始时间
//gBroadcast[3~5]结束时间
//gBroadcast[6] 设置项,星期列表|0x10(特别日子列表|0x20), 设置电源项|0x01,设置播放项|0x02,
//gBroadcast[7] 电源值(ch1开|0x01,ch2开|0x02,ch3开|0x04,ch4开|0x08,)
//gBroadcast[8] 电源工作日(星期一|0x01,星期二|0x02,星期三|0x04,星期四|0x08,星期五|0x10,星期六|0x20,星期日|0x40),
//gBroadcast[9] 节目选项(MIC|0x01,收音|0x02,录音|0x04,LINE|0x08,音乐|0x10,),
//gBroadcast[10~27] 节目号 
//gBroadcast[28] 节目工作日(星期一|0x01,星期二|0x02,星期三|0x04,星期四|0x08,星期五|0x10,星期六|0x20,星期日|0x40),

void M4094DataWrite(BYTE gLocal_1){
    BYTE gLocal_2;

    gLocal_2 = 8;
    do{ 
        p4094_CLK(0);
        if (gLocal_1 & 0x80){
            p4094_DAT(1);
        }
        else {
            p4094_DAT(0);
        }
        p4094_CLK(1);
        gLocal_1 <<= 1;
    } while (--gLocal_2 != 0);
    p4094_CLK(0);
    return;
}


void MDIPInitialize(){
    MROM_Read(0xffffff);
    MLCD_Write(cLCDHigh_C, 0x3e);
    MLCD_Write(cLCDHigh_C, 0xc0);
    MLCD_Write(cLCDHigh_C, 0x3f);
    MLCD_Write(cLCDLow_C, 0x3e);
    MLCD_Write(cLCDLow_C, 0xc0);
    MLCD_Write(cLCDLow_C, 0x3f);
    return;
}
/*显示大写数字,参数gLocal_1表示大写数字*/
void MRTC_Week(BYTE gLocal_1){
    switch (gLocal_1){
        case 1 : //星期一
            gNumberWeek = cDIP_yi1; 
            break;    
        case 2 : //星期二
            gNumberWeek = cDIP_er4;
            break;    
        case 3 : //星期三
            gNumberWeek = cDIP_san1;
            break;    
        case 4 : //星期四
            gNumberWeek = cDIP_si4;
            break;    
        case 5 : //星期五
            gNumberWeek = cDIP_wu3;
            break;    
        case 6 : //星期六
            gNumberWeek = cDIP_liu4;
            break;    
        case 7 : //星期日
            gNumberWeek = cDIP_Yi4;
            break;    
        case 0x3f :  //'?'
            if (FPress_Enter_Modify)gNumberWeek = '?';
            break;    
        default :  break;		  	
    }
    return;
}

/************************************************************************/
/************************************************************************/
void MEnter_Menu_Main(BYTE gLocal_1){
    gCursorMove = 1;//将反白光标置于下一子菜单第一项
    switch (gLocal_1){
        case cMenu_Main01_Timer-1 : //进入调时菜单
            MDIP_Menu_TimerList(gCursorMove);
            gMenuSelect = cMenu_Main01_Timer;
            break;            
        case cMenu_Main01_Program-1 ://进入编程菜单 
            MDIP_ProgramList_Menu();
            gMenuSelect = cMenu_Main01_Program;
            break;            
        case cMenu_Main01_Power-1 : //进入电源控制菜单
            MPowerComctrl(gCurrOutComctrl);
            MDIP_Menu_Power_Status(gCursorMove);
            gMenuSelect = cMenu_Main01_Power;
            break;            
        case cMenu_Main01_PlayMusic-1 : //进入播音菜单
            gMenuSelect = cMenu_Main01_PlayMusic;
            MDIP_Menu_PlayMusic(gCursorMove);
            break;            
        #ifndef OTG_MODE
            case cMenu_Main01_Record-1 : //进入录音菜单
                MDIP_Menu_SelectRecord();
                gMenuSelect = cMenu_Main01_Record;
                break;            
            case cMenu_Main01_Erase-1 :  //进入删除菜单
                MDIP_Menu_Select_Erase(gCursorMove);
                gMenuSelect = cMenu_Main01_Erase;
                break;            
        #endif
        default :  break;		  	
    }
    return;
}
void Enter_Main03_SelectProgram(){
    FWeek_One = 1;
    FWeek_Two = 1;
    FWeek_Three = 1;
    FWeek_Four = 1;
    FWeek_Five = 1;
    FWeek_Six = 1;
    FWeek_Seven = 1;
    switch (gCursorMove){
        case 1 :   //MIC
            gCursorMove = 1;
            if (gMenuSelectWeekBuffer != cMenu_Main04_ProgramMIC){
                FEEP_Will_MIC = 0;
                MProgramCurreDay();
                gBroadcast[28] = MDIP_EnterSelectWeek(gBroadcast[28]);
            }
            MDIP_WeekSelect(gBroadcast[28]);
            MDIP_Main04_ProgramMIC(gCursorMove);
            MDIPWriteChinese_String(64-16*2,cDOTLine2, "定时输出MIC");
            break;            
        case 2 :    //收音
            gCursorMove = 1;
            if (gMenuSelectWeekBuffer != cMenu_Main04_ProgramTuner){
                FEEP_Will_MIC = 0;
                MProgramCurreDay();
                gBroadcast[28] = MDIP_EnterSelectWeek(gBroadcast[28]);
            }
            MDIP_WeekSelect(gBroadcast[28]);
            MDIP_Menu_ProgramTuner(gCursorMove);
            break;            

        case 3 :    //LINE
            gCursorMove = 1;
            if (gMenuSelectWeekBuffer != cMenu_Main04_ProgramLINE){
                FEEP_Will_MIC = 0;
                MProgramCurreDay();
                gBroadcast[28] = MDIP_EnterSelectWeek(gBroadcast[28]);
            }
            MDIP_WeekSelect(gBroadcast[28]);
            MDIP_Main04_ProgramMIC(gCursorMove);
            MDIPWriteChinese_String(64-16*2,cDOTLine2, "定时输出LINE");
            break;            
        case 4 :    // MP3
            gCursorMove = 1;
            if (gMenuSelectWeekBuffer != cMenu_Main04_ProgramMusic){
                MProgramCurreDay();
                gBroadcast[28] = MDIP_EnterSelectWeek(gBroadcast[28]);
                FEEP_Will_MIC = 0;
            }
            MDIP_WeekSelect(gBroadcast[28]);
            MDIP_Menu_ProgramMusic(gCursorMove);
            break;            
        default :  break;		  	
    }
    gMenuSelectWeekBuffer = gMenuSelect;
    return;
}
CONST_CHAR TabWeekAddr[] = {
    cEEPAddr_WeekMonOptionMax, //星期一
    cEEPAddr_WeekTueOptionMax, //星期二
    cEEPAddr_WeekWedOptionMax, //星期三
    cEEPAddr_WeekThuOptionMax, //星期四
    cEEPAddr_WeekFriOptionMax, //星期五
    cEEPAddr_WeekSatOptionMax, //星期六
    cEEPAddr_WeekSunOptionMax, //星期日
};



void Enter_Main02_OtherDay(){
    FPress_Enter_Modify = ~FPress_Enter_Modify; //17*2+8*2
    MMDIP_Modify_Date(); 

    if (gCursorMove < 3){
        MDIP_Option_group_Modify(17,gCursorMove);
        if (!FPress_Enter_Modify) MDIP_Menu_OtherDay(gCursorMove);
    }
    else if (gCursorMove < 7){
        MMDIP_Modify_Status(17*2+8*4-1,cDOTLine1,gCursorMove);//光标3-2(内部,1.2.3,4,5,6)
        if (!FPress_Enter_Modify) gAdd_Option_groupMax = mEEPAddr_Fild_DayItemMax();
    }
    else {
//读出最大项数并写入最大项数
        if ((gTAB_YearWeekDay[1] == 0)&&(gTAB_YearWeekDay[2] == 0)){
            gTAB_YearWeekDay[0] = gRTC_Year; //年
            gTAB_YearWeekDay[1] = gRTC_Month; //月
            gTAB_YearWeekDay[2] = gRTC_Day; //日
        }
        gAdd_Option_groupMax = mEEPAddr_Fild_DayItemMax();
        gMenuBroadcastBuffer = gMenuSelect; 
        MBroadcastClear();
        FPress_Enter_Modify = 0;

        if (gCursorMove == 7){         //查询此项内容
            gMenuSelect = cMenu_Day_Program_Broadcast;
            gCursorMove = 1;
            MRead_Day_Program_Data();
            MDIP_Menu_OtherDay_Broadcast01(gCursorMove);
        }
        else if (gCursorMove == 8){         //修改此项内容
            gMenuSelect = cMenu_Main02_OtherDay_List;
            gCursorMove = 1;
            gEEPSureWrite = 0xff;
///////////////////////////////////////////////////////////////////////////////
MRead_Day_Program_Data();
            MDIP_Menu_OtherDay_List(gCursorMove);
        }
        else if (gCursorMove == 9){         //删除此项内容
            gCursorMove = 1;
            gMenuSelect = cMenu_Day_Program_ClearAddr;
            MDIP_Menu_Program_ClearAddr(gCursorMove);
        }
    }
    return;
}
void Enter_Main02_Week(){
    if (gCursorMove == 1){//更改星期数
        FPress_Enter_Modify = ~FPress_Enter_Modify;
        gBellLong_Max = 7;
        gBellLong_Min = 1;
        if (FPress_Enter_Modify) {
            FDIPReverse = 1;
            MDIPWriteChinese_String(16*2,cDOTLine1," ");
            MDIPWriteChinese_String(16*2+7,cDOTLine1,"?");
            gBellLong = gCOL_Week;
        }
        else {
            gCursorMove += 1;
            if (gBellLong > 0) gCOL_Week = gBellLong;
            MDIP_Menu_week(gCursorMove);   
            gAdd_Option_groupMax = MEEP_ByteRead(TabWeekAddr[gCOL_Week-1]);
            if (gAdd_Option_groupMax < mEEPAddr_Find_WeekNou()) gAdd_Option_groupMax = mEEPAddr_Find_WeekNou();
            if (gAdd_Option_groupMax == 0xff) gAdd_Option_groupMax = 0; 
        }
    //记住查询星期?
    }
    else if (gCursorMove < 4){  //更改项数
        FPress_Enter_Modify = ~FPress_Enter_Modify;
        MDIP_Option_group_Modify(128-17-8*2,gCursorMove-1);
        if (!FPress_Enter_Modify) MDIP_Menu_week(gCursorMove);   
    }
    else {
        gMenuBroadcastBuffer = gMenuSelect; 
        if ((gCOL_Week == 0)||(gCOL_Week > 0x07)) gCOL_Week = gRTC_Week;

        gAdd_Option_groupMax = MEEP_ByteRead(TabWeekAddr[gCOL_Week-1]);
        if (gAdd_Option_groupMax < mEEPAddr_Find_WeekNou()) gAdd_Option_groupMax = mEEPAddr_Find_WeekNou();
        if (gAdd_Option_groupMax == 0xff) gAdd_Option_groupMax = 0; 
//读出最大项数并写入最大项数
        MBroadcastClear();
        FPress_Enter_Modify = 0;

        if (gCursorMove == 4){ //进入查询此项菜单
            gMenuSelect = cMenu_Day_Program_Broadcast;
            gCursorMove = 1;
            MRead_Week_Program_Data();
            MDIP_Menu_OtherDay_Broadcast01(gCursorMove);
        }
        else if (gCursorMove == 5){//进入修改此项菜单
//////////////////////////////////////////////////////////////////////////////////////////////////
            gCursorMove = 1;
            gEEPSureWrite = 0xff;
            gMenuSelect = cMenu_Main02_WeekList;
            MRead_Week_Program_Data();
            MDIP_Menu_weekList(gCursorMove);
        }
        else if (gCursorMove == 6){//进入删除此项菜单
            gCursorMove = 1;
            gMenuSelect = cMenu_Day_Program_ClearAddr;
            MDIP_Menu_Program_ClearAddr(gCursorMove);
        }
        gMenuSelectBuffer = gMenuSelect;
    }
    return;
}
#ifndef OTG_MODE
void MEnter_Menu_Erase(BYTE gLocal_1){
    gCursorMove = 1;//将反白光标置于下一子菜单第一项
    switch (gLocal_1){
        case cMenu_Main02_SectionErase-18 : //进入"删除部分录音"菜单
            MDIP_Menu_SectionErase(gCursorMove,gTrack_Max);
            gBellLong = gTrack_Max;
            gMenuSelect = cMenu_Main02_SectionErase;
            break;            
        case cMenu_Main02_ALLErase-18 : //进入"删除所有录音"菜单
            FDIPReverse = 1;
            MDIPWriteChinese_String(64-16*3,cDOTLine2, "请确认删");
            MDIPChineseToScreen(64+16, cDOTLine2, cDIP_cu);
            MDIP_Menu_Quit();
            gMenuSelect = cMenu_Main02_ALLErase;
            break;            
        default :  break;		  	
    }
//    Mplay_Stop(cCTB_STOP);
    return;
}
#endif
void MEnter_Menu_PlayMusic(BYTE gLocal_1){
    BYTE gLocal_0;

    gCursorMove = 1;//将反白光标置于下一子菜单第一项
    switch (gLocal_1){
        case 1 : //进入播放MIC菜单
            MDIP_Menu_MIC_Music(gCursorMove,1);
            gMenuSelect = cMenu_Main02_Select_MIC;
            if (gInputType != cInput_MIC){
                gInputType = cInput_MIC;
                mInputSwitch(); //切换4053通道
            }
            break;            
        case 2 : //进入播放收音菜单
            MDIP_Menu_Tuner_Music(gCursorMove);
            gMenuSelect = cMenu_Main02_Select_Tuner;
            if (gInputType != cInput_Tuner){
                gInputType = cInput_Tuner;
                mInputSwitch(); //切换4053通道
            }
            break;            
        case 3 : //进入播放LINE菜单
            MDIP_Menu_MIC_Music(gCursorMove,2);
            gMenuSelect = cMenu_Main02_Select_LINE;
            if (gInputType != cInput_AUX){
                gInputType = cInput_AUX;
                mInputSwitch(); //切换4053通道
            }
            break;            

⌨️ 快捷键说明

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