main.lst

来自「我用PROTEUS做了一个基于PIC16F877A的5路电压采集系统」· LST 代码 · 共 1,336 行 · 第 1/5 页

LST
1,336
字号
   776  0A1D  1003               	bcf	3,0
   777  0A1E  0DF0               	rlf	btemp
   778  0A1F  0DF1               	rlf	btemp+1
   779  0A20  0870               	movf	btemp,w
   780  0A21  1283               	bcf	3,5
   781  0A22  00A4               	movwf	?a_get_date+1
   782  0A23  0871               	movf	btemp+1,w
   783  0A24  00A5               	movwf	?a_get_date+2
   784                           ;main.c: 343: date_temp1|=ADRESL;
   785  0A25  1683               	bsf	3,5
   786  0A26  081E               	movf	30,w	;volatile
   787  0A27  1283               	bcf	3,5
   788  0A28  04A4               	iorwf	?a_get_date+1
   789                           ;main.c: 344: date_temp1=date_temp1*5;
   790  0A29  3005               	movlw	5
   791  0A2A  00F2               	movwf	btemp+2
   792  0A2B  01F3               	clrf	btemp+3
   793  0A2C  0824               	movf	?a_get_date+1,w
   794  0A2D  00F0               	movwf	btemp
   795  0A2E  0825               	movf	?a_get_date+2,w
   796  0A2F  00F1               	movwf	btemp+1
   797  0A30  120A  118A  24CF   	fcall	lwmul
   798  0A33  0874               	movf	btemp+4,w
   799  0A34  00A4               	movwf	?a_get_date+1
   800  0A35  0875               	movf	btemp+5,w
   801  0A36  00A5               	movwf	?a_get_date+2
   802                           ;main.c: 345: date_temp2=(float)date_temp1;
   803  0A37  00F1               	movwf	btemp+1
   804  0A38  0824               	movf	?a_get_date+1,w
   805  0A39  00F0               	movwf	btemp
   806  0A3A  120A  118A  26FD   	fcall	lwtoft
   807  0A3D  0870               	movf	btemp,w
   808  0A3E  1703               	bsf	3,6
   809  0A3F  0092               	movwf	_date_temp2^(0+256)
   810  0A40  0871               	movf	btemp+1,w
   811  0A41  0093               	movwf	(_date_temp2+1)^(0+256)
   812  0A42  0872               	movf	btemp+2,w
   813  0A43  0094               	movwf	(_date_temp2+2)^(0+256)
   814                           ;main.c: 346: date_temp2/=1024;
   815  0A44  01F3               	clrf	btemp+3
   816  0A45  3080               	movlw	128
   817  0A46  00F4               	movwf	btemp+4
   818  0A47  3044               	movlw	68
   819  0A48  00F5               	movwf	btemp+5
   820  0A49  3012               	movlw	_date_temp2^(0+256)
   821  0A4A  0084               	movwf	4
   822  0A4B  1783               	bsf	3,7
   823  0A4C  120A  118A  263F   	fcall	ftdiv_f
   824                           ;main.c: 347: date_temp1=(int)(date_temp2*100);
   825  0A4F  1283               	bcf	3,5
   826  0A50  1703               	bsf	3,6
   827  0A51  0812               	movf	_date_temp2^(0+256),w
   828  0A52  00F3               	movwf	btemp+3
   829  0A53  0813               	movf	(_date_temp2+1)^(0+256),w
   830  0A54  00F4               	movwf	btemp+4
   831  0A55  0814               	movf	(_date_temp2+2)^(0+256),w
   832  0A56  00F5               	movwf	btemp+5
   833  0A57  01F0               	clrf	btemp
   834  0A58  30C8               	movlw	200
   835  0A59  00F1               	movwf	btemp+1
   836  0A5A  3042               	movlw	66
   837  0A5B  00F2               	movwf	btemp+2
   838  0A5C  120A  118A  2680   	fcall	ftmul
   839  0A5F  120A  118A  26C1   	fcall	fttol
   840  0A62  0870               	movf	btemp,w
   841  0A63  1303               	bcf	3,6	;carry unused
   842  0A64  00A4               	movwf	?a_get_date+1
   843  0A65  0871               	movf	btemp+1,w
   844  0A66  00A5               	movwf	?a_get_date+2
   845                           ;main.c: 348: ad_key_init();
   846  0A67  120A  118A  24A1   	fcall	_ad_key_init
      +       120A  158A         
   847                           ;main.c: 349: return date_temp1;
   848  0A6C  0825               	movf	?a_get_date+2,w
   849  0A6D  00F1               	movwf	btemp+1
   850  0A6E  0824               	movf	?a_get_date+1,w
   851  0A6F  00F0               	movwf	btemp
   852                           ;main.c: 350: }
   853  0A70  0008               	return
   854                           ;main.c: 494: void alarm()
   855                           ;main.c: 495: {
   856  0A71                     _alarm
   857                           ;	_channel_i assigned to ?a_alarm+0
   858  0000                     _alarm$channel_i	set	?a_alarm
   859                           ;main.c: 496: unsigned char channel_i;
   860  0A71  1683               	bsf	3,5
   861  0A72  1303               	bcf	3,6	;carry unused
   862  0A73  082B               	movf	_set^(0+128),w
   863  0A74  3A03               	xorlw	3
   864                           ;main.c: 499: {
   865  0A75  1283               	bcf	3,5
   866  0A76  1903               	btfsc	3,2
   867  0A77  0008               	return
   868  0A78  01A0               	clrf	?a_alarm
   869  0A79  0AA0               	incf	?a_alarm
   870  0A7A                     l155
   871                           ;main.c: 501: {
   872                           ;main.c: 502: if(get_date(channel_i)>=high[chan
      +                          nel_i-1])
   873  0A7A  0820               	movf	?a_alarm,w
   874  0A7B  0720               	addwf	?a_alarm,w
   875  0A7C  3EFE               	addlw	-2
   876  0A7D  3E1F               	addlw	_high^(0+256)
   877  0A7E  0084               	movwf	4
   878  0A7F  1783               	bsf	3,7
   879  0A80  0800               	movf	0,w
   880  0A81  00F0               	movwf	btemp
   881  0A82  0A84               	incf	4
   882  0A83  0800               	movf	0,w
   883  0A84  00F1               	movwf	btemp+1
   884  0A85  0870               	movf	btemp,w
   885  0A86  00A1               	movwf	?a_alarm+1
   886  0A87  0871               	movf	btemp+1,w
   887  0A88  00A2               	movwf	?a_alarm+2
   888  0A89  0820               	movf	?a_alarm,w
   889  0A8A  21F4  120A  158A   	fcall	_get_date
   890  0A8D  0822               	movf	?a_alarm+2,w
   891  0A8E  0271               	subwf	btemp+1,w
   892  0A8F  1D03               	btfss	3,2
   893  0A90  2A93               	goto	u1245
   894  0A91  0821               	movf	?a_alarm+1,w
   895  0A92  0270               	subwf	btemp,w
   896  0A93                     u1245
   897  0A93  1C03               	btfss	3,0
   898  0A94  2AB0               	goto	l158
   899                           ;main.c: 503: {
   900  0A95  30CE               	movlw	-50
   901  0A96  120A  118A  2568   	fcall	_LCD_WriteControl
   902                           ;main.c: 505: LCD_DisplayCharacter(channel_i+0x
      +                          30);
   903  0A99  0820               	movf	?a_alarm,w
   904  0A9A  3E30               	addlw	48
   905  0A9B  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
   906                           ;main.c: 506: LCD_DisplayCharacter('H');
   907  0A9E  3048               	movlw	72
   908  0A9F  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
      +       120A  158A         
   909                           ;main.c: 507: PORTB=0x01<<(channel_i-1);
   910  0AA4  3001               	movlw	1
   911  0AA5  00F0               	movwf	btemp
   912  0AA6  0320               	decf	?a_alarm,w
   913  0AA7  00F1               	movwf	btemp+1
   914  0AA8  0AF1               	incf	btemp+1
   915  0AA9  2AAC               	goto	u1254
   916  0AAA                     u1255
   917  0AAA  1003               	bcf	3,0
   918  0AAB  0DF0               	rlf	btemp
   919  0AAC                     u1254
   920  0AAC  0BF1               	decfsz	btemp+1
   921  0AAD  2AAA               	goto	u1255
   922  0AAE  0870               	movf	btemp,w
   923  0AAF  0086               	movwf	6	;volatile
   924  0AB0                     l158
   925                           ;main.c: 508: }
   926  0AB0  0820               	movf	?a_alarm,w
   927  0AB1  21F4  120A  158A   	fcall	_get_date
   928  0AB4  0820               	movf	?a_alarm,w
   929  0AB5  0720               	addwf	?a_alarm,w
   930  0AB6  3EFE               	addlw	-2
   931  0AB7  3E15               	addlw	_low^(0+256)
   932  0AB8  0084               	movwf	4
   933  0AB9  1783               	bsf	3,7
   934  0ABA  0800               	movf	0,w
   935  0ABB  00F2               	movwf	btemp+2
   936  0ABC  0A84               	incf	4
   937  0ABD  0800               	movf	0,w
   938  0ABE  00F3               	movwf	btemp+3
   939  0ABF  0871               	movf	btemp+1,w
   940  0AC0  0273               	subwf	btemp+3,w
   941  0AC1  1D03               	btfss	3,2
   942  0AC2  2AC5               	goto	u1265
   943  0AC3  0870               	movf	btemp,w
   944  0AC4  0272               	subwf	btemp+2,w
   945  0AC5                     u1265
   946  0AC5  1C03               	btfss	3,0
   947  0AC6  2AE2               	goto	l159
   948                           ;main.c: 510: {
   949  0AC7  30CE               	movlw	-50
   950  0AC8  120A  118A  2568   	fcall	_LCD_WriteControl
   951                           ;main.c: 512: LCD_DisplayCharacter(channel_i+0x
      +                          30);
   952  0ACB  0820               	movf	?a_alarm,w
   953  0ACC  3E30               	addlw	48
   954  0ACD  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
   955                           ;main.c: 513: LCD_DisplayCharacter('L');
   956  0AD0  304C               	movlw	76
   957  0AD1  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
      +       120A  158A         
   958                           ;main.c: 514: PORTB=0x01<<(channel_i-1);
   959  0AD6  3001               	movlw	1
   960  0AD7  00F0               	movwf	btemp
   961  0AD8  0320               	decf	?a_alarm,w
   962  0AD9  00F1               	movwf	btemp+1
   963  0ADA  0AF1               	incf	btemp+1
   964  0ADB  2ADE               	goto	u1274
   965  0ADC                     u1275
   966  0ADC  1003               	bcf	3,0
   967  0ADD  0DF0               	rlf	btemp
   968  0ADE                     u1274
   969  0ADE  0BF1               	decfsz	btemp+1
   970  0ADF  2ADC               	goto	u1275
   971  0AE0  0870               	movf	btemp,w
   972  0AE1  0086               	movwf	6	;volatile
   973  0AE2                     l159
   974                           ;main.c: 515: }
   975  0AE2  0AA0               	incf	?a_alarm
   976  0AE3  3006               	movlw	6
   977  0AE4  0220               	subwf	?a_alarm,w
   978  0AE5  1C03               	btfss	3,0
   979  0AE6  2A7A               	goto	l155
   980                           ;main.c: 517: if(auto_count==1)
   981  0AE7  1683               	bsf	3,5
   982  0AE8  0B23               	decfsz	_auto_count^(0+128),w
   983  0AE9  2AF9               	goto	l153
   984                           ;main.c: 518: {
   985  0AEA  30CE               	movlw	-50
   986  0AEB  120A  118A  2568   	fcall	_LCD_WriteControl
   987                           ;main.c: 520: LCD_DisplayCharacter(' ');
   988  0AEE  3020               	movlw	32
   989  0AEF  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
   990                           ;main.c: 521: LCD_DisplayCharacter(' ');
   991  0AF2  3020               	movlw	32
   992  0AF3  120A  118A  25E2   	fcall	_LCD_DisplayCharacter
      +       120A  158A         
   993                           ;main.c: 522: PORTB=0x00;
   994  0AF8  0186               	clrf	6	;volatile
   995                           ;main.c: 523: }
   996                           ;main.c: 525: }
   997  0AF9                     l153
   998  0AF9  1283               	bcf	3,5
   999  0AFA  0008               	return
  1000                           ;main.c: 185: void time_seting()
  1001                           ;main.c: 186: {
  1002  0AFB                     _time_seting
  1003                           ;main.c: 187: if(shift==1)
  1004  0AFB  1683               	bsf	3,5
  1005  0AFC  1303               	bcf	3,6	;carry unused
  1006  0AFD  0B2C               	decfsz	_shift^(0+128),w
  1007  0AFE  2B11               	goto	l27
  1008                           ;main.c: 188: {
  1009  0AFF  0B22               	decfsz	_add^(0+128),w
  1010  0B00  2B07               	goto	l28
  1011                           ;main.c: 190: {
  1012  0B01  0AAA               	incf	_second^(0+128)
  1013                           ;main.c: 192: if(second>59)second=0;
  1014  0B02  303C               	movlw	60
  1015  0B03  022A               	subwf	_second^(0+128),w
  1016  0B04  1803               	btfsc	3,0
  1017  0B05  01AA               	clrf	_second^(0+128)
  1018                           ;main.c: 193: add=0;
  1019  0B06  01A2               	clrf	_add^(0+128)
  1020  0B07                     l28
  1021                           ;main.c: 194: }
  1022  0B07  0B29               	decfsz	_reduce^(0+128),w
  1023  0B08  2B11               	goto	l27
  1024                           ;main.c: 196: {
  1025  0B09  03AA               	decf	_second^(0+128)
  1026                           ;main.c: 198: if(second>59) second=59;
  1027  0B0A  303C               	movlw	60
  1028  0B0B  022A               	subwf	_second^(0+128),w
  1029  0B0C  1C03               	btfss	3,0
  1030  0B0D  2B10               	goto	l31
  1031  0B0E  303B               	movlw	59
  1032  0B0F  00AA               	movwf	_second^(0+128)
  1033  0B10                     l31
  1034                           ;main.c: 199: reduce=0;
  1035  0B10  01A9               	clrf	_reduce^(0+128)
  1036                           ;main.c: 200: }

⌨️ 快捷键说明

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