下面是对89S8252单片机内部的EEPROM写操作 mov dptr,#7fe //要写的地址 mov a,18h orl 96h,a //96就是wmcon的地址 mov a,#7h //要写的内容 movx @dptr,a here:mov a,96h jnb acc.1 here mov a,#0e7h anl 96h,a 以上的操作用效果并且是正确的 但是我改成C写后就没有效果了 c程如下 //i是代表要写地址 j是代表要写的内容 void ee_write(uchar i, uchar j) { uchar xdata *addr; addr=i; WMCON=WMCON|0x18; //orl 96h,a *addr=j; while(1) { if(WMCON^1==1)//here:mov a,96hjnb acc.1 here
{ break; else; } WMCON=WMCON&0xe7; //anl 96h,a
}
|