延時程序如下:
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延時。大神幫忙看下哪里分析錯了,謝謝
|