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

📄 16f884.lst

📁 PWM输出产生正玄波后经AD采集电压控制输出幅度,并显示电压等状态
💻 LST
📖 第 1 页 / 共 5 页
字号:
   231  0098  0A6D               	incf	(_new_pdc+1)^(0+128),w	;volatile
   232  0099  01ED               	clrf	(_new_pdc^(0+128)+1)	;volatile
   233  009A  02ED               	subwf	(_new_pdc^(0+128)+1)	;volatile
   234                           ;16f884.c: 237: if(point>dianshu-1)
   235  009B  1283               	bcf	3,5
   236  009C  082B               	movf	_point,w	;volatile
   237  009D  00F0               	movwf	btemp
   238  009E  01F1               	clrf	btemp+1
   239  009F  0826               	movf	_dianshu,w
   240  00A0  00F2               	movwf	btemp+2
   241  00A1  01F3               	clrf	btemp+3
   242  00A2  30FF               	movlw	-1
   243  00A3  07F2               	addwf	btemp+2
   244  00A4  1C03               	btfss	3,0
   245  00A5  07F3               	addwf	btemp+3
   246  00A6  0873               	movf	btemp+3,w
   247  00A7  3A80               	xorlw	128
   248  00A8  00F4               	movwf	btemp+4
   249  00A9  0871               	movf	btemp+1,w
   250  00AA  3A80               	xorlw	128
   251  00AB  0274               	subwf	btemp+4,w
   252  00AC  1D03               	btfss	3,2
   253  00AD  28B0               	goto	u725
   254  00AE  0870               	movf	btemp,w
   255  00AF  0272               	subwf	btemp+2,w
   256  00B0                     u725
   257                           ;16f884.c: 238: {point=0;zhengbanzhou=1;
   258  00B0  1283               	bcf	3,5
   259  00B1  1303               	bcf	3,6	;carry unused
   260  00B2  1803               	btfsc	3,0
   261  00B3  28CE               	goto	L7
   262  00B4  01AB               	clrf	_point	;volatile
   263  00B5  15A2               	bsf	_zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
   264                           ;16f884.c: 239: if(update_range)
   265  00B6  1CA2               	btfss	_update_range/(0+8),_update_range& (0+7)
   266  00B7  28CA               	goto	l111
   267                           ;16f884.c: 240: {range=RDY_RANGE;ADCON0=161;ADC
      +                          ON1=0;ADIF=0;ADIE=1;AD_OVER=0;update_range=0;}
   268  00B8  1683               	bsf	3,5
   269  00B9  086E               	movf	_RDY_RANGE^(0+128),w	;volatile
   270  00BA  00B3               	movwf	_range^(0+128)	;volatile
   271  00BB  086F               	movf	(_RDY_RANGE+1)^(0+128),w	;volatile
   272  00BC  00B4               	movwf	(_range+1)^(0+128)	;volatile
   273  00BD  30A1               	movlw	-95
   274  00BE  1283               	bcf	3,5
   275  00BF  009F               	movwf	31	;volatile
   276  00C0  1683               	bsf	3,5
   277  00C1  019F               	clrf	31
   278  00C2  1283               	bcf	3,5
   279  00C3  130C               	bcf	12,6
   280  00C4  1683               	bsf	3,5
   281  00C5  170C               	bsf	12,6
   282  00C6  1283               	bcf	3,5
   283  00C7  1020               	bcf	_AD_OVER/(0+8),_AD_OVER& (0+7)
   284  00C8  10A2               	bcf	_update_range/(0+8),_update_range& (0+7)
   285  00C9  28CC               	goto	l106
   286  00CA                     l111
   287                           ;16f884.c: 241: else {update_range=1;PWM_LAST=1
      +                          ;}
   288  00CA  14A2               	bsf	_update_range/(0+8),_update_range& (0+7)
   289  00CB  15A0               	bsf	_PWM_LAST/(0+8),_PWM_LAST& (0+7)
   290  00CC                     l106
   291                           ;16f884.c: 242: }
   292  00CC  1283               	bcf	3,5
   293  00CD  1303               	bcf	3,6	;carry unused
   294  00CE                     L7
   295  00CE  1F0C               	btfss	12,6
   296  00CF  28FF               	goto	l113
   297                           ;16f884.c: 246: {ADIF=0;
   298  00D0  130C               	bcf	12,6
   299                           ;16f884.c: 247: if(AD_VOL)
   300  00D1  1CA0               	btfss	_AD_VOL/(0+8),_AD_VOL& (0+7)
   301  00D2  28DD               	goto	l114
   302                           ;16f884.c: 248: {AD_VOL_SUM=AD_VOL_SUM+ADRESH;A
      +                          D_VOL=0;ADCON0=149;}
   303  00D3  081E               	movf	30,w	;volatile
   304  00D4  1683               	bsf	3,5
   305  00D5  07A9               	addwf	_AD_VOL_SUM^(0+128)	;volatile
   306  00D6  1803               	btfsc	3,0
   307  00D7  0AAA               	incf	(_AD_VOL_SUM+1)^(0+128)	;volatile
   308  00D8  1283               	bcf	3,5
   309  00D9  10A0               	bcf	_AD_VOL/(0+8),_AD_VOL& (0+7)
   310  00DA  3095               	movlw	-107
   311  00DB  009F               	movwf	31	;volatile
   312  00DC  28EA               	goto	l115
   313  00DD                     l114
   314                           ;16f884.c: 249: else if(check_vpp_over)
   315  00DD  1CA1               	btfss	_check_vpp_over/(0+8),_check_vpp_over& (
      +                          0+7)
   316  00DE  28E7               	goto	l116
   317                           ;16f884.c: 250: {AD_VPP_SUM=AD_VPP_SUM+ADRESH;A
      +                          DCON0=161;AD_VOL=1;}
   318  00DF  081E               	movf	30,w	;volatile
   319  00E0  1683               	bsf	3,5
   320  00E1  07AB               	addwf	_AD_VPP_SUM^(0+128)	;volatile
   321  00E2  1803               	btfsc	3,0
   322  00E3  0AAC               	incf	(_AD_VPP_SUM+1)^(0+128)	;volatile
   323  00E4  30A1               	movlw	-95
   324  00E5  1283               	bcf	3,5
   325  00E6  28E8               	goto	L6
   326  00E7                     l116
   327                           ;16f884.c: 251: else {ADCON0=161;AD_VOL=1;}
   328  00E7  30A1               	movlw	-95
   329  00E8                     L6
   330  00E8  009F               	movwf	31	;volatile
   331  00E9  14A0               	bsf	_AD_VOL/(0+8),_AD_VOL& (0+7)
   332  00EA                     l115
   333                           ;16f884.c: 252: if(PWM_LAST)
   334  00EA  1DA0               	btfss	_PWM_LAST/(0+8),_PWM_LAST& (0+7)
   335  00EB  2944               	goto	l105
   336                           ;16f884.c: 253: {ADON=0;ADIE=0;AD_OVER=1;SAV_AD
      +                          _VOL_SUM=AD_VOL_SUM;SAV_AD_VPP_SUM=AD_VPP_SUM;A
      +                          D_VOL_SUM=0;AD_VPP_SUM=0;}
   337  00EC  101F               	bcf	31,0
   338  00ED  1683               	bsf	3,5
   339  00EE  130C               	bcf	12,6
   340  00EF  1283               	bcf	3,5
   341  00F0  1420               	bsf	_AD_OVER/(0+8),_AD_OVER& (0+7)
   342  00F1  1683               	bsf	3,5
   343  00F2  0829               	movf	_AD_VOL_SUM^(0+128),w	;volatile
   344  00F3  00AD               	movwf	_SAV_AD_VOL_SUM^(0+128)	;volatile
   345  00F4  082A               	movf	(_AD_VOL_SUM+1)^(0+128),w	;volatile
   346  00F5  00AE               	movwf	(_SAV_AD_VOL_SUM+1)^(0+128)	;volatile
   347  00F6  082B               	movf	_AD_VPP_SUM^(0+128),w	;volatile
   348  00F7  00AF               	movwf	_SAV_AD_VPP_SUM^(0+128)	;volatile
   349  00F8  082C               	movf	(_AD_VPP_SUM+1)^(0+128),w	;volatile
   350  00F9  00B0               	movwf	(_SAV_AD_VPP_SUM+1)^(0+128)	;volatile
   351  00FA  01A9               	clrf	_AD_VOL_SUM^(0+128)	;volatile
   352  00FB  01AA               	clrf	(_AD_VOL_SUM+1)^(0+128)	;volatile
   353  00FC  01AB               	clrf	_AD_VPP_SUM^(0+128)	;volatile
   354  00FD  01AC               	clrf	(_AD_VPP_SUM+1)^(0+128)	;volatile
   355                           ;16f884.c: 254: }
   356  00FE  2944               	goto	l105
   357  00FF                     l113
   358                           ;16f884.c: 255: else if(T0IF)
   359  00FF  1D0B               	btfss	11,2
   360  0100  290E               	goto	l120
   361                           ;16f884.c: 256: {T0IF=0;ms_2=1;
   362  0101  110B               	bcf	11,2
   363  0102  1621               	bsf	_ms_2/(0+8),_ms_2& (0+7)
   364                           ;16f884.c: 257: if(RABIE==0)
   365  0103  198B               	btfsc	11,3
   366  0104  2944               	goto	l105
   367                           ;16f884.c: 258: {ms2_counter++;RABIF=0;if(ms2_c
      +                          ounter>251){RABIE=1;ms2_counter=0;}}
   368  0105  0AAA               	incf	_ms2_counter
   369  0106  100B               	bcf	11,0
   370  0107  30FC               	movlw	-4
   371  0108  022A               	subwf	_ms2_counter,w
   372  0109  1C03               	btfss	3,0
   373  010A  2944               	goto	l105
   374  010B  158B               	bsf	11,3
   375  010C  01AA               	clrf	_ms2_counter
   376                           ;16f884.c: 259: }
   377  010D  2944               	goto	l105
   378  010E                     l120
   379                           ;16f884.c: 260: else if(C1IF)
   380  010E  1E8D               	btfss	13,5
   381  010F  291A               	goto	l124
   382                           ;16f884.c: 261: {C1IF=0;if(C1OUT)check_vpp_over
      +                          =0;
   383  0110  128D               	bcf	13,5
   384  0111  1703               	bsf	3,6
   385  0112  1F07               	btfss	7,6
   386  0113  2917               	goto	l125
   387  0114  1303               	bcf	3,6	;carry unused
   388  0115  10A1               	bcf	_check_vpp_over/(0+8),_check_vpp_over& (0+
      +                          7)
   389  0116  2944               	goto	l105
   390  0117                     l125
   391                           ;16f884.c: 262: else check_vpp_over=1;}
   392  0117  1303               	bcf	3,6	;carry unused
   393  0118  14A1               	bsf	_check_vpp_over/(0+8),_check_vpp_over& (0+
      +                          7)
   394  0119  2944               	goto	l105
   395  011A                     l124
   396                           ;16f884.c: 263: else if(INTF)
   397  011A  1C8B               	btfss	11,1
   398  011B  2933               	goto	l128
   399                           ;16f884.c: 264: {INTF=0;T1L[INT_COUNTER]=TMR1L;
      +                          T1H[INT_COUNTER]=TMR1H;TMR1L=0;TMR1H=0;INT_COUN
      +                          TER++;
   400  011C  108B               	bcf	11,1
   401  011D  0823               	movf	_INT_COUNTER,w
   402  011E  3E2A               	addlw	_T1L^(0+256)
   403  011F  0084               	movwf	4
   404  0120  1783               	bsf	3,7
   405  0121  080E               	movf	14,w	;volatile
   406  0122  0080               	movwf	0
   407  0123  0823               	movf	_INT_COUNTER,w
   408  0124  3E20               	addlw	_T1H^(0+256)
   409  0125  0084               	movwf	4
   410  0126  1783               	bsf	3,7
   411  0127  080F               	movf	15,w	;volatile
   412  0128  0080               	movwf	0
   413  0129  018E               	clrf	14	;volatile
   414  012A  018F               	clrf	15	;volatile
   415  012B  0AA3               	incf	_INT_COUNTER
   416                           ;16f884.c: 265: if(INT_COUNTER>9){INT_COUNTER=0
      +                          ;INT_OVER=1;} }
   417  012C  300A               	movlw	10
   418  012D  0223               	subwf	_INT_COUNTER,w
   419  012E  1C03               	btfss	3,0
   420  012F  2944               	goto	l105
   421  0130  01A3               	clrf	_INT_COUNTER
   422  0131  1520               	bsf	_INT_OVER/(0+8),_INT_OVER& (0+7)
   423  0132  2944               	goto	l105
   424  0133                     l128
   425                           ;16f884.c: 266: else if(RBIF)
   426  0133  1C0B               	btfss	11,0
   427  0134  2944               	goto	l105
   428                           ;16f884.c: 267: {key_data_temp=PORTB;RBIF=0;key
      +                          _data_temp>>=4;
   429  0135  0806               	movf	6,w	;volatile
   430  0136  00A9               	movwf	_key_data_temp	;volatile
   431  0137  100B               	bcf	11,0
   432  0138  0EA9               	swapf	_key_data_temp
   433  0139  300F               	movlw	15
   434  013A  05A9               	andwf	_key_data_temp
   435                           ;volatile
   436                           ;16f884.c: 268: if(key_data_temp!=0xf)
   437  013B  0829               	movf	_key_data_temp,w	;volatile
   438  013C  3A0F               	xorlw	15
   439  013D  1903               	btfsc	3,2
   440  013E  2942               	goto	l132
   441                           ;16f884.c: 269: key_data=key_data_temp;
   442  013F  0829               	movf	_key_data_temp,w	;volatile
   443  0140  00A8               	movwf	_key_data	;volatile
   444  0141  2944               	goto	l105
   445  0142                     l132
   446                           ;16f884.c: 270: else
   447  0142  1620               	bsf	_RAB/(0+8),_RAB& (0+7)
   448  0143  118B               	bcf	11,3
   449                           ;16f884.c: 272: }
   450  0144                     l105
   451  0144  1303               	bcf	3,6	;carry unused
   452  0145  1283               	bcf	3,5
   453                           
   454                           	psect	intsave_0
   455  007C                     saved_w
   456  007C                     	ds	1
   457                           
   458                           	psect	intret
   459  0156  085A               	movf	saved_fsr,w
   460  0157  0084               	movwf	4	;restore FSR
   461  0158  085B               	movf	saved_pclath,w

⌨️ 快捷键说明

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