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

📄 spwm_16k.lst

📁 用PIC16F876A产生2路SPWM波
💻 LST
📖 第 1 页 / 共 3 页
字号:
   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 + -