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

📄 www.c.lst

📁 基于PIC16F873实现两路的PWM波输出!
💻 LST
📖 第 1 页 / 共 5 页
字号:
   505  0550  3082               	movlw	130
   506  0551  1283               	bcf	3,5
   507  0552  1303               	bcf	3,6	;carry unused
   508  0553  00AA               	movwf	btemp
   509  0554  01AB               	clrf	btemp+1
   510  0555  1683               	bsf	3,5
   511  0556  0821               	movf	_ad_res_1^(0+128),w
   512  0557  1283               	bcf	3,5
   513  0558  02AA               	subwf	btemp
   514  0559  1C03               	btfss	3,0
   515  055A  03AB               	decf	btemp+1
   516  055B  082B               	movf	btemp+1,w
   517  055C  3A80               	xorlw	128
   518  055D  00AC               	movwf	btemp+2
   519  055E  3080               	movlw	128
   520  055F  022C               	subwf	btemp+2,w
   521  0560  300B               	movlw	11
   522                           ;set	bank bits for btemp
   523  0561  1903               	btfsc	3,2
   524  0562  022A               	subwf	btemp,w
   525  0563  1C03               	btfss	3,0
   526  0564  2D71               	goto	l18
   527  0565  30D7               	movlw	215
   528  0566  00AD               	movwf	btemp+3
   529  0567  3023               	movlw	35
   530  0568  00AE               	movwf	btemp+4
   531  0569  303D               	movlw	61
   532  056A  00AF               	movwf	btemp+5
   533  056B                     L1
   534  056B  1683               	bsf	3,5
   535  056C  30A4               	movlw	_sin_am
   536  056D  0084               	movwf	4
   537  056E  1383               	bcf	3,7
   538  056F  118A  2700         	fcall	ftadd_f
   539                           ;www.c.c: 150: if(sin_am>1.6)sin_am=1.6;
   540  0571                     l18
   541  0571  1683               	bsf	3,5
   542  0572  1303               	bcf	3,6	;carry unused
   543  0573  0824               	movf	_sin_am^(0+128),w
   544  0574  1283               	bcf	3,5
   545  0575  00AD               	movwf	btemp+3
   546  0576  1683               	bsf	3,5
   547  0577  0825               	movf	(_sin_am+1)^(0+128),w
   548  0578  1283               	bcf	3,5
   549  0579  00AE               	movwf	btemp+4
   550  057A  1683               	bsf	3,5
   551  057B  0826               	movf	(_sin_am+2)^(0+128),w
   552  057C  1283               	bcf	3,5
   553  057D  00AF               	movwf	btemp+5
   554  057E  30CD               	movlw	205
   555  057F  00AA               	movwf	btemp
   556  0580  30CC               	movlw	204
   557  0581  00AB               	movwf	btemp+1
   558  0582  303F               	movlw	63
   559  0583  00AC               	movwf	btemp+2
   560  0584  118A  2756  118A   	fcall	ftcmp
   561  0587  1803               	btfsc	3,0
   562  0588  2D90               	goto	l12
   563  0589  30CD               	movlw	205
   564  058A  1683               	bsf	3,5
   565  058B  00A4               	movwf	_sin_am^(0+128)
   566  058C  30CC               	movlw	204
   567  058D  00A5               	movwf	(_sin_am+1)^(0+128)
   568  058E  303F               	movlw	63
   569  058F  00A6               	movwf	(_sin_am+2)^(0+128)
   570                           ;www.c.c: 151: }
   571  0590                     l12
   572  0590  1283               	bcf	3,5
   573  0591  0008               	return
   574                           ;www.c.c: 153: void ad_2()
   575                           ;www.c.c: 154: {
   576  0592                     _ad_2
   577                           ;www.c.c: 155: CHS2=0;CHS1=1;CHS0=0;; DELAY();
   578  0592  0183               	clrf	3	;select bank 0
   579  0593  129F               	bcf	31,5
   580  0594  161F               	bsf	31,4
   581  0595  119F               	bcf	31,3
   582  0596  2437               	fcall	_DELAY
   583                           ;www.c.c: 156: ADGO=1;while(ADGO);
   584  0597  151F               	bsf	31,2
   585  0598                     l25
   586  0598  191F               	btfsc	31,2
   587  0599  2D98               	goto	l25
   588                           ;www.c.c: 157: ad_res_2=ADRES;
   589  059A  081E               	movf	30,w	;volatile
   590  059B  1683               	bsf	3,5
   591  059C  00A2               	movwf	_ad_res_2^(0+128)
   592                           ;www.c.c: 158: }
   593  059D  1283               	bcf	3,5
   594  059E  0008               	return
   595  059F                     _port_init
   596                           ;www.c.c: 48: TRISB0=0;TRISB1=0;TRISB2=0;TRISB3
      +                          =0;TRISB4=0;TRISB5=0;
   597  059F  1683               	bsf	3,5
   598  05A0  1303               	bcf	3,6	;carry unused
   599  05A1  1006               	bcf	6,0
   600  05A2  1086               	bcf	6,1
   601  05A3  1106               	bcf	6,2
   602  05A4  1186               	bcf	6,3
   603  05A5  1206               	bcf	6,4
   604  05A6  1286               	bcf	6,5
   605                           ;www.c.c: 49: TRISB6=1;
   606  05A7  1706               	bsf	6,6
   607                           ;www.c.c: 50: TRISB7=0;
   608  05A8  1386               	bcf	6,7
   609                           ;www.c.c: 51: PORTB=0;
   610  05A9  1283               	bcf	3,5
   611  05AA  0186               	clrf	6	;volatile
   612                           ;www.c.c: 52: RBPU=0;
   613  05AB  1683               	bsf	3,5
   614  05AC  1381               	bcf	1,7
   615                           ;www.c.c: 53: INTE=0;
   616  05AD  120B               	bcf	11,4
   617                           ;www.c.c: 54: RBIF=0;
   618  05AE  100B               	bcf	11,0
   619                           ;www.c.c: 55: RBIE=1;
   620  05AF  158B               	bsf	11,3
   621                           ;www.c.c: 57: TRISC=0X00;
   622  05B0  0187               	clrf	7	;volatile
   623                           ;www.c.c: 58: PORTC=0;
   624  05B1  1283               	bcf	3,5
   625  05B2  0187               	clrf	7	;volatile
   626                           ;www.c.c: 59: RC1=RC2=0;
   627  05B3  1107               	bcf	7,2
   628  05B4  1087               	bcf	7,1
   629                           ;www.c.c: 60: RC3=1;RC4=0;
   630  05B5  1587               	bsf	7,3
   631  05B6  1207               	bcf	7,4
   632                           ;www.c.c: 62: T0CS=0;
   633  05B7  1683               	bsf	3,5
   634  05B8  1281               	bcf	1,5
   635                           ;www.c.c: 63: T0IF=0;
   636  05B9  110B               	bcf	11,2
   637                           ;www.c.c: 66: TMR1CS=0;
   638  05BA  1283               	bcf	3,5
   639  05BB  1090               	bcf	16,1
   640                           ;www.c.c: 67: }
   641  05BC  0008               	return
   642                           ;www.c.c: 199: main()
   643                           ;www.c.c: 200: {
   644  05BD                     _main
   645                           ;www.c.c: 201: asm("clrwdt");
   646  05BD  0064               	clrwdt	;#
   647                           ;www.c.c: 202: port_init();
   648  05BE  259F               	fcall	_port_init
   649                           ;www.c.c: 203: init_start();
   650  05BF  2445  118A         	fcall	_init_start
   651                           ;www.c.c: 204: adc_init();
   652  05C1  2429               	fcall	_adc_init
   653                           ;www.c.c: 206: RC4=0;
   654  05C2  1207               	bcf	7,4
   655                           ;www.c.c: 207: RC3=1;
   656  05C3  1587               	bsf	7,3
   657                           ;www.c.c: 209: TMR1CS=0;
   658  05C4  1090               	bcf	16,1
   659                           ;www.c.c: 210: T1SYNC=0;
   660  05C5  1110               	bcf	16,2
   661                           ;www.c.c: 211: TMR1H=0XFD;
   662  05C6  30FD               	movlw	-3
   663  05C7  008F               	movwf	15	;volatile
   664                           ;www.c.c: 212: TMR1L=0X10;
   665  05C8  3010               	movlw	16
   666  05C9  008E               	movwf	14	;volatile
   667                           ;www.c.c: 213: TMR1IE=1;
   668  05CA  1683               	bsf	3,5
   669  05CB  140C               	bsf	12,0
   670                           ;www.c.c: 215: TRISC=0X00;
   671  05CC  0187               	clrf	7	;volatile
   672                           ;www.c.c: 216: TRISC1=TRISC2=1;
   673  05CD  1507               	bsf	7,2
   674  05CE  1487               	bsf	7,1
   675                           ;www.c.c: 217: PEIE=1;
   676  05CF  170B               	bsf	11,6
   677                           ;www.c.c: 218: TMR2IE=1;
   678  05D0  148C               	bsf	12,1
   679                           ;www.c.c: 219: GIE=1;
   680  05D1  178B               	bsf	11,7
   681                           ;www.c.c: 220: TMR2ON=1;
   682  05D2  1283               	bcf	3,5
   683  05D3  1512               	bsf	18,2
   684                           ;www.c.c: 221: TOUTPS3=0;TOUTPS2=1;TOUTPS1=0;TO
      +                          UTPS0=0;
   685  05D4  1312               	bcf	18,6
   686  05D5  1692               	bsf	18,5
   687  05D6  1212               	bcf	18,4
   688  05D7  1192               	bcf	18,3
   689                           ;www.c.c: 222: TMR1ON=1;
   690  05D8  1410               	bsf	16,0
   691                           ;www.c.c: 223: power_ie=1;
   692  05D9  1620               	bsf	_power_ie/(0+8),_power_ie& (0+7)
   693  05DA                     l41
   694                           ;www.c.c: 224: while(1)
   695                           ;www.c.c: 225: {
   696  05DA  0064               	clrwdt	;#
   697                           ;www.c.c: 227: if(k){
   698  05DB  1D20               	btfss	_k/(0+8),_k& (0+7)
   699  05DC  2E0B               	goto	l43
   700                           ;www.c.c: 228: DELAY();DELAY();DELAY();DELAY();
      +                          DELAY();DELAY();
   701  05DD  2437               	fcall	_DELAY
   702  05DE  2437               	fcall	_DELAY
   703  05DF  2437               	fcall	_DELAY
   704  05E0  2437               	fcall	_DELAY
   705  05E1  2437               	fcall	_DELAY
   706  05E2  2437               	fcall	_DELAY
   707                           ;www.c.c: 229: DELAY();DELAY();DELAY();DELAY();
      +                          DELAY();DELAY();
   708  05E3  2437               	fcall	_DELAY
   709  05E4  2437               	fcall	_DELAY
   710  05E5  2437               	fcall	_DELAY
   711  05E6  2437               	fcall	_DELAY
   712  05E7  2437               	fcall	_DELAY
   713  05E8  2437               	fcall	_DELAY
   714                           ;www.c.c: 230: if(k&&RB6){k=0;power=!power;}
   715  05E9  1920               	btfsc	_k/(0+8),_k& (0+7)
   716  05EA  1F06               	btfss	6,6
   717  05EB  2DEF               	goto	l44
   718  05EC  1120               	bcf	_k/(0+8),_k& (0+7)
   719  05ED  3008               	movlw	(0+1) shl (_power& (0+7))
   720  05EE  06A0               	xorwf	(_power/(0+8))& (0+127)
   721  05EF                     l44
   722                           ;www.c.c: 231: if(power)
   723  05EF  1DA0               	btfss	_power/(0+8),_power& (0+7)
   724  05F0  2DF7               	goto	l45
   725                           ;www.c.c: 232: {
   726  05F1  1220               	bcf	_power_ie/(0+8),_power_ie& (0+7)
   727                           ;www.c.c: 234: RC3=0;
   728  05F2  1187               	bcf	7,3
   729                           ;www.c.c: 235: RC4=1;
   730  05F3  1607               	bsf	7,4
   731                           ;www.c.c: 236: RB7=1;RB5=0;;
   732  05F4  1786               	bsf	6,7
   733  05F5  1286               	bcf	6,5
   734                           ;www.c.c: 237: CCP_start();
   735  05F6  240E               	fcall	_CCP_start
   736  05F7                     l45
   737                           ;www.c.c: 238: }
   738  05F7  19A0               	btfsc	_power/(0+8),_power& (0+7)
   739  05F8  2E0B               	goto	l43
   740                           ;www.c.c: 240: {
   741  05F9  1220               	bcf	_power_ie/(0+8),_power_ie& (0+7)
   742                           ;www.c.c: 242: crut_if=0;
   743  05FA  10A0               	bcf	_crut_if/(0+8),_crut_if& (0+7)
   744                           ;www.c.c: 243: volue_if=0;
   745  05FB  01A6               	clrf	_volue_if
   746  05FC  01A7               	clrf	_volue_if+1
   747                           ;www.c.c: 244: RB1=0;RB2=0;;
   748  05FD  1086               	bcf	6,1
   749  05FE  1106               	bcf	6,2
   750                           ;www.c.c: 245: RB4=0;RB3=0;;
   751  05FF  1206               	bcf	6,4
   752  0600  1186               	bcf	6,3
   753                           ;www.c.c: 246: RB7=0;RB5=0;;
   754  0601  1386               	bcf	6,7
   755  0602  1286               	bcf	6,5
   756                           ;www.c.c: 247: RC3=1;
   757  0603  1587               	bsf	7,3
   758                           ;www.c.c: 248: CCP2CON=0;CCP1CON=0;
   759  0604  019D               	clrf	29	;volatile
   760  0605  0197               	clrf	23	;volatile
   761                           ;www.c.c: 249: RC2=RC1=0;
   762  0606  1087               	bcf	7,1
   763  0607  1107               	bcf	7,2
   764                           ;www.c.c: 250: RB7=0;RB5=0;;

⌨️ 快捷键说明

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