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

📄 main.h

📁 AT24C01~24C16燒錄器程序,可以通過麼MENU選擇燒錄IC型號
💻 H
字号:
/*****************************************************************************************************
//program .h
*****************************************************************************************************/
#define U8 unsigned char 
#define U16 unsigned int
#define U32 unsigned long
//-----------------------------------------------------------------
sfr  AUXR = 0x8e;
sfr  P4 = 0xe8;
sbit HostBusy=P4^2;
sbit DeviceBusy=P4^3;
//==================================================================
U8 bdata FlagErrorStatus=0;
sbit FlagError=FlagErrorStatus^0;
sbit FlagPort1ProgramNG=FlagErrorStatus^1;
sbit FlagPort2ProgramNG=FlagErrorStatus^2;
sbit FlagPort3ProgramNG=FlagErrorStatus^3;
sbit FlagPort4ProgramNG=FlagErrorStatus^4;
sbit FlagPort5ProgramNG=FlagErrorStatus^5;
sbit FlagPort6ProgramNG=FlagErrorStatus^6;
sbit FlagPort7ProgramNG=FlagErrorStatus^7;

U8 bdata FlagProgramPortState=0;
sbit FlagPort1State=FlagProgramPortState^0;
sbit FlagPort2State=FlagProgramPortState^1;
sbit FlagPort3State=FlagProgramPortState^2;
sbit FlagPort4State=FlagProgramPortState^3;
sbit FlagPort5State=FlagProgramPortState^4;
sbit FlagPort6State=FlagProgramPortState^5;
sbit FlagACK=FlagProgramPortState^6;

U8 bdata FlagProgramPortEn=0;
sbit FlagPort1ProgramEn=FlagProgramPortEn^0;
sbit FlagPort2ProgramEn=FlagProgramPortEn^1;
sbit FlagPort3ProgramEn=FlagProgramPortEn^2;
sbit FlagSelfStudy=FlagProgramPortEn^3;

U8 bdata LEDStatusA=0x80;
sbit LED1A=LEDStatusA^0;
sbit LED2A=LEDStatusA^1;
sbit LED3A=LEDStatusA^2;
sbit LED4A=LEDStatusA^3;
sbit LED5A=LEDStatusA^4;
sbit LED6A=LEDStatusA^5;
sbit WP_A=LEDStatusA^7;

U8 bdata LEDStatusB=0xc0;
sbit LED1B=LEDStatusB^0;
sbit LED2B=LEDStatusB^1;
sbit LED3B=LEDStatusB^2;
sbit LED4B=LEDStatusB^3;
sbit LED5B=LEDStatusB^4;
sbit LED6B=LEDStatusB^5;
sbit Power_CS1=LEDStatusB^6;
sbit Power_CS2=LEDStatusB^7;

U8 FlagPort1EEPROMType=0;
U8 FlagPort2EEPROMType=0;
U8 FlagPort3EEPROMType=0;
U8 FlagPort4EEPROMType=0;
U8 FlagPort5EEPROMType=0;
U8 FlagPort6EEPROMType=0;
U8 FlagPort7EEPROMType=0; 
//------------------------------------------------------------------
U8 	FlagEEPROM=0;
#define EEPROM1        0
#define EEPROM2        1
#define EEPROM3        2
#define EEPROM4        3
#define EEPROM5        4
#define EEPROM6        5
#define EEPROM7        6
//------------------------------------------------------------------
#define AT24C01        0
#define AT24C02        1
#define AT24C04        2
#define AT24C08        3
#define AT24C16        4
#define AT24C32        5
//-------------------------------------------------------------------
#define SwitchON       0
#define SwitchOFF      1
//-------------------------------------------------------------------
#define PORT1       0
#define PORT2       1
#define PORT3       2
#define PORT4       3
#define PORT5       4
#define PORT6       5
//------------------------------------------------------------------
#define LED_Busy    0
#define LED_Ready   1
#define LED_OFF     2
//-------------------------------------------------------------------
U8 code StrSetProgramPortState[]={" Set Program Port State "};
U8 code StrSetEEPROMType[]={" Set EEPROM Type        "};
U8 code StrSetSelfStudy[]={" Set Program Self-Study "};
U8 code StrSaveSetting[]={" Save Setting & Exit    "};
//------------------------------------------------------------------
U8 code StrPort1EEPROMType[]={"  Port1         "};
U8 code StrPort2EEPROMType[]={"  Port2         "};
U8 code StrPort3EEPROMType[]={"  Port3         "};
U8 code StrPort4EEPROMType[]={"  Port4         "};
U8 code StrPort5EEPROMType[]={"  Port5         "};
U8 code StrPort6EEPROMType[]={"  Port6         "};
//-----------------------------------------------------------------
U8 code StrAT24C01[]={"       [AT24C01]        "};
U8 code StrAT24C02[]={"       [AT24C02]        "};
U8 code StrAT24C04[]={"       [AT24C04]        "};
U8 code StrAT24C08[]={"       [AT24C08]        "};
U8 code StrAT24C16[]={"       [AT24C16]        "};
//-----------------------------------------------------------------
U8 code StrPort1ON[] ={"  Port1[ON  ]           "};
U8 code StrPort1OFF[]={"  Port1[OFF ]           "};
U8 code StrPort2ON[] ={"  Port2[ON  ]           "};
U8 code StrPort2OFF[]={"  Port2[OFF ]           "};
U8 code StrPort3ON[] ={"  Port3[ON  ]           "};
U8 code StrPort3OFF[]={"  Port3[OFF ]           "};
U8 code StrPort4ON[] ={"  Port4[ON  ]           "};
U8 code StrPort4OFF[]={"  Port4[OFF ]           "};
U8 code StrPort5ON[] ={"  Port5[ON  ]           "};
U8 code StrPort5OFF[]={"  Port5[OFF ]           "};
U8 code StrPort6ON[] ={"  Port6[ON  ]           "};
U8 code StrPort6OFF[]={"  Port6[OFF ]           "};
//------------------------------------------------------------------
U8 code StrProductInformation0[]={"   DEZHI Electron Ltd.  "};
U8 code StrProductInformation1[]={"ATMEL EEPROM Programmer "};
//------------------------------------------------------------------
U8 code StrSystemInitial0[]={"                        "};
U8 code StrSystemInitial1[]={"  System Initialize...  "};
//------------------------------------------------------------------
U8 code StrSaveSetLine0[]={" Updata Setting.....    "};
U8 code StrSaveSetLine1[]={" Do Not Off Power!!     "};
//------------------------------------------------------------------
U8 code StrPowerOnOffLine0[]={"Updata Setting ok!!     "};
U8 code StrPowerOnOffLine1[]={"Please Power On/Off !!  "};
//-----------------------------------------------------------------
U8 code StrStudyEnd0[]={"Self-Study ok!!         "};
U8 code StrStudyEnd1[]={"Please Power On/Off !!  "};
//-----------------------------------------------------------------
U8 code StrError[] ={"                        "};
U8 code StrInitialError_DRAM[]={"     ERROR CODE 001     "};              //DRAM check error!!
U8 code StrInitialError_HistoryDataRead[]={"     ERROR CODE 002     "};   //history data-->'read' ERROR!!
U8 code StrInitialError_HistoryDataWrite[]={"     ERROR CODE 003     "};  //history data-->'write' ERROR!!
U8 code StrInitialError_HistoryDataType[]={"     ERROR CODE 004     "};   //history data-->type ERROR!! 
U8 code StrInitialError_SaveSampleCode[]={"     ERROR CODE 005     "};    //save sample code error!!
//----------------------------------------------------------------
U8 code StrSystemReadLine0[]={"         Ready!!        "};
U8 code StrSystemReadLine1[]={"Press[RESET] to Program "};
//--------------------------------------------------------------------
U8 code StrClearHistoryDataStart0[]={"                        "};
U8 code StrClearHistoryDataStart1[]={" Clear History Data..   "};

U8 code StrClearHistoryDataOK0[]={"                        "};
U8 code StrClearHistoryDataOK1[]={" Clear History Data OK! "};
//-----------------------------------------------------------------
U8 code SystemPort1Program[]={"Port1 Program..         "};
U8 code SystemPort2Program[]={"Port2 Program..         "};
U8 code SystemPort3Program[]={"Port3 Program..         "};
U8 code SystemPort4Program[]={"Port4 Program..         "};
U8 code SystemPort5Program[]={"Port5 Program..         "};
U8 code SystemPort6Program[]={"Port6 Program..         "};
//-----------------------------------------------------------------
U8 code SystemPort1ProgramOK[]={"Port1 Program OK !      "};
U8 code SystemPort2ProgramOK[]={"Port2 Program OK !      "};
U8 code SystemPort3ProgramOK[]={"Port3 Program OK !      "};
U8 code SystemPort4ProgramOK[]={"Port4 Program OK !      "};
U8 code SystemPort5ProgramOK[]={"Port5 Program OK !      "};
U8 code SystemPort6ProgramOK[]={"Port6 Program OK !      "};
//----------------------------------------------------------------
U8 code SystemPort1ProgramNG[]={"Port1 Program NG !      "};
U8 code SystemPort2ProgramNG[]={"Port2 Program NG !      "};
U8 code SystemPort3ProgramNG[]={"Port3 Program NG !      "};
U8 code SystemPort4ProgramNG[]={"Port4 Program NG !      "};
U8 code SystemPort5ProgramNG[]={"Port5 Program NG !      "};
U8 code SystemPort6ProgramNG[]={"Port6 Program NG !      "};
//--------------------------------------------------------------
U8 code SystemPort1Verify[]={"Port1 Verify..           "};
U8 code SystemPort2Verify[]={"Port2 Verify..           "};
U8 code SystemPort3Verify[]={"Port3 Verify..           "};
U8 code SystemPort4Verify[]={"Port4 Verify..           "};
U8 code SystemPort5Verify[]={"Port5 Verify..           "};
U8 code SystemPort6Verify[]={"Port6 Verify..           "};
//-------------------------------------------------------------
U8 code SystemPort1VerifyOK[]={"Port1 Verify OK !        "};
U8 code SystemPort2VerifyOK[]={"Port2 Verify OK !        "};
U8 code SystemPort3VerifyOK[]={"Port3 Verify OK !        "};
U8 code SystemPort4VerifyOK[]={"Port4 Verify OK !        "};
U8 code SystemPort5VerifyOK[]={"Port5 Verify OK !        "};
U8 code SystemPort6VerifyOK[]={"Port6 Verify OK !        "};
//------------------------------------------------------------
U8 code SystemPort1VerifyNG[]={"Port1 Verify NG !        "};
U8 code SystemPort2VerifyNG[]={"Port2 Verify NG !        "};
U8 code SystemPort3VerifyNG[]={"Port3 Verify NG !        "};
U8 code SystemPort4VerifyNG[]={"Port4 Verify NG !        "};
U8 code SystemPort5VerifyNG[]={"Port5 Verify NG !        "};
U8 code SystemPort6VerifyNG[]={"Port6 Verify NG !        "};
//---------------------------------------------------------------------------
U8 code StrPort4ProgramStart[]={0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort5ProgramStart[]={0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort6ProgramStart[]={0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//--------------------------------------------------------------------------
U8 code StrPort4ProgramOK[]={0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort5ProgramOK[]={0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort6ProgramOK[]={0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//--------------------------------------------------------------------------
U8 code StrPort4ProgramNG[]={0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort5ProgramNG[]={0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort6ProgramNG[]={0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//--------------------------------------------------------------------------
U8 code StrPort4VerifyOK[]={0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort5VerifyOK[]={0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort6VerifyOK[]={0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//-------------------------------------------------------------------------
U8 code StrPort4VerifyNG[]={0x0d,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort5VerifyNG[]={0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrPort6VerifyNG[]={0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//------------------------------------------------------------------------
U8 code StrDramNG[]={0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrDramOK[]={0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//-----------------------------------------------------------------------
U8 code StrSaveSampStart[]={0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrSaveSampCodeNG[]={0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
U8 code StrSaveSampCodeOK[]={0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//----------------------------------------------------------------------
U8 code StrResultLine0[]={"Port[1..6] Result=OK    "};
U8 code StrResultLine1[]={" OK  OK  OK  OK  OK  OK "};
//===================================================================
#define LCD_CS XBYTE[0x9000]
#define COMMAND_CS XBYTE[0xa000]
#define LED_CS1 XBYTE[0xb000]
#define LED_CS2 XBYTE[0xc000]
#define Button_CS XBYTE[0xd000]
//=================================================================
//       system memory buffer
//================================================================
U8 xdata Port1SampleCode[0x1500] _at_ (0x0000);
U8 xdata Port2SampleCode[0x1500] _at_ (0x1500);
U8 xdata Port3SampleCode[0x1500] _at_ (0x1500+0x1500);
U8 xdata CheckCodeBuffer[0x1500] _at_ (0x1500+0x1500+0x1500);
//==================================================================
#define T1ms   1
#define T10ms  10
#define T1s    1000
//==================================================================================================
//LCM USED
#define ReadEnable   0
#define WriteEnable  1
#define SKP_NG   0
#define SKP_OK   1
U8 bdata CommandStatus=0xff;
sbit SKP_CS=CommandStatus^0;
sbit LCM_Lamp=CommandStatus^2;
sbit LCM_RS=CommandStatus^6;
sbit LCM_RW=CommandStatus^7;

U8 EmpBuffer[24];
U8 EmpBufferA[24];
//==================================================================================
//at24cxx used
#define BANK0     0xa0
#define BANK1     0xa2
#define BANK2     0xa4
#define BANK3     0xa6
#define BANK4     0xa8
#define BANK5     0xaa
#define BANK6     0xac
#define BANK7     0xae
/***************************************************************************/
sbit SCL1=P3^2;
sbit SDA1=P3^3;

sbit SCL2=P3^4;
sbit SDA2=P3^5;

sbit SCL3=P1^0;
sbit SDA3=P1^1;

sbit SCL4=P1^2;
sbit SDA4=P1^3;

sbit SCL5=P1^4;
sbit SDA5=P1^5;

sbit SCL6=P1^6;
sbit SDA6=P1^7;

sbit SCL7=P4^0;
sbit SDA7=P4^1;
//--------------------------------------------------------
U16  MaxProgramDataLenngth=0;

⌨️ 快捷键说明

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