控制EEPROM存取的EEC寄存器是位于bank1地址的40H处,所以必须做bank的切换并搭配MP1的间接寻址才能正确地进行位状态的设置。
程序参考:
unsigned short Read()
{
unsinged short Backup;
_mp1=0x40;
Backup=_bp; bp=1;
RDEN=1; RD=1;
while(RD);
_iar1=0;
_bp=Backup;
return _edd;
}
void Write(unsinged short a)
{
unsinged short Backup;
_eed=a;
_mp1=0x40;
Backup=_bp; bp=1;
WREN=1; WR=1;
while(WR);
_iar1=0;
_bp=Backup;
}
STC的网站有例子程序,你可以直接使用的./STC90/89系列内部EEPROM放数据(C语言)
兄弟,怎么解决的我用的也出现这样子情况
要注意时序