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

📄 main.lst

📁 PIC16F886实物通过测试的AD转换代码+proteus仿真文件!
💻 LST
📖 第 1 页 / 共 5 页
字号:
   552                           ;main.c: 100: {
   553  04C6  0833               	movf	?a_write_dat,w
   554  04C7  0087               	movwf	7	;volatile
   555                           ;main.c: 102: RB0=1;
   556  04C8  1406               	bsf	6,0
   557                           ;main.c: 103: RB1=0;
   558  04C9  1086               	bcf	6,1
   559                           ;main.c: 104: RB2=1;
   560  04CA  1506               	bsf	6,2
   561                           ;main.c: 105: asm("nop");
   562  04CB  0000               	nop	;#
   563                           ;main.c: 106: RB2=0;
   564  04CC  1106               	bcf	6,2
   565                           ;main.c: 107: b=1;
   566  04CD  01B4               	clrf	?a_write_dat+1
   567  04CE  0AB4               	incf	?a_write_dat+1
   568  04CF                     l17
   569                           ;main.c: 108: }
   570  04CF  0834               	movf	?a_write_dat+1,w
   571                           ;main.c: 111: }
   572  04D0  0008               	return	;uses W
   573  04D1                     _delay
   574                           ;	_i assigned to ?a_delay+0
   575  0000                     _delay$i	set	?a_delay
   576                           ;	_j assigned to ?a_delay+1
   577  0000                     _delay$j	set	?a_delay+1
   578                           ;_i stored from w
   579  04D1  0183               	clrf	3	;select bank 0
   580  04D2  00B2               	movwf	?a_delay
   581                           ;main.c: 18: void delay(unsigned char i)
   582  04D3  08B2               	movf	?a_delay
   583  04D4  1903               	btfsc	3,2
   584  04D5  0008               	return
   585  04D6                     l2
   586                           ;main.c: 22: for(j=10;j>0;j++);
   587  04D6  300A               	movlw	10
   588  04D7  00B3               	movwf	?a_delay+1
   589  04D8                     l5
   590  04D8  0FB3               	incfsz	?a_delay+1
   591  04D9  2CD8               	goto	l5
   592  04DA  0BB2               	decfsz	?a_delay
   593  04DB  2CD6               	goto	l2
   594  04DC  0008               	return
   595  04DD                     _ad_init
   596                           ;main.c: 25: void ad_init()
   597  04DD  1683               	bsf	3,5
   598  04DE  1303               	bcf	3,6	;carry unused
   599  04DF  1405               	bsf	5,0	;volatile
   600                           ;main.c: 28: ANSEL|=0x01;
   601  04E0  1703               	bsf	3,6
   602  04E1  1408               	bsf	8,0
   603                           ;main.c: 29: ADCON0=0x41;
   604  04E2  3041               	movlw	65
   605  04E3  1283               	bcf	3,5
   606  04E4  1303               	bcf	3,6	;carry unused
   607  04E5  009F               	movwf	31	;volatile
   608                           ;main.c: 30: ADCON1=0x00;
   609  04E6  1683               	bsf	3,5
   610  04E7  019F               	clrf	31
   611                           ;main.c: 31: GIE=1;
   612  04E8  178B               	bsf	11,7
   613                           ;main.c: 32: PEIE=1;
   614  04E9  170B               	bsf	11,6
   615                           ;main.c: 33: ADIE=1;
   616  04EA  170C               	bsf	12,6
   617                           ;main.c: 34: ADIF=0;
   618  04EB  1283               	bcf	3,5
   619  04EC  130C               	bcf	12,6
   620                           ;main.c: 35: delay(1);
   621  04ED  3001               	movlw	1
   622  04EE  24D1               	fcall	_delay
   623                           ;main.c: 36: GODONE=1;
   624  04EF  149F               	bsf	31,1
   625                           ;main.c: 37: }
   626  04F0  0008               	return	;W free
   627  04F1                     _write_m
   628                           ;	_t1 assigned to ?a_write_m+0
   629  0000                     _write_m$t1	set	?a_write_m
   630                           ;	_t2 assigned to ?a_write_m+1
   631  0000                     _write_m$t2	set	?a_write_m+1
   632                           ;	_num assigned to ?a_write_m+2
   633  0000                     _write_m$num	set	?a_write_m+2
   634                           ;	_j assigned to ?a_write_m+3
   635  0000                     _write_m$j	set	?a_write_m+3
   636                           ;_num stored from w
   637  04F1  0183               	clrf	3	;select bank 0
   638  04F2  00B0               	movwf	?a_write_m+2
   639                           ;main.c: 140: void write_m(unsigned char num,un
      +                          signed char location)
   640  04F3  2D03               	goto	l21
   641  04F4                     l22
   642                           ;main.c: 148: {
   643  04F4  3000               	movlw	_tab1 shr (0+8)
   644  04F5  008A               	movwf	10
   645  04F6  0831               	movf	?a_write_m+3,w
   646  04F7  207A               	call	((_tab1+-1)& (0+2047))| (($)& (0+-2048))
   647  04F8  120A  118A  24BF   	fcall	_write_dat
   648                           ;main.c: 150: delay(1);
   649  04FB  3001               	movlw	1
   650  04FC  24D1               	fcall	_delay
   651  04FD  0AB1               	incf	?a_write_m+3
   652  04FE  300E               	movlw	14
   653  04FF  0231               	subwf	?a_write_m+3,w
   654  0500  1803               	btfsc	3,0
   655  0501  0008               	return
   656  0502  2CF4               	goto	l22
   657                           ;main.c: 151: }
   658  0503                     l21
   659                           ;main.c: 154: else if(num==100)
   660  0503  0830               	movf	?a_write_m+2,w
   661  0504  3A64               	xorlw	100
   662  0505  1D03               	btfss	3,2
   663  0506  2D19               	goto	l26
   664                           ;main.c: 155: {
   665  0507  082D               	movf	?_write_m,w
   666  0508  24AD               	fcall	_write_com
   667                           ;main.c: 157: for(j=0;j<3;j++)
   668  0509  01B1               	clrf	?a_write_m+3
   669  050A                     l27
   670                           ;main.c: 158: {
   671  050A  3000               	movlw	_tab2 shr (0+8)
   672  050B  008A               	movwf	10
   673  050C  0831               	movf	?a_write_m+3,w
   674  050D  208A               	call	((_tab2+-1)& (0+2047))| (($)& (0+-2048))
   675  050E  120A  118A  24BF   	fcall	_write_dat
   676                           ;main.c: 160: delay(1);
   677  0511  3001               	movlw	1
   678  0512  24D1               	fcall	_delay
   679  0513  0AB1               	incf	?a_write_m+3
   680  0514  3003               	movlw	3
   681  0515  0231               	subwf	?a_write_m+3,w
   682  0516  1803               	btfsc	3,0
   683  0517  0008               	return
   684  0518  2D0A               	goto	l27
   685                           ;main.c: 161: }
   686  0519                     l26
   687                           ;main.c: 163: else
   688  0519  300A               	movlw	10
   689  051A  00F1               	movwf	btemp+1
   690  051B  0830               	movf	?a_write_m+2,w
   691  051C  120A  118A  2760   	fcall	lbdiv
   692  051F  00AE               	movwf	?a_write_m
   693                           ;main.c: 166: t2=num%10;
   694  0520  300A               	movlw	10
   695  0521  00F1               	movwf	btemp+1
   696  0522  0830               	movf	?a_write_m+2,w
   697  0523  120A  118A  2760   	fcall	lbmod
      +       120A  118A         
   698  0528  0870               	movf	btemp,w
   699  0529  00AF               	movwf	?a_write_m+1
   700                           ;main.c: 167: write_com(location);
   701  052A  082D               	movf	?_write_m,w
   702  052B  24AD               	fcall	_write_com
   703                           ;main.c: 168: write_dat(t1+0x30);
   704  052C  082E               	movf	?a_write_m,w
   705  052D  3E30               	addlw	48
   706  052E  24BF               	fcall	_write_dat
   707                           ;main.c: 169: delay(1);
   708  052F  3001               	movlw	1
   709  0530  24D1               	fcall	_delay
   710                           ;main.c: 170: write_dat(t2+0x30);
   711  0531  082F               	movf	?a_write_m+1,w
   712  0532  3E30               	addlw	48
   713  0533  24BF               	fcall	_write_dat
   714                           ;main.c: 171: delay(1);
   715  0534  3001               	movlw	1
   716  0535  2CD1               	ljmp	_delay
   717  0536                     _write_dats
   718                           ;	_location assigned to ?a_write_dats+0
   719  0000                     _write_dats$location	set	?a_write_dats
   720                           ;	_tp assigned to ?a_write_dats+1
   721  0000                     _write_dats$tp	set	?a_write_dats+1
   722                           ;	_ii assigned to ?a_write_dats+2
   723  0000                     _write_dats$ii	set	?a_write_dats+2
   724                           ;_location stored from w
   725  0536  0183               	clrf	3	;select bank 0
   726  0537  00AF               	movwf	?a_write_dats
   727                           ;main.c: 188: void write_dats(unsigned char loc
      +                          ation,unsigned char num,unsigned char *p)
   728  0538  24AD               	fcall	_write_com
   729                           ;main.c: 192: while(ii!=num)
   730  0539  2D42               	goto	l33
   731  053A                     l34
   732                           ;main.c: 193: {
   733  053A  082E               	movf	?_write_dats+1,w
   734  053B  0084               	movwf	4
   735  053C  1383               	bcf	3,7
   736  053D  0800               	movf	0,w
   737  053E  00B0               	movwf	?a_write_dats+1
   738                           ;main.c: 195: write_dat(tp);
   739  053F  24BF               	fcall	_write_dat
   740                           ;main.c: 196: p++;
   741  0540  0AAE               	incf	?_write_dats+1
   742                           ;main.c: 197: ii++;
   743  0541  0AB1               	incf	?a_write_dats+2
   744  0542                     l33
   745  0542  0831               	movf	?a_write_dats+2,w
   746  0543  062D               	xorwf	?_write_dats,w
   747  0544  1D03               	btfss	3,2
   748  0545  2D3A               	goto	l34
   749                           ;main.c: 198: }
   750  0546  01B1               	clrf	?a_write_dats+2
   751                           ;main.c: 200: }
   752  0547  0008               	return	;W free
   753  0548                     _disp_init
   754                           ;main.c: 312: void disp_init()
   755  0548  3010               	movlw	16
   756  0549  0183               	clrf	3	;select bank 0
   757  054A  00AD               	movwf	?_write_dats
   758  054B  3037               	movlw	_tab
   759  054C  00AE               	movwf	?_write_dats+1
   760  054D  3080               	movlw	-128
   761  054E  2536               	fcall	_write_dats
   762                           ;main.c: 315: write_dats(0xc0,16,tab3);
   763  054F  3010               	movlw	16
   764  0550  00AD               	movwf	?_write_dats
   765  0551  3048               	movlw	_tab3
   766  0552  00AE               	movwf	?_write_dats+1
   767  0553  30C0               	movlw	-64
   768  0554  2536               	fcall	_write_dats
   769                           ;main.c: 316: show_time();
   770  0555  2D5B               	ljmp	_show_time
   771  0556                     _write
   772                           ;	_com assigned to ?a_write+0
   773  0000                     _write$com	set	?a_write
   774                           ;_com stored from w
   775  0556  0183               	clrf	3	;select bank 0
   776  0557  00AE               	movwf	?a_write
   777                           ;main.c: 202: void write(unsigned char com,unsi
      +                          gned char dat)
   778  0558  24AD               	fcall	_write_com
   779                           ;main.c: 205: write_dat(dat);
   780  0559  082D               	movf	?_write,w
   781  055A  2CBF               	ljmp	_write_dat
   782  055B                     _show_time
   783                           ;main.c: 302: void show_time()
   784  055B  0183               	clrf	3	;select bank 0
   785  055C  0827               	movf	_s2,w
   786  055D  3E30               	addlw	48
   787  055E  00AD               	movwf	?_write
   788  055F  30C8               	movlw	-56
   789  0560  2556  120A  118A   	fcall	_write
   790                           ;main.c: 305: write(0xc9,s1+0x30);
   791  0563  0826               	movf	_s1,w
   792  0564  3E30               	addlw	48
   793  0565  00AD               	movwf	?_write
   794  0566  30C9               	movlw	-55
   795  0567  2556  120A  118A   	fcall	_write
   796                           ;main.c: 306: write(0xcb,f2+0x30);
   797  056A  0821               	movf	_f2,w
   798  056B  3E30               	addlw	48
   799  056C  00AD               	movwf	?_write
   800  056D  30CB               	movlw	-53
   801  056E  2556  120A  118A   	fcall	_write
   802                           ;main.c: 307: write(0xcc,f1+0x30);
   803  0571  0820               	movf	_f1,w
   804  0572  3E30               	addlw	48
   805  0573  00AD               	movwf	?_write
   806  0574  30CC               	movlw	-52
   807  0575  2556  120A  118A   	fcall	_write
   808                           ;main.c: 308: write(0xce,m2+0x30);
   809  0578  0825               	movf	_m2,w
   810  0579  3E30               	addlw	48
   811  057A  00AD               	movwf	?_write
   812  057B  30CE               	movlw	-50
   813  057C  2556  120A  118A   	fcall	_write
   814                           ;main.c: 309: write(0xcf,m1+0x30);
   815  057F  0824               	movf	_m1,w
   816  0580  3E30               	addlw	48
   817  0581  00AD               	movwf	?_write
   818  0582  30CF               	movlw	-49
   819  0583  2D56               	ljmp	_write
   820  0584                     _lcd_init
   821                           ;main.c: 113: void lcd_init()
   822  0584  1683               	bsf	3,5
   823  0585  1303               	bcf	3,6	;carry unused
   824  0586  0187               	clrf	7	;volatile
   825                           ;main.c: 117: PORTC=0x00;
   826  0587  1283               	bcf	3,5
   827  0588  0187               	clrf	7	;volatile
   828                           ;main.c: 118: TRISB&=0xf8;
   829  0589  30F8               	movlw	-8
   830  058A  1683               	bsf	3,5
   831  058B  0586               	andwf	6	;volatile
   832                           ;main.c: 119: ANSELH=0x00;

⌨️ 快捷键说明

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