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

📄 motor_side.lst

📁 汽车侧滑台检测仪表.用的单片机是PIC16F877A. 产品经过市场检验
💻 LST
📖 第 1 页 / 共 5 页
字号:
   228  04A1  0084               	movwf	4
   229  04A2  1383               	bcf	3,7
   230  04A3  0800               	movf	0,w
   231  04A4  00A4               	movwf	?a_clear_zer0
   232                           ;motor_side.c: 185: eeprom_write(i * 2 + 1, val
      +                          ue_of_ad);
   233  04A5  00BC               	movwf	?_eeprom_write
   234  04A6  1403               	bsf	3,0
   235  04A7  0D25               	rlf	?a_clear_zer0+1,w
   236  04A8  120A  118A  20E2   	fcall	_eeprom_write
      +       120A  118A         
   237                           ;motor_side.c: 186: delay(8,250);
   238  04AD  3008               	movlw	8
   239  04AE  00CA               	movwf	?_delay
   240  04AF  01CB               	clrf	?_delay+1
   241  04B0  30FA               	movlw	250
   242  04B1  00CC               	movwf	?_delay+2
   243  04B2  01CD               	clrf	?_delay+3
   244  04B3  2521               	fcall	_delay
   245                           ;motor_side.c: 187: }
   246  04B4  0AA5               	incf	?a_clear_zer0+1
   247  04B5  3003               	movlw	3
   248  04B6  0225               	subwf	?a_clear_zer0+1,w
   249  04B7  1C03               	btfss	3,0
   250  04B8  2C84               	goto	l49
   251                           ;motor_side.c: 188: point = 0;
   252  04B9  1020               	bcf	_point/(0+8),_point& (0+7)
   253                           ;motor_side.c: 189: display(0x1111);
   254  04BA  3011               	movlw	17
   255  04BB  00BC               	movwf	?_display
   256  04BC  00BD               	movwf	?_display+1
   257  04BD  120A  118A  2126   	fcall	_display
      +       120A  118A         
   258                           ;motor_side.c: 190: delay(1000,500);
   259  04C2  30E8               	movlw	232
   260  04C3  00CA               	movwf	?_delay
   261  04C4  3003               	movlw	3
   262  04C5  00CB               	movwf	?_delay+1
   263  04C6  30F4               	movlw	244
   264  04C7  00CC               	movwf	?_delay+2
   265  04C8  3001               	movlw	1
   266  04C9  00CD               	movwf	?_delay+3
   267  04CA  2521               	fcall	_delay
   268                           ;motor_side.c: 191: point = 1;
   269  04CB  1420               	bsf	_point/(0+8),_point& (0+7)
   270                           ;motor_side.c: 192: display(0xbb00);
   271  04CC  01BC               	clrf	?_display
   272  04CD  30BB               	movlw	187
   273  04CE  00BD               	movwf	?_display+1
   274  04CF  120A  118A  2926   	ljmp	_display
   275                           ;motor_side.c: 227: void check()
   276                           ;motor_side.c: 228: {
   277  04D2                     _check
   278                           ;	_i assigned to ?a_check+0
   279  0000                     _check$i	set	?a_check
   280                           ;motor_side.c: 229: unsigned short i;
   281  04D2  2563               	fcall	_key_release
   282  04D3                     l57
   283                           ;motor_side.c: 232: while(1){
   284                           ;motor_side.c: 233: i = count_side(ad_adverage(
      +                          1));
   285  04D3  3001               	movlw	1
   286  04D4  241E               	fcall	_ad_adverage
   287  04D5  0870               	movf	btemp,w
   288  04D6  00AF               	movwf	?_count_side
   289  04D7  0871               	movf	btemp+1,w
   290  04D8  00B0               	movwf	?_count_side+1
   291  04D9  120A  118A  217A   	fcall	_count_side
   292  04DC  0870               	movf	btemp,w
   293  04DD  00A4               	movwf	?a_check
   294  04DE  0871               	movf	btemp+1,w
   295  04DF  00A5               	movwf	?a_check+1
   296                           ;motor_side.c: 237: send_data[0] = '*';
   297  04E0  302A               	movlw	42
   298  04E1  00D0               	movwf	_send_data
   299                           ;motor_side.c: 238: send_data[1] = ASCII[i >> 1
      +                          2 & 0x0f];
   300  04E2  3000               	movlw	_ASCII shr (0+8)
   301  04E3  008A               	movwf	10
   302  04E4  0E25               	swapf	?a_check+1,w
   303  04E5  390F               	andlw	15
   304  04E6  206C               	call	((_ASCII+-1)& (0+2047))| (($)& (0+-2048))
   305  04E7  00D1               	movwf	_send_data+1
   306                           ;motor_side.c: 239: send_data[2] = ASCII[i >> 8
      +                           & 0x0f];
   307  04E8  3000               	movlw	_ASCII shr (0+8)
   308  04E9  008A               	movwf	10
   309  04EA  0825               	movf	?a_check+1,w
   310  04EB  390F               	andlw	15
   311  04EC  206C               	call	((_ASCII+-1)& (0+2047))| (($)& (0+-2048))
   312  04ED  00D2               	movwf	_send_data+2
   313                           ;motor_side.c: 240: send_data[3] = ASCII[i >> 4
      +                           & 0x0f];
   314  04EE  3000               	movlw	_ASCII shr (0+8)
   315  04EF  008A               	movwf	10
   316  04F0  0E24               	swapf	?a_check,w
   317  04F1  390F               	andlw	15
   318  04F2  206C               	call	((_ASCII+-1)& (0+2047))| (($)& (0+-2048))
   319  04F3  00D3               	movwf	_send_data+3
   320                           ;motor_side.c: 241: send_data[4] = '.';
   321  04F4  302E               	movlw	46
   322  04F5  00D4               	movwf	_send_data+4
   323                           ;motor_side.c: 242: send_data[5] = ASCII[i & 0x
      +                          0f];
   324  04F6  3000               	movlw	_ASCII shr (0+8)
   325  04F7  008A               	movwf	10
   326  04F8  0824               	movf	?a_check,w
   327  04F9  390F               	andlw	15
   328  04FA  206C               	call	((_ASCII+-1)& (0+2047))| (($)& (0+-2048))
   329  04FB  00D5               	movwf	_send_data+5
   330                           ;motor_side.c: 243: send_data[6] = ' ';
   331  04FC  3020               	movlw	32
   332  04FD  00D6               	movwf	_send_data+6
   333                           ;motor_side.c: 244: SendComputer(send_data,7);
   334  04FE  3007               	movlw	7
   335  04FF  00AF               	movwf	?_SendComputer
   336  0500  3050               	movlw	_send_data
   337  0501  120A  118A  22EF   	fcall	_SendComputer
   338                           ;motor_side.c: 245: point = 1;
   339  0504  1420               	bsf	_point/(0+8),_point& (0+7)
   340                           ;motor_side.c: 246: display(i);
   341  0505  0824               	movf	?a_check,w
   342  0506  00BC               	movwf	?_display
   343  0507  0825               	movf	?a_check+1,w
   344  0508  00BD               	movwf	?_display+1
   345  0509  120A  118A  2126   	fcall	_display
      +       120A  118A         
   346                           ;motor_side.c: 248: if(!RB7){
   347  050E  1B86               	btfsc	6,7
   348  050F  2CD3               	goto	l57
   349                           ;motor_side.c: 249: delay(8,250);
   350  0510  3008               	movlw	8
   351  0511  00CA               	movwf	?_delay
   352  0512  01CB               	clrf	?_delay+1
   353  0513  30FA               	movlw	250
   354  0514  00CC               	movwf	?_delay+2
   355  0515  01CD               	clrf	?_delay+3
   356  0516  2521               	fcall	_delay
   357                           ;motor_side.c: 250: if(!RB7){
   358  0517  1B86               	btfsc	6,7
   359  0518  2CD3               	goto	l57
   360                           ;motor_side.c: 251: key_release();
   361  0519  2563               	fcall	_key_release
   362                           ;motor_side.c: 252: break;
   363                           ;motor_side.c: 256: point = 1;
   364  051A  1420               	bsf	_point/(0+8),_point& (0+7)
   365                           ;motor_side.c: 257: display(0xbb00);
   366  051B  01BC               	clrf	?_display
   367  051C  30BB               	movlw	187
   368  051D  00BD               	movwf	?_display+1
   369  051E  120A  118A  2926   	ljmp	_display
   370  0521                     _delay
   371                           ;	_k assigned to ?a_delay+0
   372  0000                     _delay$k	set	?a_delay
   373                           ;motor_side.c: 22: unsigned short k;
   374  0521  0183               	clrf	3	;select bank 0
   375  0522  084B               	movf	?_delay+1,w
   376  0523  044A               	iorwf	?_delay,w
   377  0524  1903               	btfsc	3,2
   378  0525  0008               	return
   379  0526                     l2
   380                           ;motor_side.c: 25: k = j;
   381  0526  084C               	movf	?_delay+2,w
   382  0527  00CE               	movwf	?a_delay
   383  0528  084D               	movf	?_delay+3,w
   384  0529  00CF               	movwf	?a_delay+1
   385  052A                     L1
   386                           ;motor_side.c: 26: for(; k > 0; k--){
   387  052A  044E               	iorwf	?a_delay,w
   388  052B  1903               	btfsc	3,2
   389  052C  2D37               	goto	l6
   390                           ;motor_side.c: 27: asm("nop");
   391  052D  0000               	nop	;#
   392                           ;motor_side.c: 28: asm("nop");
   393  052E  0000               	nop	;#
   394                           ;motor_side.c: 29: asm("nop");
   395  052F  0000               	nop	;#
   396                           ;motor_side.c: 30: asm("nop");
   397  0530  0000               	nop	;#
   398                           ;motor_side.c: 31: }
   399  0531  08CE               	movf	?a_delay
   400  0532  1903               	btfsc	3,2
   401  0533  03CF               	decf	?a_delay+1
   402  0534  03CE               	decf	?a_delay
   403  0535  084F               	movf	?a_delay+1,w
   404  0536  2D2A               	goto	L1
   405  0537                     l6
   406                           ;motor_side.c: 32: }
   407  0537  08CA               	movf	?_delay
   408  0538  1903               	btfsc	3,2
   409  0539  03CB               	decf	?_delay+1
   410  053A  03CA               	decf	?_delay
   411  053B  084B               	movf	?_delay+1,w
   412  053C  044A               	iorwf	?_delay,w
   413  053D  1903               	btfsc	3,2
   414  053E  0008               	return
   415  053F  2D26               	goto	l2
   416                           ;motor_side.c: 65: unsigned short adc_read(unsi
      +                          gned char channel)
   417                           ;motor_side.c: 66: {
   418  0540                     _adc_read
   419                           ;	_channel assigned to ?a_adc_read+0
   420  0000                     _adc_read$channel	set	?a_adc_read
   421                           ;	_result assigned to ?a_adc_read+1
   422  0000                     _adc_read$result	set	?a_adc_read+1
   423                           ;_channel stored from w
   424  0540  0183               	clrf	3	;select bank 0
   425  0541  00C7               	movwf	?a_adc_read
   426                           ;motor_side.c: 67: unsigned short result = 0;
   427  0542  01C8               	clrf	?a_adc_read+1
   428  0543  01C9               	clrf	?a_adc_read+2
   429                           ;motor_side.c: 69: ADCON0 = (channel << 3) + 0x
      +                          81;
   430  0544  00F0               	movwf	btemp
   431  0545  1003               	bcf	3,0
   432  0546  0DF0               	rlf	btemp
   433  0547  1003               	bcf	3,0
   434  0548  0DF0               	rlf	btemp
   435  0549  1003               	bcf	3,0
   436  054A  0D70               	rlf	btemp,w
   437  054B  3E81               	addlw	-127
   438  054C  009F               	movwf	31	;volatile
   439                           ;motor_side.c: 70: delay(1,5);
   440  054D  01CA               	clrf	?_delay
   441  054E  0ACA               	incf	?_delay
   442  054F  01CB               	clrf	?_delay+1
   443  0550  3005               	movlw	5
   444  0551  00CC               	movwf	?_delay+2
   445  0552  01CD               	clrf	?_delay+3
   446  0553  2521               	fcall	_delay
   447                           ;motor_side.c: 71: ADIF = 0;
   448  0554  130C               	bcf	12,6
   449                           ;motor_side.c: 72: ADGO = 1;
   450  0555  151F               	bsf	31,2
   451                           ;motor_side.c: 73: while(ADIF == 0)
   452                           ;motor_side.c: 74: continue;
   453  0556                     l17
   454  0556  1F0C               	btfss	12,6
   455  0557  2D56               	goto	l17
   456                           ;motor_side.c: 75: result = (ADRESH << 8) + ADR
      +                          ESL;
   457  0558  081E               	movf	30,w	;volatile
   458  0559  00C9               	movwf	?a_adc_read+2
   459  055A  1683               	bsf	3,5
   460  055B  081E               	movf	30,w	;volatile
   461  055C  1283               	bcf	3,5
   462  055D  00C8               	movwf	?a_adc_read+1
   463                           ;motor_side.c: 76: return(result);
   464  055E  0849               	movf	?a_adc_read+2,w
   465  055F  00F1               	movwf	btemp+1

⌨️ 快捷键说明

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