memory write eeprom 16f877
void saveData()
{
if(RB1==0||RB2==0)
{
delay(250);
EEADR=0xFF;
EEDATA=hCount;
WREN=1;
EECON2=0x55;
EECON2=0xAA;
WR=1;
while(WR==1) continue;
WREN=0;
EEADR=0xFE;
EEDATA=lCount;
WREN=1;
EECON2=0x55;
EECON2=0xAA;
WR=1;
while(WR==1) continue;
WREN=0;
EEADR=0xFC;
EEDATA=powCount;
WREN=1;
EECON2=0x55;
EECON2=0xAA;
WR=1;
while(WR==1) continue;
WREN=0;
}
}
void readData()
{
EEADR=0xFF;
powCount=EEDATA;
RD=1;
EEADR=0xFE;
hCount=EEDATA;
RD=1;
EEADR=0xFC;
lCount=EEDATA;
RD=1;
}
if i put like tis , i get my desired result , but why , y the data ned read from different address .