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

📄 main.lst

📁 基于PIC16F877 温湿度控制器原代码及原理图PCB图
💻 LST
📖 第 1 页 / 共 5 页
字号:
   246  0000                     _ISR$Cycle_L	set	?a_ISR+2
   247                           ;main.c: 59: unsigned int Cycle_L,Cycle_H;
   248  0027  1A8B               	btfsc	11,5
   249  0028  1D0B               	btfss	11,2
   250  0029  286A               	goto	l12
   251                           ;main.c: 61: {
   252  002A  110B               	bcf	11,2
   253                           ;main.c: 63: TMR0 = 240;
   254  002B  30F0               	movlw	-16
   255  002C  1283               	bcf	3,5
   256  002D  1303               	bcf	3,6	;carry unused
   257  002E  0081               	movwf	1	;volatile
   258                           ;main.c: 64: T10mscount++;
   259  002F  1683               	bsf	3,5
   260  0030  0AA4               	incf	_T10mscount^(0+128)
   261                           ;main.c: 65: display();
   262  0031  120A  158A  25FD   	fcall	_display
      +       120A  118A         
   263                           ;main.c: 66: if(T10mscount>=10)
   264  0036  300A               	movlw	10
   265  0037  1683               	bsf	3,5
   266  0038  0224               	subwf	_T10mscount^(0+128),w
   267  0039  1C03               	btfss	3,0
   268  003A  285E               	goto	l13
   269                           ;main.c: 67: {
   270  003B  0AA1               	incf	_Count10ms^(0+128)
   271                           ;main.c: 69: T10mscount = 0;
   272  003C  01A4               	clrf	_T10mscount^(0+128)
   273                           ;main.c: 70: if(Count10ms%10==0) Count100ms=1;
   274  003D  300A               	movlw	10
   275  003E  00F1               	movwf	btemp+1
   276  003F  0821               	movf	_Count10ms^(0+128),w
   277  0040  120A  118A  26CB   	fcall	lbmod
      +       120A  118A         
   278  0045  0870               	movf	btemp,w
   279  0046  1D03               	btfss	3,2
   280  0047  284A               	goto	l14
   281  0048  01A0               	clrf	_Count100ms^(0+128)
   282  0049  0AA0               	incf	_Count100ms^(0+128)
   283  004A                     l14
   284                           ;main.c: 71: if((Count10ms%50)==0) Count500ms =
      +                           1;
   285  004A  3032               	movlw	50
   286  004B  00F1               	movwf	btemp+1
   287  004C  0821               	movf	_Count10ms^(0+128),w
   288  004D  120A  118A  26CB   	fcall	lbmod
      +       120A  118A         
   289  0052  0870               	movf	btemp,w
   290  0053  1D03               	btfss	3,2
   291  0054  2857               	goto	l15
   292  0055  01A3               	clrf	_Count500ms^(0+128)
   293  0056  0AA3               	incf	_Count500ms^(0+128)
   294  0057                     l15
   295                           ;main.c: 72: if(Count10ms>=100)
   296  0057  3064               	movlw	100
   297  0058  0221               	subwf	_Count10ms^(0+128),w
   298  0059  1C03               	btfss	3,0
   299  005A  285E               	goto	l13
   300                           ;main.c: 73: {
   301  005B  01A1               	clrf	_Count10ms^(0+128)
   302                           ;main.c: 75: Count1s = 1;
   303  005C  01A2               	clrf	_Count1s^(0+128)
   304  005D  0AA2               	incf	_Count1s^(0+128)
   305                           ;main.c: 76: }
   306  005E                     l13
   307                           ;main.c: 78: if(Capture_Byte.Dely)
   308  005E  08AB               	movf	(_Capture_Byte+2)^(0+128)
   309  005F  1903               	btfsc	3,2
   310  0060  2865               	goto	l17
   311                           ;main.c: 79: {
   312  0061  0AAB               	incf	(_Capture_Byte+2)^(0+128)
   313                           ;main.c: 81: charg_change();
   314  0062  120A  118A  2100   	fcall	_charg_change
   315  0065                     l17
   316                           ;main.c: 83: }
   317  0065  120A  158A  2628   	fcall	_ReadKey
      +       120A  118A         
   318  006A                     l12
   319                           ;main.c: 85: }
   320  006A  1683               	bsf	3,5
   321  006B  1303               	bcf	3,6	;carry unused
   322  006C  1C0D               	btfss	13,0
   323  006D  2871               	goto	u120
   324  006E  1283               	bcf	3,5
   325  006F  180D               	btfsc	13,0
   326  0070  2877               	goto	u161
   327  0071                     u120
   328  0071  1683               	bsf	3,5
   329  0072  1D0C               	btfss	12,2
   330  0073  28B8               	goto	l11
   331  0074  1283               	bcf	3,5
   332  0075  1D0C               	btfss	12,2
   333  0076  28B8               	goto	l11
   334  0077                     u161
   335                           ;main.c: 89: {
   336  0077  1283               	bcf	3,5
   337  0078  1303               	bcf	3,6	;carry unused
   338  0079  1D0C               	btfss	12,2
   339  007A  2880               	goto	l19
   340                           ;main.c: 91: {
   341  007B  0816               	movf	22,w	;volatile
   342  007C  00D7               	movwf	?a_ISR
   343  007D  01D8               	clrf	?a_ISR+1
   344                           ;main.c: 93: Cycle_L = CCPR1L;
   345  007E  0815               	movf	21,w	;volatile
   346  007F  2884               	goto	L1
   347                           ;main.c: 94: }
   348  0080                     l19
   349                           ;main.c: 96: {Cycle_H = CCPR2H;
   350  0080  081C               	movf	28,w	;volatile
   351  0081  00D7               	movwf	?a_ISR
   352  0082  01D8               	clrf	?a_ISR+1
   353                           ;main.c: 97: Cycle_L = CCPR2L;
   354  0083  081B               	movf	27,w	;volatile
   355  0084                     L1
   356  0084  00D9               	movwf	?a_ISR+2
   357  0085  01DA               	clrf	?a_ISR+3
   358                           ;main.c: 98: }
   359                           ;main.c: 99: CCP1IF=0;
   360  0086  110C               	bcf	12,2
   361                           ;main.c: 100: CCP2IF=0;
   362  0087  100D               	bcf	13,0
   363                           ;main.c: 101: Capture_Byte.Cycle_Byte[Capture_B
      +                          yte.Cap_sampleNum++] = Cycle_H*256 + Cycle_L;
   364  0088  0857               	movf	?a_ISR,w
   365  0089  00F1               	movwf	btemp+1
   366  008A  01F0               	clrf	btemp
   367  008B  0859               	movf	?a_ISR+2,w
   368  008C  07F0               	addwf	btemp
   369  008D  1803               	btfsc	3,0
   370  008E  0AF1               	incf	btemp+1
   371  008F  085A               	movf	?a_ISR+3,w
   372  0090  07F1               	addwf	btemp+1
   373  0091  1683               	bsf	3,5
   374  0092  0AAA               	incf	(_Capture_Byte+1)^(0+128)
   375  0093  032A               	decf	(_Capture_Byte+1)^(0+128),w
   376  0094  00F2               	movwf	btemp+2
   377  0095  0772               	addwf	btemp+2,w
   378  0096  3E03               	addlw	3
   379  0097  3EA9               	addlw	_Capture_Byte
   380  0098  0084               	movwf	4
   381  0099  1383               	bcf	3,7
   382  009A  0870               	movf	btemp,w
   383  009B  0080               	movwf	0
   384  009C  0A84               	incf	4
   385  009D  0871               	movf	btemp+1,w
   386  009E  0080               	movwf	0
   387                           ;main.c: 102: if(Capture_Byte.Cap_sampleNum>=11
      +                          )
   388  009F  300B               	movlw	11
   389  00A0  022A               	subwf	(_Capture_Byte+1)^(0+128),w
   390  00A1  1C03               	btfss	3,0
   391  00A2  28B8               	goto	l11
   392                           ;main.c: 103: {
   393  00A3  01AB               	clrf	(_Capture_Byte+2)^(0+128)
   394                           ;main.c: 105: CCP2IE= 0;
   395  00A4  100D               	bcf	13,0
   396                           ;main.c: 106: CCP1IE= 0;
   397  00A5  110C               	bcf	12,2
   398                           ;main.c: 107: CCP_value();
   399  00A6  120A  158A  2702   	fcall	_CCP_value
      +       120A  118A         
   400                           ;main.c: 108: Capture_Byte.Cap_chNum++;
   401  00AB  1683               	bsf	3,5
   402  00AC  0AA9               	incf	_Capture_Byte^(0+128)
   403                           ;main.c: 109: if(Capture_Byte.Cap_chNum<2)
   404  00AD  3002               	movlw	2
   405  00AE  0229               	subwf	_Capture_Byte^(0+128),w
   406  00AF  1803               	btfsc	3,0
   407  00B0  28B6               	goto	l22
   408                           ;main.c: 110: {
   409  00B1  01AA               	clrf	(_Capture_Byte+1)^(0+128)
   410                           ;main.c: 113: Capture_Byte.Dely = 1;
   411  00B2  01AB               	clrf	(_Capture_Byte+2)^(0+128)
   412  00B3  0AAB               	incf	(_Capture_Byte+2)^(0+128)
   413                           ;main.c: 114: CCP2IE = 1;
   414  00B4  140D               	bsf	13,0
   415                           ;main.c: 115: }
   416  00B5  28B8               	goto	l11
   417  00B6                     l22
   418                           ;main.c: 117: {
   419  00B6  100D               	bcf	13,0
   420                           ;main.c: 119: Capture_Byte.Dely =0;
   421  00B7  01AB               	clrf	(_Capture_Byte+2)^(0+128)
   422                           ;main.c: 120: }
   423                           ;main.c: 121: }
   424                           ;main.c: 124: }
   425  00B8                     l11
   426  00B8  1303               	bcf	3,6	;carry unused
   427  00B9  1283               	bcf	3,5
   428                           
   429                           	psect	intsave_0
   430  007F                     saved_w
   431  007F                     	ds	1
   432                           
   433                           	psect	intret
   434  00D4  0863               	movf	saved_fsr,w
   435  00D5  0084               	movwf	4	;restore FSR
   436  00D6  0864               	movf	saved_pclath,w
   437  00D7  008A               	movwf	10
   438  00D8                     int_restore
   439  00D8  0862               	movf	saved_status,w
   440  00D9  0083               	movwf	3
   441  00DA  0EFF               	swapf	saved_w
   442  00DB  0E7F               	swapf	saved_w,w
   443  00DC  0009               	retfie
   444                           
   445                           	psect	intentry
   446  0004                     int_entry
   447  0004  00FF               	movwf	saved_w
   448  0005  0803               	movf	3,w
   449  0006  0183               	clrf	3
   450  0007  00E2               	movwf	saved_status
   451  0008  0804               	movf	4,w
   452  0009  00E3               	movwf	saved_fsr
   453  000A  080A               	movf	10,w
   454  000B  00E4               	movwf	saved_pclath
   455  000C  018A               	clrf	10
   456                           
   457                           	psect	intsave
   458  0062                     saved_status
   459  0062                     	ds	1
   460  0063                     saved_fsr
   461  0063                     	ds	1
   462  0064                     saved_pclath
   463  0064                     	ds	1
   464                           
   465                           	psect	text3
   466                           ;main.c: 126: void charg_change(void)
   467                           ;main.c: 127: {
   468  0100                     _charg_change
   469                           ;main.c: 128: if(Capture_Byte.Dely>=35)
   470  0100  3023               	movlw	35
   471  0101  1683               	bsf	3,5
   472  0102  1303               	bcf	3,6	;carry unused
   473  0103  022B               	subwf	(_Capture_Byte+2)^(0+128),w
   474  0104  1C03               	btfss	3,0
   475  0105  292D               	goto	l24
   476                           ;main.c: 129: {
   477  0106  110C               	bcf	12,2
   478                           ;main.c: 131: CCP1IF = 0;
   479  0107  1283               	bcf	3,5
   480  0108  110C               	bcf	12,2
   481                           ;main.c: 132: CCP2IE=0;
   482  0109  1683               	bsf	3,5
   483  010A  100D               	bcf	13,0
   484                           ;main.c: 133: CCP2IF = 0;
   485  010B  1283               	bcf	3,5
   486  010C  100D               	bcf	13,0
   487                           ;main.c: 134: Capture_Byte.Dely = 0;
   488  010D  1683               	bsf	3,5
   489  010E  01AB               	clrf	(_Capture_Byte+2)^(0+128)
   490                           ;main.c: 135: Capture_Byte.Cycle_value[Capture_
      +                          Byte.Cap_chNum] = 0;
   491  010F  0829               	movf	_Capture_Byte^(0+128),w
   492  0110  00F0               	movwf	btemp
   493  0111  1003               	bcf	3,0
   494  0112  0DF0               	rlf	btemp
   495  0113  1003               	bcf	3,0

⌨️ 快捷键说明

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