main.lst

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

LST
1,336
字号
   255  0056                     	ds	1
   256  0057                     	ds	1
   257  0058                     	ds	1
   258  0059                     	ds	1
   259  005A                     	ds	1
   260  005B                     	ds	1
   261  005C                     	ds	1
   262  005D                     	ds	1
   263  005E                     _date_display_temp3
   264  005E                     	ds	1
   265  005F                     	ds	1
   266  0060                     	ds	1
   267  0061                     	ds	1
   268  0062                     	ds	1
   269  0063                     	ds	1
   270                           
   271                           	psect	idata_0
   272  07D7  3454               	retlw	84
   273  07D8  3468               	retlw	104
   274  07D9  3465               	retlw	101
   275  07DA  3420               	retlw	32
   276  07DB  3476               	retlw	118
   277  07DC  346F               	retlw	111
   278  07DD  346C               	retlw	108
   279  07DE  3474               	retlw	116
   280  07DF  3461               	retlw	97
   281  07E0  3467               	retlw	103
   282  07E1  3465               	retlw	101
   283  07E2  3420               	retlw	32
   284  07E3  3469               	retlw	105
   285  07E4  3473               	retlw	115
   286  07E5  343A               	retlw	58
   287  07E6  3400               	retlw	0
   288  07E7  3441               	retlw	65
   289  07E8  346C               	retlw	108
   290  07E9  3461               	retlw	97
   291  07EA  3472               	retlw	114
   292  07EB  346D               	retlw	109
   293  07EC  3420               	retlw	32
   294  07ED  3476               	retlw	118
   295  07EE  3461               	retlw	97
   296  07EF  346C               	retlw	108
   297  07F0  3475               	retlw	117
   298  07F1  3465               	retlw	101
   299  07F2  343A               	retlw	58
   300  07F3  3420               	retlw	32
   301  07F4  3420               	retlw	32
   302  07F5  3420               	retlw	32
   303  07F6  3420               	retlw	32
   304  07F7  3420               	retlw	32
   305  07F8  3420               	retlw	32
   306  07F9  3400               	retlw	0
   307  07FA  3420               	retlw	32
   308  07FB  3420               	retlw	32
   309  07FC  3420               	retlw	32
   310  07FD  3420               	retlw	32
   311  07FE  3420               	retlw	32
   312  07FF  3400               	retlw	0
   313                           
   314                           	psect	intcode
   315  001D                     _time
   316  001D                     int_func
   317  001D  30FC               	movlw	-4
   318  001E  0183               	clrf	3	;select bank 0
   319  001F  008F               	movwf	15	;volatile
   320                           ;main.c: 90: TMR1L=0x18;
   321  0020  3018               	movlw	24
   322  0021  008E               	movwf	14	;volatile
   323                           ;main.c: 91: TMR1IF=0;
   324  0022  100C               	bcf	12,0
   325                           ;main.c: 92: count++;
   326  0023  1683               	bsf	3,5
   327  0024  0AAD               	incf	_count^(0+128)
   328  0025  1903               	btfsc	3,2
   329  0026  0AAE               	incf	(_count+1)^(0+128)
   330                           ;main.c: 93: if(count>1000)
   331  0027  3003               	movlw	3
   332  0028  022E               	subwf	(_count+1)^(0+128),w
   333  0029  30E9               	movlw	233
   334  002A  1903               	btfsc	3,2
   335  002B  022D               	subwf	_count^(0+128),w
   336  002C  1C03               	btfss	3,0
   337  002D  2899               	goto	l1
   338                           ;main.c: 94: {
   339  002E  01AD               	clrf	_count^(0+128)
   340  002F  01AE               	clrf	(_count+1)^(0+128)
   341                           ;main.c: 96: second++;
   342  0030  0AAA               	incf	_second^(0+128)
   343                           ;main.c: 97: auto_count++;
   344  0031  0AA3               	incf	_auto_count^(0+128)
   345                           ;main.c: 98: if(auto_count>1)
   346  0032  3002               	movlw	2
   347  0033  0223               	subwf	_auto_count^(0+128),w
   348  0034  1C03               	btfss	3,0
   349  0035  2844               	goto	l3
   350                           ;main.c: 99: {
   351  0036  01A3               	clrf	_auto_count^(0+128)
   352                           ;main.c: 101: if((auto_mode==1)&&(2==set))
   353  0037  0B24               	decfsz	_auto_mode^(0+128),w
   354  0038  2844               	goto	l3
   355  0039  082B               	movf	_set^(0+128),w
   356  003A  3A02               	xorlw	2
   357  003B  1D03               	btfss	3,2
   358  003C  2844               	goto	l3
   359                           ;main.c: 102: {
   360  003D  0AE7               	incf	_channel^(0+128)
   361                           ;main.c: 104: if(channel>5)channel=1;
   362  003E  3006               	movlw	6
   363  003F  0267               	subwf	_channel^(0+128),w
   364  0040  1C03               	btfss	3,0
   365  0041  2844               	goto	l3
   366  0042  01E7               	clrf	_channel^(0+128)
   367  0043  0AE7               	incf	_channel^(0+128)
   368                           ;main.c: 106: }
   369                           ;main.c: 107: }
   370  0044                     l3
   371                           ;main.c: 108: if(second>=60)
   372  0044  303C               	movlw	60
   373  0045  022A               	subwf	_second^(0+128),w
   374  0046  1C03               	btfss	3,0
   375  0047  2899               	goto	l1
   376                           ;main.c: 109: {
   377  0048  01AA               	clrf	_second^(0+128)
   378                           ;main.c: 111: minute++;
   379  0049  0AA8               	incf	_minute^(0+128)
   380                           ;main.c: 112: if(minute>=60)
   381  004A  303C               	movlw	60
   382  004B  0228               	subwf	_minute^(0+128),w
   383  004C  1C03               	btfss	3,0
   384  004D  2899               	goto	l1
   385                           ;main.c: 113: {
   386  004E  01A8               	clrf	_minute^(0+128)
   387                           ;main.c: 115: hour++;
   388  004F  0AA5               	incf	_hour^(0+128)
   389                           ;main.c: 116: if(hour>=24)
   390  0050  3018               	movlw	24
   391  0051  0225               	subwf	_hour^(0+128),w
   392  0052  1C03               	btfss	3,0
   393  0053  2899               	goto	l1
   394                           ;main.c: 117: {
   395  0054  01A5               	clrf	_hour^(0+128)
   396                           ;main.c: 119: day++;
   397  0055  0ACB               	incf	_day^(0+128)
   398                           ;main.c: 120: if((year%4==0)&&(year%100!=0)||(y
      +                          ear%400==0))
   399  0056  084E               	movf	(_year+1)^(0+128),w
   400  0057  00F1               	movwf	btemp+1
   401  0058  084D               	movf	_year^(0+128),w
   402  0059  00F0               	movwf	btemp
   403  005A  3003               	movlw	3
   404  005B  05F0               	andwf	btemp
   405  005C  01F1               	clrf	btemp+1
   406  005D  0871               	movf	btemp+1,w
   407  005E  0470               	iorwf	btemp,w
   408  005F  1D03               	btfss	3,2
   409  0060  2871               	goto	u121
   410  0061  3064               	movlw	100
   411  0062  00F2               	movwf	btemp+2
   412  0063  01F3               	clrf	btemp+3
   413  0064  084E               	movf	(_year+1)^(0+128),w
   414  0065  00F1               	movwf	btemp+1
   415  0066  084D               	movf	_year^(0+128),w
   416  0067  00F0               	movwf	btemp
   417  0068  120A  118A  2736   	fcall	lwmod
      +       120A  118A         
   418  006D  0871               	movf	btemp+1,w
   419  006E  0470               	iorwf	btemp,w
   420  006F  1D03               	btfss	3,2
   421  0070  2882               	goto	u140
   422  0071                     u121
   423  0071  3090               	movlw	144
   424  0072  00F2               	movwf	btemp+2
   425  0073  3001               	movlw	1
   426  0074  00F3               	movwf	btemp+3
   427  0075  084E               	movf	(_year+1)^(0+128),w
   428  0076  00F1               	movwf	btemp+1
   429  0077  084D               	movf	_year^(0+128),w
   430  0078  00F0               	movwf	btemp
   431  0079  120A  118A  2736   	fcall	lwmod
      +       120A  118A         
   432  007E  0871               	movf	btemp+1,w
   433  007F  0470               	iorwf	btemp,w
   434  0080  1D03               	btfss	3,2
   435  0081  2885               	goto	l9
   436  0082                     u140
   437                           ;main.c: 121: { if(day>tian2[month-1])
   438  0082  034C               	decf	_month^(0+128),w
   439  0083  3EDB               	addlw	_tian2
   440  0084  2887               	goto	L1
   441                           ;main.c: 122: {
   442                           ;main.c: 124: month++;
   443                           ;main.c: 125: }
   444                           ;main.c: 127: else if(day>tian1[month-1])
   445  0085                     l9
   446  0085  034C               	decf	_month^(0+128),w
   447  0086  3ECF               	addlw	_tian1
   448  0087                     L1
   449  0087  0084               	movwf	4
   450  0088  1383               	bcf	3,7
   451  0089  084B               	movf	_day^(0+128),w
   452  008A  0200               	subwf	0,w
   453  008B  1803               	btfsc	3,0
   454  008C  2890               	goto	l11
   455                           ;main.c: 128: {
   456  008D  01CB               	clrf	_day^(0+128)
   457  008E  0ACB               	incf	_day^(0+128)
   458                           ;main.c: 130: month++;
   459  008F  0ACC               	incf	_month^(0+128)
   460                           ;main.c: 131: }
   461  0090                     l11
   462  0090  300D               	movlw	13
   463  0091  024C               	subwf	_month^(0+128),w
   464  0092  1C03               	btfss	3,0
   465  0093  2899               	goto	l1
   466                           ;main.c: 133: {
   467  0094  01CC               	clrf	_month^(0+128)
   468  0095  0ACC               	incf	_month^(0+128)
   469                           ;main.c: 135: year++;
   470  0096  0ACD               	incf	_year^(0+128)
   471  0097  1903               	btfsc	3,2
   472  0098  0ACE               	incf	(_year+1)^(0+128)
   473                           ;main.c: 136: }
   474                           ;main.c: 138: }
   475                           ;main.c: 139: }
   476                           ;main.c: 140: }
   477                           ;main.c: 141: }
   478  0099                     l1
   479  0099  1303               	bcf	3,6	;carry unused
   480  009A  1283               	bcf	3,5
   481                           
   482                           	psect	intsave_0
   483  007C                     saved_w
   484  007C                     	ds	1
   485                           
   486                           	psect	intret
   487  00AB  0865               	movf	saved_fsr,w
   488  00AC  0084               	movwf	4	;restore FSR
   489  00AD  0866               	movf	saved_pclath,w
   490  00AE  008A               	movwf	10
   491  00AF                     int_restore
   492  00AF  0864               	movf	saved_status,w
   493  00B0  0083               	movwf	3
   494  00B1  0EFC               	swapf	saved_w
   495  00B2  0E7C               	swapf	saved_w,w
   496  00B3  0009               	retfie
   497                           
   498                           	psect	intentry
   499  0004                     int_entry
   500  0004  00FC               	movwf	saved_w
   501  0005  0803               	movf	3,w
   502  0006  0183               	clrf	3
   503  0007  00E4               	movwf	saved_status
   504  0008  0804               	movf	4,w
   505  0009  00E5               	movwf	saved_fsr
   506  000A  080A               	movf	10,w
   507  000B  00E6               	movwf	saved_pclath
   508  000C  018A               	clrf	10
   509                           
   510                           	psect	intsave
   511  0064                     saved_status
   512  0064                     	ds	1
   513  0065                     saved_fsr
   514  0065                     	ds	1
   515  0066                     saved_pclath
   516  0066                     	ds	1
   517                           
   518                           	psect	text6
   519  091B                     _date_display

⌨️ 快捷键说明

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