📄 e20_dip.c
字号:
#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 + -