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

📄 menu.c

📁 AT24C01~24C16燒錄器程序,可以通過麼MENU選擇燒錄IC型號
💻 C
📖 第 1 页 / 共 2 页
字号:
//***************************************************************************************************
#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 + -