📄 spwm_16k.lst
字号:
225 069F 06A0 xorwf (_sin_up/(0+8))& (0+127)
226 06A0 l8
227 ;SPWM_16K.c: 103: }
228 06A0 3000 movlw _PWM_TAB shr (0+8)
229 06A1 008A movwf 10
230 06A2 0821 movf _index,w
231 06A3 2073 call ((_PWM_TAB+-1)& (0+2047))| (($)& (0+-2048
+ ))
232 06A4 00F0 movwf btemp
233 06A5 120A 118A 270A fcall lbtoft
234 06A8 1683 bsf 3,5
235 06A9 0821 movf _sin_am^(0+128),w
236 06AA 00F3 movwf btemp+3
237 06AB 0822 movf (_sin_am+1)^(0+128),w
238 06AC 00F4 movwf btemp+4
239 06AD 0823 movf (_sin_am+2)^(0+128),w
240 06AE 00F5 movwf btemp+5
241 06AF 120A 118A 277B fcall ftmul
242 06B2 0870 movf btemp,w
243 06B3 00A7 movwf _sin_l^(0+128)
244 06B4 0871 movf btemp+1,w
245 06B5 00A8 movwf (_sin_l+1)^(0+128)
246 06B6 0872 movf btemp+2,w
247 06B7 00A9 movwf (_sin_l+2)^(0+128)
248 ;SPWM_16K.c: 107: if(sin_l >= 255)
249 06B8 01F3 clrf btemp+3
250 06B9 307F movlw 127
251 06BA 00F4 movwf btemp+4
252 06BB 3043 movlw 67
253 06BC 00F5 movwf btemp+5
254 06BD 0827 movf _sin_l^(0+128),w
255 06BE 00F0 movwf btemp
256 06BF 0828 movf (_sin_l+1)^(0+128),w
257 06C0 00F1 movwf btemp+1
258 06C1 0829 movf (_sin_l+2)^(0+128),w
259 06C2 00F2 movwf btemp+2
260 06C3 120A 118A 275C fcall ftcmp
+ 120A 118A
261 06C8 1C03 btfss 3,0
262 06C9 2ECF goto l9
263 ;SPWM_16K.c: 108: sin_l = 255;
264 06CA 01A7 clrf _sin_l^(0+128)
265 06CB 307F movlw 127
266 06CC 00A8 movwf (_sin_l+1)^(0+128)
267 06CD 3043 movlw 67
268 06CE 00A9 movwf (_sin_l+2)^(0+128)
269 06CF l9
270 ;SPWM_16K.c: 110: if( sin_up )
271 06CF 1283 bcf 3,5
272 06D0 1CA0 btfss _sin_up/(0+8),_sin_up& (0+7)
273 06D1 2EE3 goto l10
274 ;SPWM_16K.c: 111: {
275 06D2 0195 clrf 21 ;volatile
276 ;SPWM_16K.c: 113: CCPR2L = (unsigned char)sin_l
+ ;
277 06D3 1683 bsf 3,5
278 06D4 0827 movf _sin_l^(0+128),w
279 06D5 00F0 movwf btemp
280 06D6 0828 movf (_sin_l+1)^(0+128),w
281 06D7 00F1 movwf btemp+1
282 06D8 0829 movf (_sin_l+2)^(0+128),w
283 06D9 00F2 movwf btemp+2
284 06DA 120A 118A 27BC fcall fttol
+ 120A 118A
285 06DF 0870 movf btemp,w
286 06E0 1283 bcf 3,5
287 06E1 009B movwf 27 ;volatile
288 ;SPWM_16K.c: 115: }
289 06E2 2EF3 goto l11
290 06E3 l10
291 ;SPWM_16K.c: 117: {
292 06E3 019B clrf 27 ;volatile
293 ;SPWM_16K.c: 119: CCPR1L = (unsigned char)sin_l
+ ;
294 06E4 1683 bsf 3,5
295 06E5 0827 movf _sin_l^(0+128),w
296 06E6 00F0 movwf btemp
297 06E7 0828 movf (_sin_l+1)^(0+128),w
298 06E8 00F1 movwf btemp+1
299 06E9 0829 movf (_sin_l+2)^(0+128),w
300 06EA 00F2 movwf btemp+2
301 06EB 120A 118A 27BC fcall fttol
+ 120A 118A
302 06F0 0870 movf btemp,w
303 06F1 1283 bcf 3,5
304 06F2 0095 movwf 21 ;volatile
305 06F3 l11
306 ;SPWM_16K.c: 121: }
307 ;SPWM_16K.c: 123: index++;
308 06F3 0AA1 incf _index
309 ;SPWM_16K.c: 124: }
310 06F4 0008 return
311
312 psect intcode
313 ;SPWM_16K.c: 132: void interrupt isr_servers(vo
+ id)
314 ;SPWM_16K.c: 133: {
315 001F _isr_servers
316 001F int_func
317 ;SPWM_16K.c: 135: if(TMR2IF & TMR2IE)
318 001F 1683 bsf 3,5
319 0020 1303 bcf 3,6 ;carry unused
320 0021 1C8C btfss 12,1
321 0022 282C goto l13
322 0023 1283 bcf 3,5
323 0024 1C8C btfss 12,1
324 0025 282C goto l13
325 ;SPWM_16K.c: 136: {
326 0026 108C bcf 12,1
327 ;SPWM_16K.c: 138: ISR_CCP();
328 0027 120A 118A 2698 fcall _ISR_CCP
+ 120A 118A
329 002C l13
330 ;SPWM_16K.c: 139: }
331 002C 0064 clrwdt ;#
332 ;SPWM_16K.c: 151: if(TMR1IF & TMR1IE)
333 002D 1683 bsf 3,5
334 002E 1303 bcf 3,6 ;carry unused
335 002F 1C0C btfss 12,0
336 0030 283F goto l12
337 0031 1283 bcf 3,5
338 0032 1C0C btfss 12,0
339 0033 283F goto l12
340 ;SPWM_16K.c: 152: {
341 0034 100C bcf 12,0
342 ;SPWM_16K.c: 154: if( ++tm_sum >= 10 )
343 0035 300A movlw 10
344 0036 1683 bsf 3,5
345 0037 0AA0 incf _tm_sum^(0+128)
346 0038 0220 subwf _tm_sum^(0+128),w
347 0039 1C03 btfss 3,0
348 003A 283F goto l12
349 ;SPWM_16K.c: 155: {
350 003B 01A0 clrf _tm_sum^(0+128)
351 ;SPWM_16K.c: 158: RC3 = !RC3;
352 003C 1283 bcf 3,5
353 003D 3008 movlw 8
354 003E 0687 xorwf 7
355 ;SPWM_16K.c: 159: }
356 ;SPWM_16K.c: 161: }
357 003F l12
358 003F 1303 bcf 3,6 ;carry unused
359 0040 1283 bcf 3,5
360
361 psect intsave_0
362 007C saved_w
363 007C ds 1
364
365 psect intret
366 0053 0825 movf saved_fsr,w
367 0054 0084 movwf 4 ;restore FSR
368 0055 0826 movf saved_pclath,w
369 0056 008A movwf 10
370 0057 int_restore
371 0057 0824 movf saved_status,w
372 0058 0083 movwf 3
373 0059 0EFC swapf saved_w
374 005A 0E7C swapf saved_w,w
375 005B 0009 retfie
376
377 psect intentry
378 0004 int_entry
379 0004 00FC movwf saved_w
380 0005 0803 movf 3,w
381 0006 0183 clrf 3
382 0007 00A4 movwf saved_status
383 0008 0804 movf 4,w
384 0009 00A5 movwf saved_fsr
385 000A 080A movf 10,w
386 000B 00A6 movwf saved_pclath
387 000C 018A clrf 10
388
389 psect intsave
390 0024 saved_status
391 0024 ds 1
392 0025 saved_fsr
393 0025 ds 1
394 0026 saved_pclath
395 0026 ds 1
396
397 psect text6
398 0000
399 0000
400 0000
401 0000
402 0000
403 0000
404 0000
405 0000
406 0000
407 0000
408 0000
409 0000
410 0000
411 0000
412 0000
413 0000
414 0000
415 0000
416 0000
417 0000
418 0000
419 0000
420 0000
421 0000
422 0000
423 0000
424 0000
425 0000
426 0000
427 0000
428 0000
429 0000
430 0000
431 0000
432 0000
433 0000
434 0000
435 0000
436 0000
437 0000
438 0000
439 0000
440 0000
441 0000
442 0000
443 0000
444 0000
445 0000
446 0000
447 0000
448 0000
449 0000
450 0000
451 0000
452 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -