📄 lsvpwm.lst
字号:
117 ;PCDATDIR.2(IOPC2)=DO(93C46)
118 ;PCDATDIR.3(IOPC3)=DI(93C46)
119 ;PCDATDIR.6(IOPC6)=ALARM
120 ;PCDATDIR.7(IOPC7)=FDT(Y3)
121 0197 8b00 NOP
122 0198 8b00 NOP
123 0199 8b00 NOP
124 019a 8b00 NOP
125 019b 8b00 NOP
126 019c bce1 INIIOPIN: LDP #0E1H ;7080H-70FFH
127 019d ae10 INIOCRA splk #0001111100000000B,OCRA ;
019e 1f00
128 019f ae12 INIOCRB splk #00111100B,OCRB ;
01a0 003c
129 01a1 ae18 INIPADATDIR splk #0000111100000000B,PADATDIR
01a2 0f00
130 01a3 ae1a INIPBDATDIR splk #1110000000000000B,PBDATDIR
01a4 e000
131 01a5 ae1c INIPCDATDIR splk #1100101100000000B,PCDATDIR
01a6 cb00
132 01a7 bce0 LDP #0E0H ;7000H-707FH
133 01a8 ae72 ININMI splk #0014H,NMI ;0000 0001 0000 0100B
01a9 0014
134 ;NMI,上升沿触发
135 01aa ae70 INIXINT1 splk #0005H,XINT1 ;0000 0000 0000 0101B
01ab 0005
136 ;XINT1上升沿触发,HIGH优先级
137 01ac ae78 INIXINT2 splk #0000H,XINT2 ;作为输入
01ad 0000
138 01ae ae7a INIXINT3 splk #0000H,XINT3 ;作为输入
01af 0000
139 ;-----------------------EV中断初始化-------------------------------------------
140 01b0 bce8 INIEV: LDP #0E8H ;DP =>EV REGISTERS,7400H-747FH
141 01b1 ae2c INIEVIMRA splk #00000H,EVIMRA ;MASK ALL GROUP A INTERRUPT FLAGS
01b2 0000
142 01b3 ae2d INIEVIMRB splk #00000H,EVIMRB ;MASK ALL GROUP B INTERRUPT FLAGS
01b4 0000
143 01b5 ae2e INIEVIMRC splk #00000H,EVIMRC ;MASK ALL GROUP C INTERRUPT FLAGS
01b6 0000
144 01b7 ae2f INIEVIFRA splk #0FFFFH,EVIFRA ;CLEAR ALL GROUP A INTERRUPT FLAGS
01b8 ffff
145 01b9 ae30 INIEVIFRB splk #0FFFFH,EVIFRB ;CLEAR ALL GROUP B INTERRUPT FLAGS
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 10
01ba ffff
146 01bb ae31 INIEVIFRC splk #0FFFFH,EVIFRC ;CLEAR ALL GROUP C INTERRUPT FLAGS
01bc ffff
147 01bd 1032 INIEVIVRA LACC EVIVRA
148 01be 1033 INIEVIVRB LACC EVIVRB
149 01bf 1034 INIEVIVRC LACC EVIVRC
150 ;------------------------A/D 初始化------------------------------------------
151 01c0 bce0 INIAD: LDP #0E0H
152 01c1 ae34 INIADCTRL2 splk #0004H, ADCTRL2 ;CONVERSION TIME 7.2US
01c2 0004
153 01c3 6936 ADCINIFIFO1 LACL ADCFIFO1
154 01c4 6936 LACL ADCFIFO1
155 01c5 6938 INIADCFIFO2 LACL ADCFIFO2
156 01c6 6938 LACL ADCFIFO2
157 ;-----------------------------------SCI的初始化-------------------------------
158 ;注意:用户程序务必参照此段初始化程序
159
160 01c7 bce0 SCI_INIT: LDP #00E0h
161 01c8 ae50 splk #0017h, SCICCR ;1 stop bit,disable parity,8 char bits,
01c9 0017
162 ;async mode, idle–line protocol
163 01ca ae51 splk #0013h, SCICTL1 ;Enable TX, RX, internal SCICLK,
01cb 0013
164 ;Disable RX ERR, SLEEP, TXWAKE
165 01cc ae54 splk #0003, SCICTL2 ;disable RX INT,enable TX INT
01cd 0003
166 01ce ae52 splk #0000h, SCIHBAUD
01cf 0000
167 01d0 ae53 splk #000ah, SCILBAUD ;Baud Rate=115200 b/s (10 MHz SYSCLK)
01d1 000a
168 ;splk #0040h, SCILBAUD ;Baud Rate=19200 b/s (10 MHz SYSCLK)
169 01d2 ae5e splk #0022h, SCIPC2 ;Enable TXD & RXD pins
01d3 0022
170 01d4 ae51 splk #0033h, SCICTL1 ;Relinquish SCI from Reset.
01d5 0033
171 01d6 ae5f splk #0060H,SCIPRI ;RX,TX皆为LOW 优先级
01d7 0060
172
173 ;=========================PWM中断初始化===============================================
174 ;--------------------------清零-------------------------------------------------------
175 01d8 b900 zac
176 01d9 bce8 ldp #0E8H
177 01da 9000 sacl GPTCON ;gptcon=0
178 01db 9001 sacl T1CNT
179 01dc 9002 sacl T1CMPR
180 01dd 9003 sacl T1PR
181 01de 9004 sacl T1CON
182 01df 9005 sacl T2CNT
183 01e0 9006 sacl T2CMPR
184 01e1 9007 sacl T2PR
185 01e2 9008 sacl T2CON
186 01e3 9009 sacl T3CNT
187 01e4 900a sacl T3CMPR
188 01e5 900b sacl T3PR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 11
189 01e6 900c sacl T3CON
190 01e7 9011 sacl COMCON
191 01e8 9013 sacl ACTR
192 01e9 9014 sacl SACTR
193 01ea 9015 sacl DBTCON
194 01eb 9017 sacl CMPR1
195 01ec 9018 sacl CMPR2
196 01ed 9019 sacl CMPR3
197 01ee 901a sacl SCMPR1
198 01ef 901b sacl SCMPR2
199 01f0 901c sacl SCMPR3
200 01f1 9020 sacl CAPCON
201 01f2 9022 sacl CAPFIFO
202 01f3 9023 sacl CAP1FIFO
203 01f4 9024 sacl CAP2FIFO
204 01f5 9025 sacl CAP3FIFO
205 01f6 9026 sacl CAP4FIFO
206 ;-------------------------系统寄存器初始化---------------------------------------------
207 01f7 ae00 splk #1010101B,GPTCON;允许三个定时器比较输出,ACTIVE LOW
01f8 0055
208 01f9 bf80 LACC #Sample_PRD
01fa 04e2
209 01fb 9003 SACL T1PR ;微秒,采样周期
210 01fc ae01 SPLK #0, T1CNT
01fd 0000
211 01fe ae05 SPLK #0, T2CNT
01ff 0000
212 0200 ae02 SPLK #1, T1CMPR
0201 0001
213 0202 ae06 SPLK #1, T2CMPR
0203 0001
214 ;SPLK #0666H, ACTR ;禁止 SPACE VECTOR PWM,高有效
215 ;0000 0110 0110 0110
216 ;SPLK #0666H, ACTR ;ACTR IS DOUBLE BUFFERED
217 0204 ae13 splk #0999H,ACTR ;PWM compare actionsn,no space vector
0205 0999
218 ;0000 1001 1001 1001
219 ;6,4,2,high 5,3,1,low
220 ;SPLK #002AH,SACTR ;简单比较单元高有效
221 ;0000 0000 0010 1010
222 0206 ae14 splk #002Ah,SACTR ;X,Y,Z,active high
0207 002a
223 ;0000 0000 0010 1010
224 0208 ae14 SPLK #002AH,SACTR ;
0209 002a
225 ;SPLK #0000H, DBTCON ;no DEAD TIME
226 ;SPLK 50EFH,DBTCON ;8us
227 ;SPLK 46EFH,DBTCON ;7us
228 ;SPLK 3CEFH,DBTCON ;6us
229 ;SPLK 32EFH,DBTCON ;5us
230 ;SPLK 28EFH,DBTCON ;4us
231 020a ae15 SPLK 1EEFH,DBTCON ;3us
020b 1eef
232 ;SPLK 1CEFH,DBTCON ;2.8us;
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 12
233 020c ae17 SPLK #0, CMPR1 ;
020d 0000
234 020e ae18 SPLK #0, CMPR2 ;
020f 0000
235 0210 ae19 SPLK #0, CMPR3 ;
0211 0000
236 0212 ae1a SPLK #0, SCMPR1 ;
0213 0000
237 0214 ae1b SPLK #0, SCMPR2 ;
0215 0000
238 0216 ae1c SPLK #0, SCMPR3 ;再一次清零
0217 0000
239 0218 ae01 splk #0,T1CNT ;T1计数器初值
0219 0000
240 021a ae11 SPLK #0307H, COMCON ;COMCON NEED TO BE WRITTEN TWICE
021b 0307
241 ;splk #0272fh,COMCON ;FIRST enable PWM operation(EN SCMP)
242 021c ae11 SPLK #8307H, COMCON ;FOR PROPER OPERATION
021d 8307
243 ;splk #0a72fh,COMCON ;THEN enable Compare operation(EN SCMP)
244 021e ae04 SPLK #2802H,T1CON ;CONTINUOUS UP/DOWN COUNT MODE
021f 2802
245 ;0010 1000 0000 0010
246 0220 ae04 SPLK #2802H,T1CON ;CONTINUOUS UP COUNT MODE
0221 2802
247 0222 ae08 splk #0010100011000011B,T2CON;使用T1,忽略本身
0223 28c3
248 0224 1004 lacc T1CON
249 0225 bfc0 or #40h
0226 0040
250 0227 9004 sacl T1CON ;(T1CON)=02842H
251 0228 9004 sacl T1CON ;(T1CON)=02842H
252 0229 ae20 splk #1110001011110000b,CAPCON ;用timer3定时
022a e2f0
253 022b ae09 splk #0,T3CNT
022c 0000
254 022d ae0b splk #0ffffh,T3PR
022e ffff
255 022f ae0c splk 0001100001110000B,T3CON
0230 1870
256 0231 ae2c SPLK #0201H, EVIMRA
0232 0201
257 0233 1032 LACC EVIVRA
258 0234 ae2d SPLK #0H, EVIMRB
0235 0000
259 0236 1033 LACC EVIVRB
260 ;=================================================================
261 ;变量的初始化
262 0237 variable_init
1 ;---------------------------------------------------------------
1
1 0237 DataZero TEMP ;数据区清零
2
2 0237 bf0a LAR AR2, #0200H ;AR2->B0 START ADDRESS
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Fri Jun 3 14:41:53 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
lsvpwm.asm PAGE 13
0238 0200
2 0239 8b8a MAR *, AR2 ;SET ARP=AR2
2 023a b900 ZAC ;SET (ACC)=0
2 023b bbff RPT #0FFH ;SET REPEAT CNTR FOR 255+1 LOOPS
2 023c 90a0 SACL *+ ;WRITE ZEROS TO B0 RAM
2
2 023d bf0a LAR AR2, #0300H ;AR2->B1 START ADDRESSH
023e 0300
2 023f bbff RPT #0FFH ;SET REPEAT CNTR FOR 255+1 LOOPS
2 0240 90a0 SACL *+ ;WRITE ZEROS TO B1 RAM
2
2 0241 b260 LAR AR2, #0060H ;AR2->B2 START ADDRESS
2 0242 bb1f RPT #1FH ;SET REPEAT CNTR FOR 31+1 LOOPS
2 0243 90a0 SACL *+ ;WRITE ZEROS TO B2 RAM
2
2 0244 bf0a lar AR2,#9120h
0245 9120
2 0246 bc04 LDP #4
2 0247 ae00 splk #(0ffffh-9120h),TEMP
0248 6edf
2 0249 0b00 rpt TEMP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -