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

📄 main.lst

📁 PIC16F886实物通过测试的AD转换代码+proteus仿真文件!
💻 LST
📖 第 1 页 / 共 5 页
字号:
   275  0000                     _write_v$x1	set	?a_write_v+2
   276                           ;main.c: 175: void write_v(unsigned int x,unsig
      +                          ned char com)
   277  03ED  3064               	movlw	100
   278  03EE  00F2               	movwf	btemp+2
   279  03EF  01F3               	clrf	btemp+3
   280  03F0  1283               	bcf	3,5
   281  03F1  1303               	bcf	3,6	;carry unused
   282  03F2  082E               	movf	?_write_v+1,w
   283  03F3  00F1               	movwf	btemp+1
   284  03F4  082D               	movf	?_write_v,w
   285  03F5  00F0               	movwf	btemp
   286  03F6  120A  118A  2796   	fcall	lwdiv
   287  03F9  0874               	movf	btemp+4,w
   288  03FA  00B2               	movwf	?a_write_v+2
   289                           ;main.c: 179: x2=(unsigned char)((x-x1*100)/10)
      +                          ;
   290  03FB  3064               	movlw	100
   291  03FC  00F2               	movwf	btemp+2
   292  03FD  01F3               	clrf	btemp+3
   293  03FE  0832               	movf	?a_write_v+2,w
   294  03FF  00F0               	movwf	btemp
   295  0400  01F1               	clrf	btemp+1
   296  0401  120A  118A  2393   	fcall	lwmul
   297  0404  082E               	movf	?_write_v+1,w
   298  0405  00F1               	movwf	btemp+1
   299  0406  082D               	movf	?_write_v,w
   300  0407  00F0               	movwf	btemp
   301  0408  0874               	movf	btemp+4,w
   302  0409  02F0               	subwf	btemp
   303  040A  1C03               	btfss	3,0
   304  040B  03F1               	decf	btemp+1
   305  040C  0875               	movf	btemp+5,w
   306  040D  02F1               	subwf	btemp+1
   307  040E  300A               	movlw	10
   308  040F  00F2               	movwf	btemp+2
   309  0410  3000               	movlw	0
   310  0411  01F3               	clrf	btemp+3
   311  0412  120A  118A  2796   	fcall	lwdiv
   312  0415  0874               	movf	btemp+4,w
   313  0416  00B0               	movwf	?a_write_v
   314                           ;main.c: 180: x3=(unsigned char)(x%10);
   315  0417  300A               	movlw	10
   316  0418  00F2               	movwf	btemp+2
   317  0419  01F3               	clrf	btemp+3
   318  041A  082E               	movf	?_write_v+1,w
   319  041B  00F1               	movwf	btemp+1
   320  041C  082D               	movf	?_write_v,w
   321  041D  00F0               	movwf	btemp
   322  041E  120A  118A  2796   	fcall	lwmod
      +       120A  118A         
   323  0423  0870               	movf	btemp,w
   324  0424  00B1               	movwf	?a_write_v+1
   325                           ;main.c: 181: write_com(com);
   326  0425  082F               	movf	?_write_v+2,w
   327  0426  24AD               	fcall	_write_com
   328                           ;main.c: 182: write_dat(x1+0x30);
   329  0427  0832               	movf	?a_write_v+2,w
   330  0428  3E30               	addlw	48
   331  0429  24BF               	fcall	_write_dat
   332                           ;main.c: 183: write_dat(0x2e);
   333  042A  302E               	movlw	46
   334  042B  24BF               	fcall	_write_dat
   335                           ;main.c: 184: write_dat(x2+0x30);
   336  042C  0830               	movf	?a_write_v,w
   337  042D  3E30               	addlw	48
   338  042E  24BF               	fcall	_write_dat
   339                           ;main.c: 185: write_dat(x3+0x30);
   340  042F  0831               	movf	?a_write_v+1,w
   341  0430  3E30               	addlw	48
   342  0431  2CBF               	ljmp	_write_dat
   343  0432                     _num_change
   344                           ;	_tep assigned to ?a_num_change+0
   345  0000                     _num_change$tep	set	?a_num_change
   346                           ;	_tt assigned to ?a_num_change+1
   347  0000                     _num_change$tt	set	?a_num_change+1
   348                           ;	_yy assigned to ?a_num_change+2
   349  0000                     _num_change$yy	set	?a_num_change+2
   350                           ;	_y assigned to ?a_num_change+5
   351  0000                     _num_change$y	set	?a_num_change+5
   352                           ;_tep stored from w
   353  0432  0183               	clrf	3	;select bank 0
   354  0433  00AD               	movwf	?a_num_change
   355                           ;main.c: 129: unsigned char num_change(unsigned
      +                           char tep)
   356  0434  00F0               	movwf	btemp
   357  0435  120A  118A  2616   	fcall	lbtoft
   358  0438  01F3               	clrf	btemp+3
   359  0439  304C               	movlw	76
   360  043A  00F4               	movwf	btemp+4
   361  043B  3042               	movlw	66
   362  043C  00F5               	movwf	btemp+5
   363  043D  120A  118A  26B1   	fcall	ftdiv
   364  0440  0870               	movf	btemp,w
   365  0441  00B2               	movwf	?a_num_change+5
   366  0442  0871               	movf	btemp+1,w
   367  0443  00B3               	movwf	?a_num_change+6
   368  0444  0872               	movf	btemp+2,w
   369  0445  00B4               	movwf	?a_num_change+7
   370                           ;main.c: 134: yy=y;
   371  0446  0832               	movf	?a_num_change+5,w
   372  0447  00AF               	movwf	?a_num_change+2
   373  0448  0833               	movf	?a_num_change+6,w
   374  0449  00B0               	movwf	?a_num_change+3
   375  044A  0834               	movf	?a_num_change+7,w
   376  044B  00B1               	movwf	?a_num_change+4
   377                           ;main.c: 135: v=(unsigned int)(100*yy);
   378  044C  082F               	movf	?a_num_change+2,w
   379  044D  00F3               	movwf	btemp+3
   380  044E  0830               	movf	?a_num_change+3,w
   381  044F  00F4               	movwf	btemp+4
   382  0450  0831               	movf	?a_num_change+4,w
   383  0451  00F5               	movwf	btemp+5
   384  0452  01F0               	clrf	btemp
   385  0453  30C8               	movlw	200
   386  0454  00F1               	movwf	btemp+1
   387  0455  3042               	movlw	66
   388  0456  00F2               	movwf	btemp+2
   389  0457  120A  118A  26E9   	fcall	ftmul
   390  045A  120A  118A  272A   	fcall	fttol
   391  045D  0870               	movf	btemp,w
   392  045E  00AB               	movwf	_v
   393  045F  0871               	movf	btemp+1,w
   394  0460  00AC               	movwf	_v+1
   395                           ;main.c: 136: tt=(unsigned char)((y-0.8)/0.031)
      +                          ;
   396  0461  30CD               	movlw	205
   397  0462  00F3               	movwf	btemp+3
   398  0463  304C               	movlw	76
   399  0464  00F4               	movwf	btemp+4
   400  0465  303F               	movlw	63
   401  0466  00F5               	movwf	btemp+5
   402  0467  0832               	movf	?a_num_change+5,w
   403  0468  00F0               	movwf	btemp
   404  0469  0833               	movf	?a_num_change+6,w
   405  046A  00F1               	movwf	btemp+1
   406  046B  0834               	movf	?a_num_change+7,w
   407  046C  00F2               	movwf	btemp+2
   408  046D  120A  118A  2680   	fcall	ftsub
   409  0470  30F4               	movlw	244
   410  0471  00F3               	movwf	btemp+3
   411  0472  30FD               	movlw	253
   412  0473  00F4               	movwf	btemp+4
   413  0474  303C               	movlw	60
   414  0475  00F5               	movwf	btemp+5
   415  0476  120A  118A  26B1   	fcall	ftdiv
   416  0479  120A  118A  272A   	fcall	fttol
      +       120A  118A         
   417  047E  0870               	movf	btemp,w
   418  047F  00AE               	movwf	?a_num_change+1
   419                           ;main.c: 138: }
   420  0480  0008               	return	;uses W
   421                           ;       param _location assigned to ?_write_m+0
   422  0000                     _write_m$location	set	?_write_m
   423  0481                     _tmr1_init
   424                           ;main.c: 208: void tmr1_init()
   425  0481  178B               	bsf	11,7
   426                           ;main.c: 211: PEIE=1;
   427  0482  170B               	bsf	11,6
   428                           ;main.c: 212: TMR1IE=1;
   429  0483  1683               	bsf	3,5
   430  0484  1303               	bcf	3,6	;carry unused
   431  0485  140C               	bsf	12,0
   432                           ;main.c: 213: TMR1IF=0;
   433  0486  1283               	bcf	3,5
   434  0487  100C               	bcf	12,0
   435                           ;main.c: 214: T1CON=0x30;
   436  0488  3030               	movlw	48
   437  0489  0090               	movwf	16
   438                           ;main.c: 215: TMR1L=0xd5;
   439  048A  30D5               	movlw	-43
   440  048B  008E               	movwf	14	;volatile
   441                           ;main.c: 216: TMR1H=0x0b;
   442  048C  300B               	movlw	11
   443  048D  008F               	movwf	15	;volatile
   444                           ;main.c: 217: TMR1ON=1;
   445  048E  1410               	bsf	16,0
   446                           ;main.c: 219: }
   447  048F  0008               	return	;W free
   448  0490                     _chkbusy
   449                           ;	_b assigned to ?a_chkbusy+0
   450  0000                     _chkbusy$b	set	?a_chkbusy
   451                           ;	_i assigned to ?a_chkbusy+1
   452  0000                     _chkbusy$i	set	?a_chkbusy+1
   453                           ;main.c: 47: unsigned char chkbusy()
   454  0490  0183               	clrf	3	;select bank 0
   455  0491  01B5               	clrf	?a_chkbusy
   456                           ;main.c: 51: for(i=50;i>0;i--)
   457  0492  3032               	movlw	50
   458  0493  00B6               	movwf	?a_chkbusy+1
   459  0494                     l10
   460                           ;main.c: 52: {
   461  0494  30FF               	movlw	-1
   462  0495  0087               	movwf	7	;volatile
   463                           ;main.c: 54: TRISC7=1;
   464  0496  1683               	bsf	3,5
   465  0497  1787               	bsf	7,7
   466                           ;main.c: 55: RB0=0;
   467  0498  1283               	bcf	3,5
   468  0499  1006               	bcf	6,0
   469                           ;main.c: 56: RB1=1;
   470  049A  1486               	bsf	6,1
   471                           ;main.c: 57: RB2=0;
   472  049B  1106               	bcf	6,2
   473                           ;main.c: 58: asm("nop");
   474  049C  0000               	nop	;#
   475                           ;main.c: 59: RB2=1;
   476  049D  1506               	bsf	6,2
   477                           ;main.c: 60: RC7=RC7;
   478  049E  1B87               	btfsc	7,7
   479  049F  1787               	bsf	7,7
   480                           ;main.c: 61: if(RC7==0)
   481  04A0  1303               	bcf	3,6	;carry unused
   482  04A1  1B87               	btfsc	7,7
   483  04A2  2CA6               	goto	l13
   484                           ;main.c: 62: {
   485  04A3  01B5               	clrf	?a_chkbusy
   486  04A4  0AB5               	incf	?a_chkbusy
   487                           ;main.c: 64: break;
   488  04A5  2CA8               	goto	l11
   489  04A6                     l13
   490  04A6  0BB6               	decfsz	?a_chkbusy+1
   491  04A7  2C94               	goto	l10
   492  04A8                     l11
   493                           ;main.c: 65: }
   494  04A8  1683               	bsf	3,5
   495  04A9  1387               	bcf	7,7
   496                           ;main.c: 68: return b;
   497  04AA  1283               	bcf	3,5
   498  04AB  0835               	movf	?a_chkbusy,w
   499                           ;main.c: 69: }
   500  04AC  0008               	return	;uses W
   501  04AD                     _write_com
   502                           ;	_com assigned to ?a_write_com+0
   503  0000                     _write_com$com	set	?a_write_com
   504                           ;	_b assigned to ?a_write_com+1
   505  0000                     _write_com$b	set	?a_write_com+1
   506                           ;_com stored from w
   507  04AD  0183               	clrf	3	;select bank 0
   508  04AE  00B3               	movwf	?a_write_com
   509                           ;main.c: 78: unsigned char write_com(unsigned c
      +                          har com)
   510  04AF  01B4               	clrf	?a_write_com+1
   511                           ;main.c: 81: if(chkbusy())
   512  04B0  2490               	fcall	_chkbusy
   513  04B1  3800               	iorlw	0
   514  04B2  1903               	btfsc	3,2
   515  04B3  2CBD               	goto	l15
   516                           ;main.c: 82: {
   517  04B4  0833               	movf	?a_write_com,w
   518  04B5  0087               	movwf	7	;volatile
   519                           ;main.c: 84: RB0=0;
   520  04B6  1006               	bcf	6,0
   521                           ;main.c: 85: RB1=0;
   522  04B7  1086               	bcf	6,1
   523                           ;main.c: 86: RB2=1;
   524  04B8  1506               	bsf	6,2
   525                           ;main.c: 87: asm("nop");
   526  04B9  0000               	nop	;#
   527                           ;main.c: 88: RB2=0;
   528  04BA  1106               	bcf	6,2
   529                           ;main.c: 89: b=1;
   530  04BB  01B4               	clrf	?a_write_com+1
   531  04BC  0AB4               	incf	?a_write_com+1
   532  04BD                     l15
   533                           ;main.c: 90: }
   534  04BD  0834               	movf	?a_write_com+1,w
   535                           ;main.c: 94: }
   536  04BE  0008               	return	;uses W
   537  04BF                     _write_dat
   538                           ;	_dat assigned to ?a_write_dat+0
   539  0000                     _write_dat$dat	set	?a_write_dat
   540                           ;	_b assigned to ?a_write_dat+1
   541  0000                     _write_dat$b	set	?a_write_dat+1
   542                           ;_dat stored from w
   543  04BF  0183               	clrf	3	;select bank 0
   544  04C0  00B3               	movwf	?a_write_dat
   545                           ;main.c: 96: unsigned char write_dat(unsigned c
      +                          har dat)
   546  04C1  01B4               	clrf	?a_write_dat+1
   547                           ;main.c: 99: if(chkbusy())
   548  04C2  2490               	fcall	_chkbusy
   549  04C3  3800               	iorlw	0
   550  04C4  1903               	btfsc	3,2
   551  04C5  2CCF               	goto	l17

⌨️ 快捷键说明

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