📄 dsp28_ev.asm
字号:
;***************************************************************
;* TMS320C2000 C/C++ Codegen PC Version 3.09 *
;* Date/Time created: Sun Jun 11 10:19:20 2006 *
;***************************************************************
FP .set XAR2
.file "DSP28_Ev.c"
; C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\XN79A6~1.UPC\LOCALS~1\Temp\TI5888_4
.sect ".text"
.global _InitEv
.sym _InitEv,_InitEv, 32, 2, 0
.func 31
;----------------------------------------------------------------------
; 31 | void InitEv(void)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _InitEv FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_InitEv:
.line 2
;----------------------------------------------------------------------
; 35 | #ifdef PWM
;----------------------------------------------------------------------
.line 7
;----------------------------------------------------------------------
; 37 | EvaRegs.ACTR.all = 0x0555;
;----------------------------------------------------------------------
MOVW DP,#_EvaRegs+19
MOV @_EvaRegs+19,#1365 ; |37|
.line 8
;----------------------------------------------------------------------
; 38 | EvaRegs.CMPR1 = 0x0;
;----------------------------------------------------------------------
MOV @_EvaRegs+23,#0 ; |38|
.line 9
;----------------------------------------------------------------------
; 39 | EvaRegs.CMPR2 = 0x0;
;----------------------------------------------------------------------
MOV @_EvaRegs+24,#0 ; |39|
.line 10
;----------------------------------------------------------------------
; 40 | EvaRegs.CMPR3 = 0x0;
;----------------------------------------------------------------------
MOV @_EvaRegs+25,#0 ; |40|
.line 11
;----------------------------------------------------------------------
; 41 | EvaRegs.COMCONA.all = 0x8200;
; 42 | #endif
;----------------------------------------------------------------------
MOV @_EvaRegs+17,#33280 ; |41|
.line 14
;----------------------------------------------------------------------
; 44 | EvaRegs.T1CNT = 0;
;----------------------------------------------------------------------
MOV @_EvaRegs+1,#0 ; |44|
.line 15
;----------------------------------------------------------------------
; 45 | EvaRegs.T1PR = HISPCLK_FREQ/PWM_FREQ-1;
;----------------------------------------------------------------------
MOV @_EvaRegs+3,#37499 ; |45|
.line 16
;----------------------------------------------------------------------
; 46 | EvaRegs.T1CON.all = 0x1040;
;----------------------------------------------------------------------
MOV @_EvaRegs+4,#4160 ; |46|
.line 19
LRETR
; return occurs
.endfunc 49,000000000h,0
.sect ".text"
.global _SetPWMFreq
.sym _SetPWMFreq,_SetPWMFreq, 32, 2, 0
.func 51
;----------------------------------------------------------------------
; 51 | void SetPWMFreq(long PWMFreqInKHz)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _SetPWMFreq FR SIZE: 6 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 2 Parameter, 4 Auto, 0 SOE *
;***************************************************************
_SetPWMFreq:
.line 2
;* AL assigned to _PWMFreqInKHz
.sym _PWMFreqInKHz,0, 5, 17, 32
.sym _PWMFreqInKHz,-4, 5, 1, 32
.sym _temp,-6, 5, 1, 32
ADDB SP,#6
;----------------------------------------------------------------------
; 53 | long temp;
;----------------------------------------------------------------------
MOVL *-SP[4],ACC ; |52|
.line 4
;----------------------------------------------------------------------
; 54 | temp = HISPCLK_FREQ/PWMFreqInKHz;
;----------------------------------------------------------------------
MOVL ACC,*-SP[4] ; |54|
MOVL *-SP[2],ACC ; |54|
MOV ACC,#9375 << 3
FFC XAR7,#L$$DIV ; |54|
; call occurs [#L$$DIV] ; |54|
MOVL *-SP[6],ACC ; |54|
.line 5
;----------------------------------------------------------------------
; 55 | EvaRegs.T1PR = temp;
; 56 | // EvaRegs.T1PR = 1000;
;----------------------------------------------------------------------
MOVW DP,#_EvaRegs+3
MOV AL,*-SP[6] ; |55|
MOV @_EvaRegs+3,AL ; |55|
.line 7
SUBB SP,#6
LRETR
; return occurs
.endfunc 57,000000000h,6
.sect ".text"
.global _SetPWMWidth
.sym _SetPWMWidth,_SetPWMWidth, 32, 2, 0
.func 65
;----------------------------------------------------------------------
; 65 | void SetPWMWidth(long WidthInNormal)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _SetPWMWidth FR SIZE: 6 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 2 Parameter, 4 Auto, 0 SOE *
;***************************************************************
_SetPWMWidth:
.line 2
;* AL assigned to _WidthInNormal
.sym _WidthInNormal,0, 5, 17, 32
.sym _WidthInNormal,-4, 5, 1, 32
.sym _temp,-6, 5, 1, 32
ADDB SP,#6
;----------------------------------------------------------------------
; 67 | long temp;
;----------------------------------------------------------------------
MOVL *-SP[4],ACC ; |66|
.line 4
;----------------------------------------------------------------------
; 68 | temp = EvaRegs.T1PR;
;----------------------------------------------------------------------
MOVW DP,#_EvaRegs+3
MOVU ACC,@_EvaRegs+3
MOVL *-SP[6],ACC ; |68|
.line 5
;----------------------------------------------------------------------
; 69 | EvaRegs.CMPR1 = temp*WidthInNormal/40;
;----------------------------------------------------------------------
MOVB ACC,#40
MOVL *-SP[2],ACC ; |69|
MOVL XT,*-SP[4] ; |69|
IMPYL ACC,XT,*-SP[6] ; |69|
FFC XAR7,#L$$DIV ; |69|
; call occurs [#L$$DIV] ; |69|
MOV @_EvaRegs+23,AL ; |69|
.line 6
;----------------------------------------------------------------------
; 70 | EvaRegs.CMPR2 = temp*WidthInNormal/40;
;----------------------------------------------------------------------
MOVB ACC,#40
MOVL *-SP[2],ACC ; |70|
MOVL XT,*-SP[4] ; |70|
IMPYL ACC,XT,*-SP[6] ; |70|
FFC XAR7,#L$$DIV ; |70|
; call occurs [#L$$DIV] ; |70|
MOV @_EvaRegs+24,AL ; |70|
.line 7
;----------------------------------------------------------------------
; 71 | EvaRegs.CMPR3 = temp*WidthInNormal/40;
; 72 | // EvaRegs.CMPR1 = 300;
; 73 | // EvaRegs.CMPR2 = 400;
; 74 | // EvaRegs.CMPR3 = 300;
;----------------------------------------------------------------------
MOVB ACC,#40
MOVL *-SP[2],ACC ; |71|
MOVL XT,*-SP[4] ; |71|
IMPYL ACC,XT,*-SP[6] ; |71|
FFC XAR7,#L$$DIV ; |71|
; call occurs [#L$$DIV] ; |71|
MOV @_EvaRegs+25,AL ; |71|
.line 11
SUBB SP,#6
LRETR
; return occurs
.endfunc 75,000000000h,6
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _EvaRegs
.global L$$DIV
;***************************************************************
;* TYPE INFORMATION *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -