正在调试汇编下使用STC的CDC库。遇到问题是:
一旦运行软件复位语句:IAP_CONTR = 0x20
整个系统就锁死了,必须关闭电源再打开重新开机。
之前发帖是在C编程下遇到这个问题,STC官方回复:
USBCON = 0x00; //清除USB设置
USBCLK = 0x00;
IRC48MCR = 0x00;
delay_ms(10);
IAP_CONTR = 0x20; //软件复位
按上述方法解决了这个问题。可是现在在汇编下,使用下述语句:
#include"AI8H.H"
IRC48 XDATA 0FE07H
STC的CDC官方汇编语句
我们的汇编程序语句
SREST:
CLR A ; 1
MOV DPTR, #USBCON ; 3
MOVX @DPTR, A ; 1
MOV DPTR, #USBCLK ; 3
MOVX @DPTR, A ; 1
MOV DPTR, #IRC48 ; 3
MOVX @DPTR, A ; 1
LCALL Delay5ms() ;延时5ms
LCALL Delay5ms() ;延时5ms
MOV IAP_CONTR, #20H ;*软件复位软件复位 3
RET ; 20
上面是软复位语句,应该是按STC官方提供的解决办法。可是软复位执行了这段语句,还是出现完全死机情况。不知原因?