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

📄 motor_side.lst

📁 汽车侧滑台检测仪表.用的单片机是PIC16F877A. 产品经过市场检验
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
                                                      Sun Aug  6 15:26:08 2006


     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z49231UD_,global,delta=1
     4                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     5                           	psect	idata_0,global,class=CODE,delta=2
     6                           	psect	strings,global,class=STRING,delta=2
     7                           	psect	const1,local,class=CONST,delta=2
     8                           	psect	text3,local,class=CODE,delta=2
     9                           	psect	text7,local,class=CODE,delta=2
    10                           	psect	text11,local,class=CODE,delta=2
    11                           	psect	intcode,global,class=CODE,delta=2
    12                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
    13                           	psect	intret,global,class=CODE,delta=2
    14                           	psect	intentry,global,class=CODE,delta=2
    15                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    16                           	psect	text13,local,class=CODE,delta=2
    17                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    18                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    19                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27  0000                     
    28  0000                     
    29  0000                     
    30                           
    31                           	psect	rdata_0
    32  0050                     _send_data
    33  0050                     	ds	1
    34  0051                     	ds	1
    35  0052                     	ds	1
    36  0053                     	ds	1
    37  0054                     	ds	1
    38  0055                     	ds	2
    39                           
    40                           	psect	idata_0
    41  07F9  342A               	retlw	42
    42  07FA  3402               	retlw	2
    43  07FB  3403               	retlw	3
    44  07FC  3404               	retlw	4
    45  07FD  3405               	retlw	5
    46  07FE  3400               	retlw	0
    47  07FF  3400               	retlw	0
    48                           
    49                           	psect	const1
    50  006C  0782               	addwf	2
    51  006D                     _ASCII
    52  006D  3430               	retlw	48
    53  006E  3431               	retlw	49
    54  006F  3432               	retlw	50
    55  0070  3433               	retlw	51
    56  0071  3434               	retlw	52
    57  0072  3435               	retlw	53
    58  0073  3436               	retlw	54
    59  0074  3437               	retlw	55
    60  0075  3438               	retlw	56
    61  0076  3439               	retlw	57
    62  0077  342D               	retlw	45
    63  0078  342B               	retlw	43
    64  0000                     _delay$i	set	?_delay
    65  0000                     _delay$j	set	?_delay+2
    66                           
    67                           	psect	text3
    68                           ;motor_side.c: 89: unsigned short ad_adverage(u
      +                          nsigned char channel)
    69                           ;motor_side.c: 90: {
    70  041E                     _ad_adverage
    71                           ;	_channel assigned to ?a_ad_adverage+0
    72  0000                     _ad_adverage$channel	set	?a_ad_adverage
    73                           ;	_i assigned to ?a_ad_adverage+1
    74  0000                     _ad_adverage$i	set	?a_ad_adverage+1
    75                           ;	_Summation assigned to ?a_ad_adverage+3
    76  0000                     _ad_adverage$Summation	set	?a_ad_adverage+3
    77                           ;_channel stored from w
    78  041E  0183               	clrf	3	;select bank 0
    79  041F  00BC               	movwf	?a_ad_adverage
    80                           ;motor_side.c: 91: unsigned long Summation = 0;
    81  0420  01BF               	clrf	?a_ad_adverage+3
    82  0421  01C0               	clrf	?a_ad_adverage+4
    83  0422  01C1               	clrf	?a_ad_adverage+5
    84  0423  01C2               	clrf	?a_ad_adverage+6
    85                           ;motor_side.c: 92: unsigned short i;
    86  0424  01BD               	clrf	?a_ad_adverage+1
    87  0425  01BE               	clrf	?a_ad_adverage+2
    88  0426                     l21
    89                           ;motor_side.c: 95: Summation += adc_read(channe
      +                          l);
    90  0426  083C               	movf	?a_ad_adverage,w
    91  0427  2540               	fcall	_adc_read
    92  0428  01F2               	clrf	btemp+2
    93  0429  01F3               	clrf	btemp+3
    94  042A  0870               	movf	btemp,w
    95  042B  07BF               	addwf	?a_ad_adverage+3
    96  042C  0871               	movf	btemp+1,w
    97  042D  1803               	btfsc	3,0
    98  042E  0F71               	incfsz	btemp+1,w
    99  042F  07C0               	addwf	?a_ad_adverage+4
   100  0430  0872               	movf	btemp+2,w
   101  0431  1803               	btfsc	3,0
   102  0432  0F72               	incfsz	btemp+2,w
   103  0433  07C1               	addwf	?a_ad_adverage+5
   104  0434  0873               	movf	btemp+3,w
   105  0435  1803               	btfsc	3,0
   106  0436  0A73               	incf	btemp+3,w
   107  0437  07C2               	addwf	?a_ad_adverage+6
   108                           ;motor_side.c: 96: }
   109  0438  0ABD               	incf	?a_ad_adverage+1
   110  0439  1903               	btfsc	3,2
   111  043A  0ABE               	incf	?a_ad_adverage+2
   112  043B  3010               	movlw	16
   113  043C  023E               	subwf	?a_ad_adverage+2,w
   114  043D  3000               	movlw	0
   115  043E  1903               	btfsc	3,2
   116  043F  023D               	subwf	?a_ad_adverage+1,w
   117  0440  1C03               	btfss	3,0
   118  0441  2C26               	goto	l21
   119                           ;motor_side.c: 97: return (unsigned short)(Summ
      +                          ation >> 12);
   120  0442  083F               	movf	?a_ad_adverage+3,w
   121  0443  00F0               	movwf	btemp
   122  0444  0840               	movf	?a_ad_adverage+4,w
   123  0445  00F1               	movwf	btemp+1
   124  0446  0841               	movf	?a_ad_adverage+5,w
   125  0447  00F2               	movwf	btemp+2
   126  0448  0842               	movf	?a_ad_adverage+6,w
   127  0449  00F3               	movwf	btemp+3
   128  044A  300C               	movlw	12
   129  044B  120A  118A  20D7   	fcall	llslr
      +       120A  118A         
   130  0450  0870               	movf	btemp,w
   131  0451  00C3               	movwf	?a_ad_adverage+7
   132  0452  0871               	movf	btemp+1,w
   133  0453  00C4               	movwf	?a_ad_adverage+8
   134  0454  0872               	movf	btemp+2,w
   135  0455  00C5               	movwf	?a_ad_adverage+9
   136  0456  0873               	movf	btemp+3,w
   137  0457  00C6               	movwf	?a_ad_adverage+10
   138  0458  0844               	movf	?a_ad_adverage+8,w
   139  0459  00F1               	movwf	btemp+1
   140  045A  0843               	movf	?a_ad_adverage+7,w
   141  045B  00F0               	movwf	btemp
   142                           ;motor_side.c: 98: }
   143  045C  0008               	return
   144                           ;motor_side.c: 169: void clear_zer0()
   145                           ;motor_side.c: 170: {
   146  045D                     _clear_zer0
   147                           ;	_value_of_ad assigned to ?a_clear_zer0+0
   148  0000                     _clear_zer0$value_of_ad	set	?a_clear_zer0
   149                           ;	_i assigned to ?a_clear_zer0+1
   150  0000                     _clear_zer0$i	set	?a_clear_zer0+1
   151                           ;	_change_result assigned to ?a_clear_zer0+2
   152  0000                     _clear_zer0$change_result	set	?a_clear_zer0+2
   153                           ;motor_side.c: 171: short change_result;
   154  045D  2563               	fcall	_key_release
   155                           ;motor_side.c: 175: change_result = ad_adverage
      +                          (1);
   156  045E  3001               	movlw	1
   157  045F  241E  120A  118A   	fcall	_ad_adverage
   158  0462  0870               	movf	btemp,w
   159  0463  00A6               	movwf	?a_clear_zer0+2
   160  0464  0871               	movf	btemp+1,w
   161  0465  00A7               	movwf	?a_clear_zer0+3
   162                           ;motor_side.c: 176: change_result -= dema_value
      +                          [0];
   163  0466  1683               	bsf	3,5
   164  0467  0820               	movf	_dema_value^(0+128),w
   165  0468  1283               	bcf	3,5
   166  0469  02A6               	subwf	?a_clear_zer0+2
   167  046A  1C03               	btfss	3,0
   168  046B  03A7               	decf	?a_clear_zer0+3
   169  046C  1683               	bsf	3,5
   170  046D  0821               	movf	(_dema_value+1)^(0+128),w
   171  046E  1283               	bcf	3,5
   172  046F  02A7               	subwf	?a_clear_zer0+3
   173                           ;motor_side.c: 177: for(i = 0; i < 3; i++){
   174  0470  01A5               	clrf	?a_clear_zer0+1
   175  0471                     l46
   176                           ;motor_side.c: 178: dema_value[i] += change_res
      +                          ult;
   177  0471  0825               	movf	?a_clear_zer0+1,w
   178  0472  0725               	addwf	?a_clear_zer0+1,w
   179  0473  3EA0               	addlw	_dema_value
   180  0474  0084               	movwf	4
   181  0475  1383               	bcf	3,7
   182  0476  0826               	movf	?a_clear_zer0+2,w
   183  0477  0780               	addwf	0
   184  0478  0A84               	incf	4
   185  0479  1803               	btfsc	3,0
   186  047A  0A80               	incf	0
   187  047B  0827               	movf	?a_clear_zer0+3,w
   188  047C  0780               	addwf	0
   189  047D  0384               	decf	4
   190                           ;motor_side.c: 179: }
   191  047E  0AA5               	incf	?a_clear_zer0+1
   192  047F  3003               	movlw	3
   193  0480  0225               	subwf	?a_clear_zer0+1,w
   194  0481  1C03               	btfss	3,0
   195  0482  2C71               	goto	l46
   196                           ;motor_side.c: 180: for(i = 0; i < 3; i++){
   197  0483  01A5               	clrf	?a_clear_zer0+1
   198  0484                     l49
   199                           ;motor_side.c: 181: value_of_ad = (dema_value[i
      +                          ] >> 8) & 0xff;
   200  0484  0825               	movf	?a_clear_zer0+1,w
   201  0485  0725               	addwf	?a_clear_zer0+1,w
   202  0486  3EA0               	addlw	_dema_value
   203  0487  0084               	movwf	4
   204  0488  1383               	bcf	3,7
   205  0489  0800               	movf	0,w
   206  048A  00F0               	movwf	btemp
   207  048B  0A84               	incf	4
   208  048C  0800               	movf	0,w
   209  048D  00F1               	movwf	btemp+1
   210  048E  00A4               	movwf	?a_clear_zer0
   211                           ;motor_side.c: 182: eeprom_write(i * 2,value_of
      +                          _ad);
   212  048F  00BC               	movwf	?_eeprom_write
   213  0490  0825               	movf	?a_clear_zer0+1,w
   214  0491  0725               	addwf	?a_clear_zer0+1,w
   215  0492  120A  118A  20E2   	fcall	_eeprom_write
      +       120A  118A         
   216                           ;motor_side.c: 183: delay(8,250);
   217  0497  3008               	movlw	8
   218  0498  00CA               	movwf	?_delay
   219  0499  01CB               	clrf	?_delay+1
   220  049A  30FA               	movlw	250
   221  049B  00CC               	movwf	?_delay+2
   222  049C  01CD               	clrf	?_delay+3
   223  049D  2521               	fcall	_delay
   224                           ;motor_side.c: 184: value_of_ad = dema_value[i]
      +                           & 0xff;
   225  049E  0825               	movf	?a_clear_zer0+1,w
   226  049F  0725               	addwf	?a_clear_zer0+1,w
   227  04A0  3EA0               	addlw	_dema_value

⌨️ 快捷键说明

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