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

📄 example_280xhirespwm.asm

📁 高解析度PWM波形控制,用于开关电源的开关管控制程序.
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;***************************************************************
;* TMS320C2000 C/C++ Codegen                   PC Version 3.09 *
;* Date/Time created: Mon Jun 18 11:17:08 2007                 *
;***************************************************************
FP	.set	XAR2
	.file	"Example_280xHiResPWM.c"
	.global	_i
_i:	.usect	".ebss",1,1,0
	.sym	_i,_i, 14, 2, 16
	.global	_n
_n:	.usect	".ebss",1,1,0
	.sym	_n,_n, 14, 2, 16
	.global	_update
_update:	.usect	".ebss",1,1,0
	.sym	_update,_update, 14, 2, 16
	.global	_DutyFine
_DutyFine:	.usect	".ebss",1,1,0
	.sym	_DutyFine,_DutyFine, 14, 2, 16
	.global	_j
_j:	.usect	".ebss",1,1,0
	.sym	_j,_j, 14, 2, 16
	.global	_duty
_duty:	.usect	".ebss",1,1,0
	.sym	_duty,_duty, 14, 2, 16
	.global	_temp
_temp:	.usect	".ebss",2,1,1
	.sym	_temp,_temp, 15, 2, 32
;	C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\dking\LOCALS~1\Temp\TI2484_4 

	.sect	".text"
	.global	_main
	.sym	_main,_main, 32, 2, 0
	.func	88

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

_main:
	.line	2
	.line	7
        LCR       #_InitSysCtrl         ; |94| 
        ; call occurs [#_InitSysCtrl] ; |94| 
	.line	17
        LCR       #_InitEPwm1Gpio       ; |104| 
        ; call occurs [#_InitEPwm1Gpio] ; |104| 
	.line	18
        LCR       #_InitEPwm2Gpio       ; |105| 
        ; call occurs [#_InitEPwm2Gpio] ; |105| 
	.line	19
        LCR       #_InitEPwm3Gpio       ; |106| 
        ; call occurs [#_InitEPwm3Gpio] ; |106| 
	.line	20
        LCR       #_InitEPwm4Gpio       ; |107| 
        ; call occurs [#_InitEPwm4Gpio] ; |107| 
	.line	24
 setc INTM
	.line	30
        LCR       #_InitPieCtrl         ; |117| 
        ; call occurs [#_InitPieCtrl] ; |117| 
	.line	33
        AND       IER,#0                ; |120| 
	.line	34
        AND       IFR,#0                ; |121| 
	.line	42
        LCR       #_InitPieVectTable    ; |129| 
        ; call occurs [#_InitPieVectTable] ; |129| 
	.line	51
        MOVW      DP,#_update
        MOV       @_update,#1           ; |138| 
	.line	52
        MOV       @_DutyFine,#0         ; |139| 
	.line	54
 EALLOW
	.line	55
        MOVW      DP,#_SysCtrlRegs+12
        AND       @_SysCtrlRegs+12,#0xfffb ; |142| 
	.line	56
 EDIS
	.line	82
        MOVB      AL,#100               ; |169| 
        LCR       #_HRPWM1_Config       ; |169| 
        ; call occurs [#_HRPWM1_Config] ; |169| 
	.line	83
        MOVB      AL,#200               ; |170| 
        LCR       #_HRPWM2_Config       ; |170| 
        ; call occurs [#_HRPWM2_Config] ; |170| 
	.line	84
        MOVB      AL,#100               ; |171| 
        LCR       #_HRPWM3_Config       ; |171| 
        ; call occurs [#_HRPWM3_Config] ; |171| 
	.line	85
        MOVB      AL,#200               ; |172| 
        LCR       #_HRPWM4_Config       ; |172| 
        ; call occurs [#_HRPWM4_Config] ; |172| 
	.line	87
 EALLOW
	.line	88
        MOVW      DP,#_SysCtrlRegs+12
        OR        @_SysCtrlRegs+12,#0x0004 ; |175| 
	.line	89
 EDIS
	.line	91
        MOVW      DP,#_update
        MOV       AL,@_update           ; |178| 
        CMPB      AL,#1                 ; |178| 
        BF        L6,NEQ                ; |178| 
        ; branch occurs ; |178| 
L1:    
	.line	95
        MOV       @_DutyFine,#1         ; |182| 
        CMP       @_DutyFine,#256       ; |182| 
        B         L5,HIS                ; |182| 
        ; branch occurs ; |182| 
L2:    
	.line	99
        MOV       ACC,@_DutyFine << #8  ; |186| 
        MOVW      DP,#_EPwm1Regs+8
        MOV       @_EPwm1Regs+8,AL      ; |186| 
	.line	100
        MOVW      DP,#_DutyFine
        MOV       ACC,@_DutyFine << #8  ; |187| 
        MOVW      DP,#_EPwm2Regs+8
        MOV       @_EPwm2Regs+8,AL      ; |187| 
	.line	103
        CLRC      SXM
        MOVW      DP,#_EPwm3Regs+9
        MOV       ACC,@_EPwm3Regs+9 << 16 ; |190| 
        MOVW      DP,#_DutyFine
        MOVL      XAR7,ACC              ; |190| 
        MOV       ACC,@_DutyFine << #8  ; |190| 
        MOVZ      AR6,AL                ; |190| 
        MOVW      DP,#_EPwm3Regs+8
        MOVL      ACC,XAR7              ; |190| 
        ADDU      ACC,AR6               ; |190| 
        MOVL      @_EPwm3Regs+8,ACC     ; |190| 
	.line	104
        MOVW      DP,#_EPwm4Regs+9
        MOV       ACC,@_EPwm4Regs+9 << 16 ; |191| 
        MOVL      XAR7,ACC              ; |191| 
        MOVW      DP,#_DutyFine
        MOV       ACC,@_DutyFine << #8  ; |191| 
        MOVZ      AR6,AL                ; |191| 
        MOVL      ACC,XAR7              ; |191| 
        ADDU      ACC,AR6               ; |191| 
        MOVW      DP,#_EPwm4Regs+8
        MOVL      @_EPwm4Regs+8,ACC     ; |191| 
	.line	106
        MOVW      DP,#_i
        MOV       @_i,#0                ; |193| 
        CMP       @_i,#10000            ; |193| 
        B         L4,HIS                ; |193| 
        ; branch occurs ; |193| 
L3:    
        INC       @_i                   ; |193| 
        CMP       @_i,#10000            ; |193| 
        B         L3,LO                 ; |193| 
        ; branch occurs ; |193| 
L4:    
	.line	107
        INC       @_DutyFine            ; |194| 
        CMP       @_DutyFine,#256       ; |194| 
        B         L2,LO                 ; |194| 
        ; branch occurs ; |194| 
L5:    
	.line	108
        MOV       AL,@_update           ; |195| 
        CMPB      AL,#1                 ; |195| 
        BF        L1,EQ                 ; |195| 
        ; branch occurs ; |195| 
L6:    
	.line	110
        LRETR
        ; return occurs
	.endfunc	197,000000000h,0



	.sect	".text"
	.global	_HRPWM1_Config
	.sym	_HRPWM1_Config,_HRPWM1_Config, 32, 2, 0
	.func	200

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

_HRPWM1_Config:
	.line	2
;* AL    assigned to _period
	.sym	_period,0, 4, 17, 16
	.sym	_period,-1, 4, 1, 16
        ADDB      SP,#1
        MOV       *-SP[1],AL            ; |201| 
	.line	6
        MOVW      DP,#_EPwm1Regs
        OR        @_EPwm1Regs,#0x0008   ; |205| 
	.line	7
        MOV       AL,*-SP[1]            ; |206| 
        MOV       @_EPwm1Regs+5,AL      ; |206| 
	.line	8
        MOV       AH,*-SP[1]            ; |207| 
        MOV       AL,AH                 ; |207| 
        LSR       AL,15                 ; |207| 
        ADD       AL,AH                 ; |207| 
        ASR       AL,1                  ; |207| 
        MOV       @_EPwm1Regs+9,AL      ; |207| 
	.line	9
        MOV       @_EPwm1Regs+8,#256    ; |208| 
	.line	10
        MOV       AL,AH                 ; |209| 
        LSR       AL,15                 ; |209| 
        ADD       AL,AH                 ; |209| 
        ASR       AL,1                  ; |209| 
        MOV       @_EPwm1Regs+10,AL     ; |209| 
	.line	11
        MOVB      ACC,#0
        MOVL      @_EPwm1Regs+2,ACC     ; |210| 
	.line	12
        MOV       @_EPwm1Regs+4,#0      ; |211| 
	.line	14
        AND       @_EPwm1Regs,#0xfffc   ; |213| 
	.line	15
        AND       @_EPwm1Regs,#0xfffb   ; |214| 
	.line	16
        OR        @_EPwm1Regs,#0x0030   ; |215| 
	.line	17
        AND       @_EPwm1Regs,#0xfc7f   ; |216| 
	.line	18
        AND       @_EPwm1Regs,#0xe3ff   ; |217| 
	.line	20
        AND       @_EPwm1Regs+7,#0xfffc ; |219| 
	.line	21
        AND       @_EPwm1Regs+7,#0xfff3 ; |220| 
	.line	22
        AND       @_EPwm1Regs+7,#0xffef ; |221| 
	.line	23
        AND       @_EPwm1Regs+7,#0xffbf ; |222| 
	.line	25
        AND       AL,@_EPwm1Regs+11,#0xfffc ; |224| 
        ORB       AL,#0x01              ; |224| 
        MOV       @_EPwm1Regs+11,AL     ; |224| 
	.line	26
        AND       AL,@_EPwm1Regs+11,#0xffcf ; |225| 
        ORB       AL,#0x20              ; |225| 
        MOV       @_EPwm1Regs+11,AL     ; |225| 
	.line	27
        AND       AL,@_EPwm1Regs+12,#0xfffc ; |226| 
        ORB       AL,#0x01              ; |226| 
        MOV       @_EPwm1Regs+12,AL     ; |226| 
	.line	28
        AND       AL,@_EPwm1Regs+12,#0xfcff ; |227| 
        OR        AL,#0x0200            ; |227| 
        MOV       @_EPwm1Regs+12,AL     ; |227| 
	.line	30
 EALLOW
	.line	31
        MOV       @_EPwm1Regs+32,#0     ; |230| 
	.line	32
        AND       AL,@_EPwm1Regs+32,#0xfffc ; |231| 
        ORB       AL,#0x01              ; |231| 
        MOV       @_EPwm1Regs+32,AL     ; |231| 
	.line	33
        AND       @_EPwm1Regs+32,#0xfffb ; |232| 
	.line	34
        AND       @_EPwm1Regs+32,#0xfff7 ; |233| 
	.line	35
 EDIS
	.line	36
        SUBB      SP,#1
        LRETR
        ; return occurs
	.endfunc	235,000000000h,1



	.sect	".text"
	.global	_HRPWM2_Config
	.sym	_HRPWM2_Config,_HRPWM2_Config, 32, 2, 0
	.func	237

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

_HRPWM2_Config:
	.line	2
;* AL    assigned to _period
	.sym	_period,0, 4, 17, 16
	.sym	_period,-1, 4, 1, 16
        ADDB      SP,#1
        MOV       *-SP[1],AL            ; |238| 
	.line	6
        MOVW      DP,#_EPwm2Regs
        OR        @_EPwm2Regs,#0x0008   ; |242| 
	.line	7
        MOV       AL,*-SP[1]            ; |243| 
        MOV       @_EPwm2Regs+5,AL      ; |243| 
	.line	8
        MOV       AH,*-SP[1]            ; |244| 
        MOV       AL,AH                 ; |244| 
        LSR       AL,15                 ; |244| 
        ADD       AL,AH                 ; |244| 
        ASR       AL,1                  ; |244| 
        MOV       @_EPwm2Regs+9,AL      ; |244| 
	.line	9
        MOVW      DP,#_EPwm1Regs+8
        MOV       @_EPwm1Regs+8,#256    ; |245| 
	.line	10
        MOV       AL,AH                 ; |246| 
        LSR       AL,15                 ; |246| 
        ADD       AL,AH                 ; |246| 
        MOVW      DP,#_EPwm2Regs+10
        ASR       AL,1                  ; |246| 
        MOV       @_EPwm2Regs+10,AL     ; |246| 
	.line	11
        MOVB      ACC,#0
        MOVL      @_EPwm2Regs+2,ACC     ; |247| 
	.line	12
        MOV       @_EPwm2Regs+4,#0      ; |248| 
	.line	14
        AND       @_EPwm2Regs,#0xfffc   ; |250| 
	.line	15
        AND       @_EPwm2Regs,#0xfffb   ; |251| 

⌨️ 快捷键说明

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