访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
C2000例程连载3
内容导读:

S320F2812的延时程序

作者不详

.def _DSP28x_usDelay

;====================================================
;Delay Function 
;The C assembly call will look as follows: 
;
;  extern void Delay(long time);                

;        MOV   AL,#LowLoopCount
;        MOV   AH,#HighLoopCount
;        LCR   _Delay
;
;Or as follows (if count is less then 16-bits):
;
;        MOV   ACC,#LoopCount
;        LCR   _Delay


        .global  __DSP28x_usDelay
_DSP28x_usDelay:
        SUB    ACC,#1
        NOP
        NOP
        BF     _DSP28x_usDelay,GEQ    ;; Loop if ACC >= 0
        LRETR 

;There is a 9/10 cycle overhead and each loop
;takes five cycles. The LoopCount is given by
;the following formula:

;  DELAY_CPU_CYLES = 9 + 5*LoopCount

; LoopCount = (DELAY_CPU_CYCLES - 9) / 5

;==================================================

标签:
来源: 作者: 时间:2006/9/25 16:50:53
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐