??? 04/16/06 18:19 Read: times |
#114344 - Easter Gift Responding to: ???'s previous message |
I give you the same Xmas gift I gave earlier
// EEPROM VARIABLES xdata unsigned short int EEWU_indexTimer _at_ 0x00; xdata unsigned short int EEWU_deflectorTimer _at_ 0x02; xdata unsigned short int EEWU_doorTimer _at_ 0x04; xdata unsigned char EEWU_roomRelayDelay _at_ 0x06; xdata unsigned char EEWU_boxRelayOn _at_ 0x07; xdata unsigned char EEWU_fuseSimulatorOn _at_ 0x08; xdata unsigned char EEWU_itemCountPulseHi _at_ 0x09; xdata unsigned short int EEWU_itemCountPulseLow _at_ 0x0A; xdata unsigned short int EEWU_doorOpensMode _at_ 0x0C; /****************************************************************************** * NAME : EEWU_eepromAccessEnable * DESCRIPTION : This Function enables onchip EEPROM access of the processor * INPUT : Nothing * OUTPUT : Nothing ******************************************************************************/ void EEWU_eepromAccessEnable(void) { WMCON |= EEMEN_; //EEPROM access enable } /****************************************************************************** * NAME : eepromWriteEnable * DESCRIPTION : This Function enables on chip EEPROM write of the processor * INPUT : Nothing * OUTPUT : Nothing ******************************************************************************/ static void eepromWriteEnable(void) { WMCON |= EEMWE_; //Write enable } /****************************************************************************** * NAME : eepromWriteDisable * DESCRIPTION : This Function disables on chip EEPROM write of the processor * INPUT : Nothing * OUTPUT : Nothing ******************************************************************************/ static void eepromWriteDisable(void) { WMCON &= ~EEMWE_; //Write disable } /****************************************************************************** * NAME : eepromReadyToWrite * DESCRIPTION : This Function shows if EEPROM is ready to write * INPUT : Nothing * OUTPUT : bit 1 if EEPROM is ready to write ******************************************************************************/ static unsigned char eepromReadyToWrite(void) { return(WMCON & EERDY_); } /****************************************************************************** * NAME : EEWU_writeByte * DESCRIPTION : This Function writes a byte to EEPROM. * INPUT : char* Address of byte to be stored and unsigned char to write * OUTPUT : Nothing ******************************************************************************/ void EEWU_writeByte(unsigned char* EE_ptr, // out unsigned char value8) { eepromWriteEnable(); *EE_ptr = value8; while(eepromReadyToWrite() == 0) { } // wait till byte is written (about 2.5 msec) eepromWriteDisable(); } /****************************************************************************** * NAME : EEWU_writeShortInt * DESCRIPTION : This Function writes short int to EEPROM upper byte first * INPUT : int* Address of byte to be stored,unsigned short to write * OUTPUT : Nothing ******************************************************************************/ void EEWU_writeShortInt(unsigned short int* EE_ptr2, // out unsigned short int value16) { unsigned char tempVar; unsigned char cntr; unsigned char* charPtr = (unsigned char*)EE_ptr2; tempVar = value16 & 0x0ff; // lower byte for(cntr = 0; cntr < 2; cntr++, charPtr++) { EEWU_writeByte(charPtr,tempVar); tempVar = value16 >> 8; // higher byte } } It was used to access eeprom of AT89S8252. Not sure if it works for your chip, but you will get the idea Mahmood |
Topic | Author | Date |
AT89C51ED2 Internal EEPROM | 01/01/70 00:00 | |
Datasheet | 01/01/70 00:00 | |
EEPROM | 01/01/70 00:00 | |
Mr MUHAMMED | 01/01/70 00:00 | |
Keil | 01/01/70 00:00 | |
Did you read this | 01/01/70 00:00 | |
Easter Gift | 01/01/70 00:00 | |
Thanks | 01/01/70 00:00 | |
muhammed | 01/01/70 00:00 | |
difference![]() | 01/01/70 00:00 |