Sam Linder [SamL at IN-INC.COM] says:
The following routines work for the 16F874/16F877 - not sure about the 16F871.
// **************************************************
// Function Name: Read8BitDataFromEEprom
//
// Description: Read characterization data out of on-board EEPROM
//
// Inputs:
// eeaddress: 8-bit EEPROM address to read
//
// Outputs:
// 8-bit data stored at EEPROM address
//
unsigned char
Read8BitDataFromEEprom(unsigned char eeaddress)
{
eeaddress &= 0x7F;
eeadr = eeaddress;
eepgd = 0;
rd = 1;
return(eedata);
} // end of Read8BitDataFromEEprom()
// **************************************************
// Function Name: Write8BitDataToEEprom
//
// Description: write 8-bit characterization data to on-board EEPROM
//
// Inputs:
// data_address: 8-bit EEPROM address
// datavalue: 8-bit data
//
// Outputs: none
//
void
Write8BitDataToEEprom(unsigned char data_address, unsigned char datavalue)
{
data_address &= 0x7F;
eeadr = data_address; // establish address to write to
eedata = datavalue; // get data to write
eepgd = 0; // set for access to data memory
wren = 1; // set eeprom write enable bit
//gie = 0;
#asm
retry:
bcf INTCON,GIE // disable interrupts for write sequence
btfsc INTCON,GIE // make sure bit cleared
goto retry // (int could have occurred 1/2way thru
instruction)
#endasm
eecon2 = 0x55; // required
eecon2 = 0xAA; // write
wr = 1; // sequence
gie = 1; // ok to re-enable interrupts
do { // wait for write to complete
; // nothing
} while(wr);
wren = 0; // clear eeprom write enable bit
eeif = 0; // clear write complete interrupt flag
} // end of Write8BitDataToEEprom()
Questions:
| file: /Techref/microchip/16f87xeeprom.htm, 2KB, , updated: 2003/5/8 13:52, local time: 2025/10/24 13:27,
owner: MRL-FAU-IAA,
216.73.216.180,10-8-63-169:LOG IN
|
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://www.massmind.org/Techref/microchip/16f87xeeprom.htm"> PIC Microcontoller Memory Method </A> |
| Did you find what you needed? |
Welcome to massmind.org! |
|
Ashley Roll has put together a really nice little unit here. Leave off the MAX232 and keep these handy for the few times you need true RS232! |
.