📄 main.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 + -