📄 menu.c
字号:
//***************************************************************************************************
#include "../SubProgram/SubprogramList.h"
//--------------------------------------------------------------------------------------------------
void SettingProgrammer(void)
{
U8 CharA=0;
U8 CharB=0;
Delay(T10ms);
if((Button_CS & 0x03)!=0) //up & down button all short
return;
DisplayStringData(0,StrSetProgramPortState,sizeof(StrSetProgramPortState));
DisplayStringData(1,StrSetEEPROMType,sizeof(StrSetEEPROMType));
while((Button_CS & 0x03)==0); //wait up & down button all open
while(1)
{
if((Button_CS & 0x02)==0) //down_button short
{
Delay(T10ms);
if((Button_CS & 0x02)==0) //down_button short
{
if(CharA<3)
CharA++;
while((Button_CS & 0x02)==0); //wait down_button open
}
}
else if((Button_CS & 0x01)==0) //up_button short
{
Delay(T10ms);
if((Button_CS & 0x01)==0) //up_button short
{
if(CharA>0)
CharA--;
while((Button_CS & 0x01)==0); //wait up_button open
}
}
else if((Button_CS & 0x08)==0) //return_button short
{
Delay(T10ms);
if((Button_CS & 0x08)==0) //return_button short
{
while((Button_CS & 0x08)==0); //wait return_button open
break;
}
}
//----------------------------------------------------------------------------------
if(CharA==0)
{
for(CharB=0;CharB<24;CharB++)
{
if(CharB==0)
EmpBuffer[CharB]=0xf6;
else
EmpBuffer[CharB]=StrSetProgramPortState[CharB];
}
DisplayStringData(0,EmpBuffer,sizeof(StrSetProgramPortState));
DisplayStringData(1,StrSetEEPROMType,sizeof(StrSetEEPROMType));
if((Button_CS & 0x04)==0) //set_button short
SetProgramPortSwitch();
}
//---------------------------------------------------------------------------------
else if(CharA==1)
{
for(CharB=0;CharB<24;CharB++)
{
if(CharB==0)
EmpBuffer[CharB]=0xf6;
else
EmpBuffer[CharB]=StrSetEEPROMType[CharB];
}
DisplayStringData(0,StrSetProgramPortState,sizeof(StrSetProgramPortState));
DisplayStringData(1,EmpBuffer,sizeof(StrSetEEPROMType));
if((Button_CS & 0x04)==0) //set_button short
SetProgramObject();
}
//---------------------------------------------------------------------------------
else if(CharA==2)
{
for(CharB=0;CharB<24;CharB++)
{
if(CharB==0)
EmpBuffer[CharB]=0xf6;
else
EmpBuffer[CharB]=StrSetSelfStudy[CharB];
}
DisplayStringData(0,StrSetEEPROMType,sizeof(StrSetEEPROMType));
DisplayStringData(1,EmpBuffer,sizeof(StrSetSelfStudy));
if((Button_CS & 0x04)==0) //set_button short
{
ProgramPowerON();
FlagSelfStudy=1;
SetEPROMWriteProtect(0);
Delay(T1s);
SystemInitial();
ProgramPort1();
ProgramPort2();
ProgramPort3();
ProgramPort4();
ProgramPort5();
ProgramPort6();
AllProgramResult();
FlagSelfStudy=0;
SetEPROMWriteProtect(1);
while((Button_CS & 0x04)==0); //wait reset_button open
ProgramPowerOFF();
DisplayStringData(0,StrStudyEnd0,sizeof(StrStudyEnd0));
DisplayStringData(1,StrStudyEnd1,sizeof(StrStudyEnd1));
while(1);
}
}
//---------------------------------------------------------------------------------
else if(CharA==3)
{
for(CharB=0;CharB<24;CharB++)
{
if(CharB==0)
EmpBuffer[CharB]=0xf6;
else
EmpBuffer[CharB]=StrSaveSetting[CharB];
}
DisplayStringData(0,StrSetEEPROMType,sizeof(StrSetEEPROMType));
DisplayStringData(1,EmpBuffer,sizeof(StrSaveSetting));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
DisplayStringData(0,StrSaveSetLine0,sizeof(StrSaveSetLine0));
DisplayStringData(1,StrSaveSetLine1,sizeof(StrSaveSetLine1));
while((Button_CS & 0x04)==0); //wait set_button open
Delay(T10ms);
SaveSettingData();
Delay(T10ms);
DisplayStringData(0,StrPowerOnOffLine0,sizeof(StrPowerOnOffLine0));
DisplayStringData(1,StrPowerOnOffLine1,sizeof(StrPowerOnOffLine1));
while(1);
}
}
}
}
}
//***************************************************************************************************
// set Programmer port switch
//***************************************************************************************************
void SetProgramPortSwitch(void)
{
U8 CharC=0;
U8 CharD=0;
Delay(T10ms);
if((Button_CS & 0x04)!=0) //double check set_button short
return;
else
{
while((Button_CS & 0x04)==0); //wait set_button open
ClearLCM();
while(1)
{
if((Button_CS & 0x02)==0) //down_button short
{
Delay(T10ms);
if((Button_CS & 0x02)==0) //down_button short
{
if(CharC<5)
CharC++;
while((Button_CS & 0x02)==0); //wait down_button open
}
}
else if((Button_CS & 0x01)==0) //up_button short
{
Delay(T10ms);
if((Button_CS & 0x01)==0) //up_button short
{
if(CharC>0)
CharC--;
while((Button_CS & 0x01)==0); //wait up_button open
}
}
else if((Button_CS & 0x08)==0) //return_button short
{
Delay(T10ms);
if((Button_CS & 0x08)==0) //return_button short
{
while((Button_CS & 0x08)==0); //wait return_button open
break;
}
}
//---------------------------------------------------------------------------------
//Port1 switch
if(CharC==0)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort1State==SwitchON)
EmpBufferA[CharD]=StrPort1ON[CharD];
else
EmpBufferA[CharD]=StrPort1OFF[CharD];
}
}
DisplayStringData(0,EmpBufferA,sizeof(StrPort1ON));
if(FlagPort2State==SwitchON)
DisplayStringData(1,StrPort2ON,sizeof(StrPort2ON));
else
DisplayStringData(1,StrPort2OFF,sizeof(StrPort2OFF));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort1State=~FlagPort1State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//---------------------------------------------------------------------------------
//Port2 switch
if(CharC==1)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort2State==SwitchON)
EmpBufferA[CharD]=StrPort2ON[CharD];
else
EmpBufferA[CharD]=StrPort2OFF[CharD];
}
}
if(FlagPort1State==SwitchON)
DisplayStringData(0,StrPort1ON,sizeof(StrPort1ON));
else
DisplayStringData(0,StrPort1OFF,sizeof(StrPort1OFF));
DisplayStringData(1,EmpBufferA,sizeof(StrPort2ON));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort2State=~FlagPort2State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//---------------------------------------------------------------------------------
//Port3 switch
if(CharC==2)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort3State==SwitchON)
EmpBufferA[CharD]=StrPort3ON[CharD];
else
EmpBufferA[CharD]=StrPort3OFF[CharD];
}
}
if(FlagPort2State==SwitchON)
DisplayStringData(0,StrPort2ON,sizeof(StrPort2ON));
else
DisplayStringData(0,StrPort2OFF,sizeof(StrPort2OFF));
DisplayStringData(1,EmpBufferA,sizeof(StrPort3OFF));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort3State=~FlagPort3State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//---------------------------------------------------------------------------------
//Port4 switch
if(CharC==3)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort4State==SwitchON)
EmpBufferA[CharD]=StrPort4ON[CharD];
else
EmpBufferA[CharD]=StrPort4OFF[CharD];
}
}
if(FlagPort3State==SwitchON)
DisplayStringData(0,StrPort3ON,sizeof(StrPort3ON));
else
DisplayStringData(0,StrPort3OFF,sizeof(StrPort3OFF));
DisplayStringData(1,EmpBufferA,sizeof(StrPort4OFF));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort4State=~FlagPort4State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//---------------------------------------------------------------------------------
//Port5 switch
if(CharC==4)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort5State==SwitchON)
EmpBufferA[CharD]=StrPort5ON[CharD];
else
EmpBufferA[CharD]=StrPort5OFF[CharD];
}
}
if(FlagPort4State==SwitchON)
DisplayStringData(0,StrPort4ON,sizeof(StrPort4ON));
else
DisplayStringData(0,StrPort4OFF,sizeof(StrPort4OFF));
DisplayStringData(1,EmpBufferA,sizeof(StrPort5OFF));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort5State=~FlagPort5State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//-------------------------------------------------------------------------------
//Port6 switch
if(CharC==5)
{
for(CharD=0;CharD<24;CharD++)
{
if(CharD==0)
EmpBufferA[CharD]=0xf6;
else
{
if(FlagPort6State==SwitchON)
EmpBufferA[CharD]=StrPort6ON[CharD];
else
EmpBufferA[CharD]=StrPort6OFF[CharD];
}
}
if(FlagPort5State==SwitchON)
DisplayStringData(0,StrPort5ON,sizeof(StrPort5ON));
else
DisplayStringData(0,StrPort5OFF,sizeof(StrPort5OFF));
DisplayStringData(1,EmpBufferA,sizeof(StrPort6OFF));
if((Button_CS & 0x04)==0) //set_button short
{
Delay(T10ms);
if((Button_CS & 0x04)==0) //set_button short
{
FlagPort6State=~FlagPort6State;
while((Button_CS & 0x04)==0); //wait set_button open
}
}
}
//-------------------------------------------------------------------------------
}
}
}
//***************************************************************************************************
// set Program Object
//***************************************************************************************************
void SetProgramObject(void)
{
U8 CharE=0;
U8 CharF=0;
Delay(T10ms);
if((Button_CS & 0x04)!=0) //double check set_button short
return;
else
{
while((Button_CS & 0x04)==0); //wait set_button open
ClearLCM();
while(1)
{
if((Button_CS & 0x02)==0) //down_button short
{
Delay(T10ms);
if((Button_CS & 0x02)==0) //down_button short
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -