|
发表于 2010-10-12 20:09:04
|
显示全部楼层
; ....................................................................................................
; ★1ms基准延时,倍增调用。 (041024建立)(090901更新)(100926更新)
dly_1ms: ; 单次调用入口,倍数置1,包括调用和返回 1ms + 1us。
movlw .1
dlyx1ms: ; 倍增调用入口,倍数已在W,包括调用和返回 1ms x DELAY_T。
movwf DELAY_T
goto to_5us
loop1ms: ; 每个循环 1ms。
nop
nop
nop
nop
nop
nop
to_5us:
movlw d'198'
movwf TEMP1
loop990:
nop
nop
decfsz TEMP1,1
goto loop990
decfsz DELAY_T,1
goto loop1ms
return
; loop_1ms循环 [8 +(2+1+2)x198 -1 +3] = 1000us
; dly_1ms 单次调用入口 -6 +2+4 +[8 +(2+1+2)x198 -1 +3]x DELAY_T -1 +2 = 1000us x DELAY_T + 1us
; dlyx1ms 倍增调用入口 -6 +2+3 +[8 +(2+1+2)x198 -1 +3]x DELAY_T -1 +2 = 1000us x DELAY_T |
|