⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp28_cputimers.asm

📁 基于TI的TMS320LF2812 高端专用的电机控制芯片编写的PWM产生程序。对于控制电机的朋友特别有用。该代码已经通过调试。
💻 ASM
字号:
;***************************************************************
;* TMS320C2000 C/C++ Codegen                   PC Version 3.09 *
;* Date/Time created: Thu Jan 18 11:47:36 2007                 *
;***************************************************************
FP	.set	XAR2
	.file	"DSP28_CpuTimers.c"
	.global	_CpuTimer1
_CpuTimer1:	.usect	".ebss",8,1,1
	.sym	_CpuTimer1,_CpuTimer1, 8, 2, 128, _CPUTIMER_VARS
	.global	_CpuTimer2
_CpuTimer2:	.usect	".ebss",8,1,1
	.sym	_CpuTimer2,_CpuTimer2, 8, 2, 128, _CPUTIMER_VARS
	.global	_CpuTimer0
_CpuTimer0:	.usect	".ebss",8,1,1
	.sym	_CpuTimer0,_CpuTimer0, 8, 2, 128, _CPUTIMER_VARS
;	C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\ZHANGH~1\LOCALS~1\Temp\TI4044_4 

	.sect	".text"
	.global	_InitCpuTimers
	.sym	_InitCpuTimers,_InitCpuTimers, 32, 2, 0
	.func	31

;***************************************************************
;* FNAME: _InitCpuTimers                FR SIZE:   0           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  0 SOE     *
;***************************************************************

_InitCpuTimers:
	.line	2
	.line	4
        MOVL      XAR4,#_CpuTimer0Regs  ; |34| 
        MOVW      DP,#_CpuTimer0
        MOVL      @_CpuTimer0,XAR4      ; |34| 
	.line	5
        MOVL      XAR4,#_CpuTimer1Regs  ; |35| 
        MOVL      @_CpuTimer1,XAR4      ; |35| 
	.line	6
        MOVL      XAR4,#_CpuTimer2Regs  ; |36| 
        MOVL      @_CpuTimer2,XAR4      ; |36| 
	.line	9
        MOVB      ACC,#0
        MOVW      DP,#_CpuTimer0Regs+2
        SUBB      ACC,#1
        MOVL      @_CpuTimer0Regs+2,ACC ; |39| 
	.line	10
        MOVB      ACC,#0
        MOVW      DP,#_CpuTimer1Regs+2
        SUBB      ACC,#1
        MOVL      @_CpuTimer1Regs+2,ACC ; |40| 
	.line	11
        MOVB      ACC,#0
        MOVW      DP,#_CpuTimer2Regs+2
        SUBB      ACC,#1
        MOVL      @_CpuTimer2Regs+2,ACC ; |41| 
	.line	14
        MOVW      DP,#_CpuTimer0Regs+6
        MOV       @_CpuTimer0Regs+6,#0  ; |44| 
	.line	15
        MOV       @_CpuTimer0Regs+7,#0  ; |45| 
	.line	18
        OR        @_CpuTimer0Regs+4,#0x0010 ; |48| 
	.line	19
        MOVW      DP,#_CpuTimer1Regs+4
        OR        @_CpuTimer1Regs+4,#0x0010 ; |49| 
	.line	20
        MOVW      DP,#_CpuTimer2Regs+4
        OR        @_CpuTimer2Regs+4,#0x0010 ; |50| 
	.line	23
        MOVW      DP,#_CpuTimer0Regs+4
        OR        @_CpuTimer0Regs+4,#0x0020 ; |53| 
	.line	24
        MOVW      DP,#_CpuTimer1Regs+4
        OR        @_CpuTimer1Regs+4,#0x0020 ; |54| 
	.line	25
        MOVW      DP,#_CpuTimer2Regs+4
        OR        @_CpuTimer2Regs+4,#0x0020 ; |55| 
	.line	28
        MOVB      ACC,#0
        MOVW      DP,#_CpuTimer0+2
        MOVL      @_CpuTimer0+2,ACC     ; |58| 
	.line	29
        MOVL      @_CpuTimer1+2,ACC     ; |59| 
	.line	30
        MOVL      @_CpuTimer2+2,ACC     ; |60| 
	.line	31
        LRETR
        ; return occurs
	.endfunc	61,000000000h,0



	.sect	".text"
	.global	_ConfigCpuTimer
	.sym	_ConfigCpuTimer,_ConfigCpuTimer, 32, 2, 0
	.func	71

;***************************************************************
;* FNAME: _ConfigCpuTimer               FR SIZE:   8           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            2 Parameter,  6 Auto,  0 SOE     *
;***************************************************************

_ConfigCpuTimer:
	.line	2
;* AR4   assigned to _Timer
	.sym	_Timer,12, 24, 17, 22, _CPUTIMER_VARS
;* AL    assigned to _Freq
	.sym	_Freq,0, 6, 17, 32
	.sym	_Period,-12, 6, 9, 32
	.sym	_Timer,-4, 24, 1, 22, _CPUTIMER_VARS
	.sym	_Freq,-6, 6, 1, 32
	.sym	_temp,-8, 15, 1, 32
        ADDB      SP,#8
        MOVL      *-SP[6],ACC           ; |72| 
        MOVL      *-SP[4],XAR4          ; |72| 
	.line	6
        MOVL      XAR4,*-SP[4]          ; |76| 
        MOVL      ACC,*-SP[6]           ; |76| 
        MOVL      *+XAR4[4],ACC         ; |76| 
	.line	7
        MOVL      XAR4,*-SP[4]          ; |77| 
        MOVL      ACC,*-SP[12]          ; |77| 
        MOVL      *+XAR4[6],ACC         ; |77| 
	.line	8
        MOVL      ACC,*-SP[12]          ; |78| 
        MOVL      *-SP[2],ACC           ; |78| 
        MOVL      ACC,*-SP[6]           ; |78| 
        LCR       #FS$$MPY              ; |78| 
        ; call occurs [#FS$$MPY] ; |78| 
        LCR       #FS$$TOUL             ; |78| 
        ; call occurs [#FS$$TOUL] ; |78| 
        MOVL      *-SP[8],ACC           ; |78| 
	.line	9
        MOVL      XAR4,*-SP[4]          ; |79| 
        MOVL      XAR4,*+XAR4[0]        ; |79| 
        MOVL      ACC,*-SP[8]           ; |79| 
        MOVL      *+XAR4[2],ACC         ; |79| 
	.line	12
        MOVL      XAR4,*-SP[4]          ; |82| 
        MOVL      XAR4,*+XAR4[0]        ; |82| 
        MOV       *+XAR4[6],#0          ; |82| 
	.line	13
        MOVL      XAR4,*-SP[4]          ; |83| 
        MOVL      XAR4,*+XAR4[0]        ; |83| 
        MOV       *+XAR4[7],#0          ; |83| 
	.line	16
        MOVL      XAR4,*-SP[4]          ; |86| 
        MOVL      XAR4,*+XAR4[0]        ; |86| 
        AND       *+XAR4[4],#0xfffb     ; |86| 
	.line	17
        MOVL      XAR4,*-SP[4]          ; |87| 
        MOVL      XAR4,*+XAR4[0]        ; |87| 
        AND       *+XAR4[4],#0xfff7     ; |87| 
	.line	18
        MOVL      XAR4,*-SP[4]          ; |88| 
        MOVL      XAR4,*+XAR4[0]        ; |88| 
        OR        *+XAR4[4],#0x0010     ; |88| 
	.line	19
        MOVL      XAR4,*-SP[4]          ; |89| 
        MOVL      XAR4,*+XAR4[0]        ; |89| 
        OR        *+XAR4[4],#0x0020     ; |89| 
	.line	20
        MOVL      XAR4,*-SP[4]          ; |90| 
        MOVL      XAR4,*+XAR4[0]        ; |90| 
        AND       *+XAR4[4],#0xffbf     ; |90| 
	.line	21
        MOVL      XAR4,*-SP[4]          ; |91| 
        MOVL      XAR4,*+XAR4[0]        ; |91| 
        OR        *+XAR4[4],#0x0380     ; |91| 
	.line	22
        MOVL      XAR4,*-SP[4]          ; |92| 
        MOVL      XAR4,*+XAR4[0]        ; |92| 
        OR        *+XAR4[4],#0x0400     ; |92| 
	.line	23
        MOVL      XAR4,*-SP[4]          ; |93| 
        MOVL      XAR4,*+XAR4[0]        ; |93| 
        OR        *+XAR4[4],#0x0800     ; |93| 
	.line	24
        MOVL      XAR4,*-SP[4]          ; |94| 
        MOVL      XAR4,*+XAR4[0]        ; |94| 
        OR        *+XAR4[4],#0x4000     ; |94| 
	.line	27
        MOVL      XAR4,*-SP[4]          ; |97| 
        MOVB      ACC,#0
        MOVL      *+XAR4[2],ACC         ; |97| 
	.line	28
        SUBB      SP,#8
        LRETR
        ; return occurs
	.endfunc	98,000000000h,8


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_CpuTimer1Regs
	.global	_CpuTimer2Regs
	.global	_CpuTimer0Regs
	.global	FS$$MPY
	.global	FS$$TOUL

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_Uint16, 0, 14, 13, 16
	.sym	_Uint16, 0, 14, 13, 16
	.sym	_Uint32, 0, 15, 13, 32
	.sym	_Uint32, 0, 15, 13, 32
	.stag	_TIM_REG, 32
	.member	_LSW, 0, 14, 8, 16
	.member	_MSW, 16, 14, 8, 16
	.eos
	.utag	_TIM_GROUP, 32
	.member	_all, 0, 15, 11, 32
	.member	_half, 0, 8, 11, 32, _TIM_REG
	.eos
	.stag	_PRD_REG, 32
	.member	_LSW, 0, 14, 8, 16
	.member	_MSW, 16, 14, 8, 16
	.eos
	.utag	_PRD_GROUP, 32
	.member	_all, 0, 15, 11, 32
	.member	_half, 0, 8, 11, 32, _PRD_REG
	.eos
	.stag	_TCR_BITS, 16
	.member	_OUTSTS, 0, 14, 18, 1
	.member	_FORCE, 1, 14, 18, 1
	.member	_POL, 2, 14, 18, 1
	.member	_TOG, 3, 14, 18, 1
	.member	_TSS, 4, 14, 18, 1
	.member	_TRB, 5, 14, 18, 1
	.member	_FRCEN, 6, 14, 18, 1
	.member	_PWIDTH, 7, 14, 18, 3
	.member	_SOFT, 10, 14, 18, 1
	.member	_FREE, 11, 14, 18, 1
	.member	_rsvd, 12, 14, 18, 2
	.member	_TIE, 14, 14, 18, 1
	.member	_TIF, 15, 14, 18, 1
	.eos
	.utag	_TCR_REG, 16
	.member	_all, 0, 14, 11, 16
	.member	_bit, 0, 8, 11, 16, _TCR_BITS
	.eos
	.stag	_TPR_BITS, 16
	.member	_TDDR, 0, 14, 18, 8
	.member	_PSC, 8, 14, 18, 8
	.eos
	.utag	_TPR_REG, 16
	.member	_all, 0, 14, 11, 16
	.member	_bit, 0, 8, 11, 16, _TPR_BITS
	.eos
	.stag	_TPRH_BITS, 16
	.member	_TDDRH, 0, 14, 18, 8
	.member	_PSCH, 8, 14, 18, 8
	.eos
	.utag	_TPRH_REG, 16
	.member	_all, 0, 14, 11, 16
	.member	_bit, 0, 8, 11, 16, _TPRH_BITS
	.eos
	.stag	_CPUTIMER_REGS, 128
	.member	_TIM, 0, 9, 8, 32, _TIM_GROUP
	.member	_PRD, 32, 9, 8, 32, _PRD_GROUP
	.member	_TCR, 64, 9, 8, 16, _TCR_REG
	.member	_rsvd1, 80, 14, 8, 16
	.member	_TPR, 96, 9, 8, 16, _TPR_REG
	.member	_TPRH, 112, 9, 8, 16, _TPRH_REG
	.eos
	.stag	_CPUTIMER_VARS, 128
	.member	_RegsAddr, 0, 24, 8, 22, _CPUTIMER_REGS
	.member	_InterruptCount, 32, 15, 8, 32
	.member	_CPUFreqInMHz, 64, 6, 8, 32
	.member	_PeriodInUSec, 96, 6, 8, 32
	.eos

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -