延时程序如下:
DELAY_10MS:
LDWI 80
STR TEMP1
LDWI 16
STR TEMP2
DELAY_10MSLOOP3:
CLRWDT
DECRSZ TEMP2,F
LJUMP DELAY_10MSLOOP3
DECRSZ TEMP1,F
LJUMP DELAY_10MSLOOP3
RET
我的计算是:((1+1+2)*16+1+2)*80+4=5364
由于一个采用16M内部时钟,一个指令周期2个时钟周期,所以延时时间是5364*0.125=670us,但是实际是10mS延时。大神帮忙看下哪里分析错了,谢谢
|