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

📄 bike.lst

📁 PIC单片机电动车解决方案
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-37313                            Thu Jan 31 09:02:05 2008

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z37313RS_,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	text1,local,class=CODE,delta=2
     7                           	psect	text9,local,class=CODE,delta=2
     8                           	psect	intcode,global,class=CODE,delta=2
     9                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
    10                           	psect	intret,global,class=CODE,delta=2
    11                           	psect	intentry,global,class=CODE,delta=2
    12                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    13                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26                           
    27                           	psect	__Z37313RS_
    28  0190                     
    29  0190                     
    30                           
    31                           	psect	rdata_0
    32  0043                     _new
    33  0043                     	ds	1
    34  0044                     	ds	1
    35  0045                     	ds	1
    36  0046                     	ds	1
    37  0047                     	ds	1
    38  0048                     	ds	1
    39  0049                     	ds	1
    40  004A                     	ds	1
    41  004B                     	ds	1
    42  004C                     	ds	1
    43                           
    44                           	psect	idata_0
    45  07F6  34AF               	retlw	-81
    46  07F7  34BE               	retlw	-66
    47  07F8  34FF               	retlw	-1
    48  07F9  347E               	retlw	126
    49  07FA  34CF               	retlw	-49
    50  07FB  34FF               	retlw	-1
    51  07FC  34D7               	retlw	-41
    52  07FD  3477               	retlw	119
    53  07FE  34FF               	retlw	-1
    54  07FF  34FF               	retlw	-1
    55                           
    56                           	psect	text1
    57  05BD                     _DELAY1
    58                           ;bike.c: 71: DELAYH=x;
    59  05BD  0183               	clrf	3	;select bank 0
    60  05BE  0841               	movf	?_DELAY1,w
    61  05BF  00A2               	movwf	_DELAYH	;volatile
    62  05C0                     DELAY2
    63  05C0  3006               	movlw	6	;#
    64  05C1  00A3               	movwf	_DELAYL	;#
    65  05C2                     DELAY1
    66  05C2  0BA3               	decfsz	_DELAYL	;#
    67  05C3  2DC2               	goto	DELAY1	;#
    68  05C4  0BA2               	decfsz	_DELAYH	;#
    69  05C5  2DC0               	goto	DELAY2	;#
    70                           ;bike.c: 80: }
    71  05C6  0008               	return
    72  05C7                     _sample
    73                           ;	_x assigned to ?a_sample+0
    74  0000                     _sample$x	set	?a_sample
    75                           ;	_state2 assigned to ?a_sample+1
    76  0000                     _sample$state2	set	?a_sample+1
    77                           ;	_state3 assigned to ?a_sample+2
    78  0000                     _sample$state3	set	?a_sample+2
    79                           ;	_state1 assigned to ?a_sample+3
    80  0000                     _sample$state1	set	?a_sample+3
    81  05C7                     l6
    82                           ;bike.c: 84: char state1,state2,state3,x;
    83                           ;bike.c: 86: x=1;
    84  05C7  0183               	clrf	3	;select bank 0
    85  05C8  01BD               	clrf	?a_sample
    86  05C9  0ABD               	incf	?a_sample
    87                           ;bike.c: 87: state1=(PORTB&0xe0);
    88  05CA  0806               	movf	6,w	;volatile
    89  05CB  39E0               	andlw	-32
    90  05CC  00C0               	movwf	?a_sample+3
    91                           ;bike.c: 88: DELAY1(x);
    92  05CD  01C1               	clrf	?_DELAY1
    93  05CE  0AC1               	incf	?_DELAY1
    94  05CF  01C2               	clrf	?_DELAY1+1
    95  05D0  25BD               	fcall	_DELAY1
    96                           ;bike.c: 89: state2=(PORTB&0xe0);
    97  05D1  0806               	movf	6,w	;volatile
    98  05D2  39E0               	andlw	-32
    99  05D3  00BE               	movwf	?a_sample+1
   100                           ;bike.c: 90: }while(state1-state2);
   101  05D4  0840               	movf	?a_sample+3,w
   102  05D5  00F0               	movwf	btemp
   103  05D6  01F1               	clrf	btemp+1
   104  05D7  083E               	movf	?a_sample+1,w
   105  05D8  02F0               	subwf	btemp
   106  05D9  1C03               	btfss	3,0
   107  05DA  03F1               	decf	btemp+1
   108  05DB  0871               	movf	btemp+1,w
   109  05DC  0470               	iorwf	btemp,w
   110  05DD  1D03               	btfss	3,2
   111  05DE  2DC7               	goto	l6
   112                           ;bike.c: 91: if(state1-oldstate!=0)
   113  05DF  0840               	movf	?a_sample+3,w
   114  05E0  00F0               	movwf	btemp
   115  05E1  01F1               	clrf	btemp+1
   116  05E2  0828               	movf	_oldstate,w	;volatile
   117  05E3  02F0               	subwf	btemp
   118  05E4  1C03               	btfss	3,0
   119  05E5  03F1               	decf	btemp+1
   120  05E6  0871               	movf	btemp+1,w
   121  05E7  0470               	iorwf	btemp,w
   122  05E8  1903               	btfsc	3,2
   123  05E9  0008               	return
   124                           ;bike.c: 93: {oldstate=state1;
   125  05EA  0840               	movf	?a_sample+3,w
   126  05EB  00A8               	movwf	_oldstate	;volatile
   127                           ;bike.c: 94: state1=(oldstate>>5);
   128  05EC  0828               	movf	_oldstate,w	;volatile
   129  05ED  00F0               	movwf	btemp
   130  05EE  3005               	movlw	5
   131  05EF  00F1               	movwf	btemp+1
   132  05F0                     u45
   133  05F0  1003               	bcf	3,0
   134  05F1  0CF0               	rrf	btemp
   135  05F2  0BF1               	decfsz	btemp+1
   136  05F3  2DF0               	goto	u45
   137  05F4  0870               	movf	btemp,w
   138  05F5  00C0               	movwf	?a_sample+3
   139                           ;bike.c: 95: PORTC=new[state1];
   140  05F6  3E43               	addlw	_new
   141  05F7  0084               	movwf	4
   142  05F8  1383               	bcf	3,7
   143  05F9  0800               	movf	0,w
   144  05FA  0087               	movwf	7	;volatile
   145                           ;bike.c: 96: if(sp1==1){spe=1;sp1=0;}
   146  05FB  1E20               	btfss	_sp1/(0+8),_sp1& (0+7)
   147  05FC  2E00               	goto	l8
   148  05FD  16A0               	bsf	_spe/(0+8),_spe& (0+7)
   149  05FE  1220               	bcf	_sp1/(0+8),_sp1& (0+7)
   150                           ;bike.c: 97: else {
   151  05FF  2E0E               	goto	l9
   152  0600                     l8
   153                           ;bike.c: 98: spe=0;sp1=0;
   154  0600  12A0               	bcf	_spe/(0+8),_spe& (0+7)
   155  0601  1220               	bcf	_sp1/(0+8),_sp1& (0+7)
   156                           ;bike.c: 99: speedcount<<=1;
   157  0602  1003               	bcf	3,0
   158  0603  0DAA               	rlf	_speedcount	;volatile
   159                           ;bike.c: 100: state3=(TMR1H>>2);
   160  0604  080F               	movf	15,w	;volatile
   161  0605  00F0               	movwf	btemp
   162  0606  1003               	bcf	3,0
   163  0607  0CF0               	rrf	btemp
   164  0608  1003               	bcf	3,0
   165  0609  0C70               	rrf	btemp,w
   166  060A  00BF               	movwf	?a_sample+2
   167                           ;bike.c: 101: speed=speedcount+state3;
   168  060B  082A               	movf	_speedcount,w	;volatile
   169  060C  073F               	addwf	?a_sample+2,w
   170  060D  00A9               	movwf	_speed	;volatile
   171  060E                     l9
   172                           ;bike.c: 102: }
   173                           ;bike.c: 103: speedcount=0;
   174  060E  01AA               	clrf	_speedcount	;volatile
   175                           ;bike.c: 104: }
   176  060F  0008               	return
   177                           ;bike.c: 107: void AD()
   178                           ;bike.c: 108: {
   179  0610                     _AD
   180                           ;	_x assigned to ?a_AD+0
   181  0000                     _AD$x	set	?a_AD
   182                           ;bike.c: 109: char x;
   183  0610  0183               	clrf	3	;select bank 0
   184  0611  130C               	bcf	12,6
   185                           ;bike.c: 111: if(ts==1){
   186  0612  1FA0               	btfss	_ts/(0+8),_ts& (0+7)
   187  0613  2E28               	goto	l11
   188                           ;bike.c: 112: CHS0=1;
   189  0614  159F               	bsf	31,3
   190                           ;bike.c: 113: count_vol=count_vol+1;
   191  0615  0AA5               	incf	_count_vol	;volatile
   192                           ;bike.c: 114: spepid=1;
   193  0616  1720               	bsf	_spepid/(0+8),_spepid& (0+7)
   194                           ;bike.c: 115: ts=0;tsh=ADRESH;
   195  0617  13A0               	bcf	_ts/(0+8),_ts& (0+7)
   196  0618  081E               	movf	30,w	;volatile
   197  0619  00AB               	movwf	_tsh	;volatile
   198                           ;bike.c: 116: if(count_vol==0) {
   199  061A  0825               	movf	_count_vol,w	;volatile
   200  061B  1D03               	btfss	3,2
   201  061C  0008               	return
   202                           ;bike.c: 117: CHS0=0;CHS1=1;volflag=1;x=1;DELAY
      +                          1(x);ADGO=1;
   203  061D  119F               	bcf	31,3
   204  061E  161F               	bsf	31,4
   205  061F  1421               	bsf	_volflag/(0+8),_volflag& (0+7)
   206  0620  01BD               	clrf	?a_AD
   207  0621  0ABD               	incf	?a_AD
   208  0622  01C1               	clrf	?_DELAY1
   209  0623  0AC1               	incf	?_DELAY1
   210  0624  01C2               	clrf	?_DELAY1+1
   211  0625  25BD               	fcall	_DELAY1
   212  0626  151F               	bsf	31,2
   213                           ;bike.c: 118: }
   214                           ;bike.c: 120: else if(volflag==1) {
   215  0627  0008               	return
   216  0628                     l11
   217  0628  1C21               	btfss	_volflag/(0+8),_volflag& (0+7)
   218  0629  2E31               	goto	l14
   219                           ;bike.c: 121: CHS1=0;CHS0=1;volflag=0;voltage=A
      +                          DRESH;lowpower=1;
   220  062A  121F               	bcf	31,4
   221  062B  159F               	bsf	31,3
   222  062C  1021               	bcf	_volflag/(0+8),_volflag& (0+7)
   223  062D  081E               	movf	30,w	;volatile
   224  062E  00AC               	movwf	_voltage	;volatile
   225  062F  14A0               	bsf	_lowpower/(0+8),_lowpower& (0+7)
   226                           ;bike.c: 122: }
   227  0630  0008               	return
   228  0631                     l14
   229                           ;bike.c: 124: speedcount=speedcount+1;
   230  0631  0AAA               	incf	_speedcount	;volatile
   231                           ;bike.c: 125: if(speedcount>0x3d) sp1=1;
   232  0632  303E               	movlw	62
   233  0633  022A               	subwf	_speedcount,w	;volatile
   234  0634  1803               	btfsc	3,0
   235  0635  1620               	bsf	_sp1/(0+8),_sp1& (0+7)
   236                           ;bike.c: 127: currenth=ADRESH;
   237  0636  081E               	movf	30,w	;volatile
   238  0637  00A6               	movwf	_currenth	;volatile
   239                           ;bike.c: 128: curpid=1;
   240  0638  1420               	bsf	_curpid/(0+8),_curpid& (0+7)
   241                           ;bike.c: 129: count_ts=count_ts-1;
   242  0639  03A4               	decf	_count_ts	;volatile
   243                           ;bike.c: 130: if(count_ts==0) {
   244  063A  0824               	movf	_count_ts,w	;volatile
   245  063B  1D03               	btfss	3,2
   246  063C  0008               	return
   247                           ;bike.c: 131: CHS0=0;count_ts=0x08;ts=1;x=1;DEL
      +                          AY1(x);ADGO=1;
   248  063D  119F               	bcf	31,3
   249  063E  3008               	movlw	8
   250  063F  00A4               	movwf	_count_ts	;volatile
   251  0640  17A0               	bsf	_ts/(0+8),_ts& (0+7)

⌨️ 快捷键说明

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