你说的不无道理,但现实我取消WDT复位标志后,一切正常.我在程序的开始有检查WDT复位标志,当标志位为1时,不作RAM清除工作,其他复位时清除.结果出现上述现象.<br />很奇怪的是我对RAM清零后没有对RAM写入,但出现非零值,我至今想不通!<br /><br />如下程序:<br /> MAIN: MOV A,WDT_CONTR ;检查最高位WDT复位标志<br /> ANL A,#80H<br /> JNZ CLS_WDT_FLAG ;标志位为1跳转<br /> MOV R0,#0FFH<br /> CLSRAM:CLR A<br /> MOV @R0,A<br /> DJNZ R0,CLSRAM<br /> CLS_WDT_FLAG:<br /> MOV WDT_CONTR,#0<br /> INITI_MCU:<br /> .........<br /> MOV WDT_CONTR,#3AH<br /> ...........<br /><br />我也试过不跳过RAM擦除程序,依然是出现同样的乱码.在STC12LE5404AD上我试过的.
|