keil编译程序出错,总是出现error C202: 'EA': undefined identifier
#define EraseCommand 0x03
#define Error 1
#define Ok 0
#define WaitTime 0x01
sfr ISP_DATA=0xe2;
sfr ISP_ADDRH=0xe3;
sfr ISP_ADDRL=0xe4;
sfr ISP_CMD=0xe5;
sfr ISP_TRIG=0xe6;
sfr ISP_CONTR=0xe7;
void ISP_IAP_enable(void)
{
EA = 0;
ISP_CONTR = ISP_CONTR & 0x18;
ISP_CONTR = ISP_CONTR | WaitTime;
ISP_CONTR = ISP_CONTR | 0x80;
}
void ISP_IAP_disable(void)
{
ISP_CONTR = ISP_CONTR & 0x7f;
ISP_TRIG = 0x00;
EA = 1;
}
void ISPgoon(void)
{
ISP_IAP_enable(); /* ?? ISP,IAP ?? */
ISP_TRIG = 0x46; /* ??ISP_IAP????1 */
ISP_TRIG = 0xb9; /* ??ISP_IAP????2 */
_nop_();
}
unsigned char byte_read(unsigned int byte_addr)
{
EA = 0;
ISP_ADDRH = (unsigned char)(byte_addr >> 8);
ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
ISP_CMD = ISP_CMD & 0xf8;
ISP_CMD = ISP_CMD | RdCommand;
ISPgoon();
ISP_IAP_disable();
EA = 1;
return (ISP_DATA);
}
void SectorErase(unsigned int sector_addr)
{
unsigned int iSectorAddr;
iSectorAddr = (sector_addr & 0xfe00);
ISP_ADDRH = (unsigned char)(iSectorAddr >> 8);
ISP_ADDRL = 0x00;
ISP_CMD = ISP_CMD & 0xf8;
ISP_CMD = ISP_CMD | EraseCommand;
ISPgoon();
ISP_IAP_disable();
}
void byte_write(unsigned int byte_addr, unsigned char original_data)
{
EA = 0;
//SectorErase(byte_addr);
ISP_ADDRH = (unsigned char)(byte_addr >> 8);
ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
ISP_CMD = ISP_CMD & 0xf8;
ISP_CMD = ISP_CMD | PrgCommand;
ISP_DATA = original_data;
ISPgoon();
ISP_IAP_disable();
EA =1;
}
#endif
eepom52.c(20): error C202: 'EA': undefined identifier[/b]
eepom52.c(29): error C202: 'EA': undefined identifier