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

📄 18b20lcd.lst

📁 PIC 单片机 1602显示 DS18B20温度采集
💻 LST
📖 第 1 页 / 共 4 页
字号:
   301  0593  082B               	movf	?a_read_byte+2,w
   302  0594  00F1               	movwf	btemp+1
   303  0595  0AF1               	incf	btemp+1
   304  0596  2D99               	goto	u124
   305  0597                     u125
   306  0597  1003               	bcf	3,0
   307  0598  0DF0               	rlf	btemp
   308  0599                     u124
   309  0599  0BF1               	decfsz	btemp+1
   310  059A  2D97               	goto	u125
   311  059B  0870               	movf	btemp,w
   312  059C  04AA               	iorwf	?a_read_byte+1
   313                           ;18b20LCD.c: 199: asm("nop");
   314  059D  0000               	nop	;#
   315                           ;18b20LCD.c: 200: asm("nop");
   316  059E  0000               	nop	;#
   317                           ;18b20LCD.c: 201: asm("nop");
   318  059F  0000               	nop	;#
   319  05A0                     l43
   320                           ;18b20LCD.c: 202: }
   321  05A0  0AAB               	incf	?a_read_byte+2
   322  05A1  3008               	movlw	8
   323  05A2  022B               	subwf	?a_read_byte+2,w
   324  05A3  1C03               	btfss	3,0
   325  05A4  2D87               	goto	l40
   326                           ;18b20LCD.c: 204: return(value);
   327  05A5  082A               	movf	?a_read_byte+1,w
   328                           ;18b20LCD.c: 205: }
   329  05A6  0008               	return
   330  05A7                     _delay
   331                           ;	_d assigned to ?a_delay+0
   332  0000                     _delay$d	set	?a_delay
   333                           ;18b20LCD.c: 126: unsigned int d;
   334  05A7  0183               	clrf	3	;select bank 0
   335  05A8  082D               	movf	?_delay,w
   336  05A9  00AF               	movwf	?a_delay
   337  05AA  082E               	movf	?_delay+1,w
   338  05AB  00B0               	movwf	?a_delay+1
   339                           ;18b20LCD.c: 128: while(--d)
   340  05AC                     l29
   341                           ;18b20LCD.c: 129: {;}
   342  05AC  30FF               	movlw	-1
   343  05AD  07AF               	addwf	?a_delay
   344  05AE  1C03               	btfss	3,0
   345  05AF  03B0               	decf	?a_delay+1
   346  05B0  0830               	movf	?a_delay+1,w
   347  05B1  042F               	iorwf	?a_delay,w
   348  05B2  1903               	btfsc	3,2
   349  05B3  0008               	return
   350  05B4  2DAC               	goto	l29
   351                           ;18b20LCD.c: 131: bit reset(void)
   352                           ;18b20LCD.c: 132: {
   353  05B5                     _reset
   354                           ;18b20LCD.c: 133: static bit presence;
   355  05B5  0183               	clrf	3	;select bank 0
   356  05B6  1205               	bcf	5,4
   357  05B7  1683               	bsf	3,5
   358  05B8  1205               	bcf	5,4
   359                           ;18b20LCD.c: 135: delay(70);
   360  05B9  3046               	movlw	70
   361  05BA  1283               	bcf	3,5
   362  05BB  00AD               	movwf	?_delay
   363  05BC  01AE               	clrf	?_delay+1
   364  05BD  25A7               	fcall	_delay
   365                           ;18b20LCD.c: 138: TRISA4 = 1;
   366  05BE  1683               	bsf	3,5
   367  05BF  1605               	bsf	5,4
   368                           ;18b20LCD.c: 141: while(RA4);
   369  05C0                     l33
   370  05C0  1283               	bcf	3,5
   371  05C1  1A05               	btfsc	5,4
   372  05C2  2DC0               	goto	l33
   373                           ;18b20LCD.c: 142: presence=RA4;
   374  05C3  1020               	bcf	F504/(0+8),F504& (0+7)
   375  05C4  1A05               	btfsc	5,4
   376  05C5  1420               	bsf	F504/(0+8),F504& (0+7)
   377                           ;18b20LCD.c: 143: delay(20);
   378  05C6  3014               	movlw	20
   379  05C7  1283               	bcf	3,5
   380  05C8  1303               	bcf	3,6
   381  05C9  00AD               	movwf	?_delay
   382  05CA  01AE               	clrf	?_delay+1
   383  05CB  25A7               	fcall	_delay
   384                           ;18b20LCD.c: 145: return(presence);
   385  05CC  1003               	bcf	3,0
   386  05CD  1820               	btfsc	F504/(0+8),F504& (0+7)
   387  05CE  1403               	bsf	3,0
   388                           ;18b20LCD.c: 146: }
   389  05CF  0008               	return
   390                           ;18b20LCD.c: 150: bit read_bit(void)
   391                           ;18b20LCD.c: 151: {
   392  05D0                     _read_bit
   393                           ;18b20LCD.c: 152: static bit i;
   394  05D0  0183               	clrf	3	;select bank 0
   395  05D1  1205               	bcf	5,4
   396  05D2  1683               	bsf	3,5
   397  05D3  1205               	bcf	5,4
   398                           ;18b20LCD.c: 155: RA4 = 0; TRISA4 = 0;
   399  05D4  1283               	bcf	3,5
   400  05D5  1205               	bcf	5,4
   401  05D6  1683               	bsf	3,5
   402  05D7  1205               	bcf	5,4
   403                           ;18b20LCD.c: 156: TRISA4 = 1;
   404  05D8  1605               	bsf	5,4
   405                           ;18b20LCD.c: 157: asm("nop");
   406  05D9  0000               	nop	;#
   407                           ;18b20LCD.c: 158: asm("nop");
   408  05DA  0000               	nop	;#
   409                           ;18b20LCD.c: 159: asm("nop");
   410  05DB  0000               	nop	;#
   411                           ;18b20LCD.c: 160: i=RA4;
   412  05DC  1283               	bcf	3,5
   413  05DD  10A0               	bcf	F507/(0+8),F507& (0+7)
   414  05DE  1A05               	btfsc	5,4
   415  05DF  14A0               	bsf	F507/(0+8),F507& (0+7)
   416                           ;18b20LCD.c: 162: delay(3);
   417  05E0  3003               	movlw	3
   418  05E1  00AD               	movwf	?_delay
   419  05E2  01AE               	clrf	?_delay+1
   420  05E3  25A7               	fcall	_delay
   421                           ;18b20LCD.c: 163: return(i);
   422  05E4  1003               	bcf	3,0
   423  05E5  18A0               	btfsc	F507/(0+8),F507& (0+7)
   424  05E6  1403               	bsf	3,0
   425                           ;18b20LCD.c: 164: }
   426  05E7  0008               	return
   427                           ;18b20LCD.c: 168: void write_bit(unsigned char 
      +                          bitval)
   428                           ;18b20LCD.c: 169: {
   429  05E8                     _write_bit
   430                           ;	_bitval assigned to ?a_write_bit+0
   431  0000                     _write_bit$bitval	set	?a_write_bit
   432                           ;_bitval stored from w
   433  05E8  0183               	clrf	3	;select bank 0
   434  05E9  00AC               	movwf	?a_write_bit
   435                           ;18b20LCD.c: 170: RA4 = 0; TRISA4 = 0;
   436  05EA  1205               	bcf	5,4
   437  05EB  1683               	bsf	3,5
   438  05EC  1205               	bcf	5,4
   439                           ;18b20LCD.c: 171: delay(1);
   440  05ED  1283               	bcf	3,5
   441  05EE  01AD               	clrf	?_delay
   442  05EF  0AAD               	incf	?_delay
   443  05F0  01AE               	clrf	?_delay+1
   444  05F1  25A7               	fcall	_delay
   445                           ;18b20LCD.c: 173: if (bitval==1)
   446  05F2  0B2C               	decfsz	?a_write_bit,w
   447  05F3  2DF6               	goto	l38
   448                           ;18b20LCD.c: 174: {
   449  05F4  1683               	bsf	3,5
   450  05F5  1605               	bsf	5,4
   451  05F6                     l38
   452                           ;18b20LCD.c: 177: }
   453  05F6  3003               	movlw	3
   454  05F7  1283               	bcf	3,5
   455  05F8  00AD               	movwf	?_delay
   456  05F9  01AE               	clrf	?_delay+1
   457  05FA  25A7               	fcall	_delay
   458                           ;18b20LCD.c: 180: TRISA4 = 1;
   459  05FB  1683               	bsf	3,5
   460  05FC  1605               	bsf	5,4
   461                           ;18b20LCD.c: 181: }
   462  05FD  1283               	bcf	3,5
   463  05FE  0008               	return
   464                           ;18b20LCD.c: 209: void write_byte(unsigned char
      +                           val)
   465                           ;18b20LCD.c: 210: {
   466  05FF                     _write_byte
   467                           ;	_val assigned to ?a_write_byte+0
   468  0000                     _write_byte$val	set	?a_write_byte
   469                           ;	_temp assigned to ?a_write_byte+1
   470  0000                     _write_byte$temp	set	?a_write_byte+1
   471                           ;	_i assigned to ?a_write_byte+2
   472  0000                     _write_byte$i	set	?a_write_byte+2
   473                           ;_val stored from w
   474  05FF  0183               	clrf	3	;select bank 0
   475  0600  00A9               	movwf	?a_write_byte
   476                           ;18b20LCD.c: 211: unsigned char i;
   477  0601  01AB               	clrf	?a_write_byte+2
   478  0602                     l45
   479                           ;18b20LCD.c: 216: {
   480                           ;18b20LCD.c: 217: temp=val>>i;
   481  0602  0829               	movf	?a_write_byte,w
   482  0603  00F0               	movwf	btemp
   483  0604  082B               	movf	?a_write_byte+2,w
   484  0605  00F1               	movwf	btemp+1
   485  0606  0AF1               	incf	btemp+1
   486  0607  2E0A               	goto	u144
   487  0608                     u145
   488  0608  1003               	bcf	3,0
   489  0609  0CF0               	rrf	btemp
   490  060A                     u144
   491  060A  0BF1               	decfsz	btemp+1
   492  060B  2E08               	goto	u145
   493  060C  0870               	movf	btemp,w
   494  060D  00AA               	movwf	?a_write_byte+1
   495                           ;18b20LCD.c: 218: temp&=0x01;
   496  060E  3001               	movlw	1
   497  060F  05AA               	andwf	?a_write_byte+1
   498                           ;18b20LCD.c: 219: write_bit(temp);
   499  0610  082A               	movf	?a_write_byte+1,w
   500  0611  25E8  120A  118A   	fcall	_write_bit
   501                           ;18b20LCD.c: 221: }
   502  0614  0AAB               	incf	?a_write_byte+2
   503  0615  3008               	movlw	8
   504  0616  022B               	subwf	?a_write_byte+2,w
   505  0617  1C03               	btfss	3,0
   506  0618  2E02               	goto	l45
   507                           ;18b20LCD.c: 222: asm("nop");
   508  0619  0000               	nop	;#
   509                           ;18b20LCD.c: 223: asm("nop");
   510  061A  0000               	nop	;#
   511                           ;18b20LCD.c: 224: asm("nop");
   512  061B  0000               	nop	;#
   513                           ;18b20LCD.c: 225: }
   514  061C  0008               	return
   515                           ;18b20LCD.c: 226: unsigned int read (void)
   516                           ;18b20LCD.c: 227: {
   517  061D                     _read
   518                           ;	_temh assigned to ?a_read+0
   519  0000                     _read$temh	set	?a_read
   520                           ;	_teml assigned to ?a_read+2
   521  0000                     _read$teml	set	?a_read+2
   522                           ;	_value assigned to ?a_read+4
   523  0000                     _read$value	set	?a_read+4
   524                           ;18b20LCD.c: 228: unsigned int temh,teml;
   525  061D  3050               	movlw	80
   526  061E  0183               	clrf	3	;select bank 0
   527  061F  00A7               	movwf	?a_read+4
   528  0620  3005               	movlw	5
   529  0621  00A8               	movwf	?a_read+5
   530                           ;18b20LCD.c: 230: while (reset()) ;
   531  0622                     l49
   532  0622  25B5  120A  118A   	fcall	_reset
   533  0625  1803               	btfsc	3,0
   534  0626  2E22               	goto	l49
   535                           ;18b20LCD.c: 231: write_byte(0XCC);
   536  0627  30CC               	movlw	-52
   537  0628  25FF               	fcall	_write_byte
   538                           ;18b20LCD.c: 232: write_byte(0X44);
   539  0629  3044               	movlw	68
   540  062A  25FF               	fcall	_write_byte
   541                           ;18b20LCD.c: 235: delay(25000);
   542  062B  30A8               	movlw	168
   543  062C  00AD               	movwf	?_delay
   544  062D  3061               	movlw	97
   545  062E  00AE               	movwf	?_delay+1
   546  062F  25A7               	fcall	_delay
   547                           ;18b20LCD.c: 236: while( reset());
   548  0630                     l52
   549  0630  25B5  120A  118A   	fcall	_reset
   550  0633  1803               	btfsc	3,0
   551  0634  2E30               	goto	l52
   552                           ;18b20LCD.c: 237: write_byte(0XCC);
   553  0635  30CC               	movlw	-52
   554  0636  25FF               	fcall	_write_byte
   555                           ;18b20LCD.c: 238: write_byte(0XBE);
   556  0637  30BE               	movlw	-66
   557  0638  25FF               	fcall	_write_byte
   558                           ;18b20LCD.c: 239: teml =read_byte();
   559  0639  2584               	fcall	_read_byte
   560  063A  00A5               	movwf	?a_read+2
   561  063B  01A6               	clrf	?a_read+3
   562                           ;18b20LCD.c: 240: temh=read_byte();
   563  063C  2584               	fcall	_read_byte
   564  063D  00A3               	movwf	?a_read
   565  063E  01A4               	clrf	?a_read+1
   566                           ;18b20LCD.c: 241: TRISA4 = 1;
   567  063F  1683               	bsf	3,5
   568  0640  1605               	bsf	5,4
   569                           ;18b20LCD.c: 242: symbol='+';
   570  0641  302B               	movlw	43
   571  0642  1283               	bcf	3,5
   572  0643  00D1               	movwf	_symbol
   573                           ;18b20LCD.c: 243: value =teml ;
   574  0644  0825               	movf	?a_read+2,w
   575  0645  00A7               	movwf	?a_read+4
   576  0646  0826               	movf	?a_read+3,w
   577  0647  00A8               	movwf	?a_read+5
   578                           ;18b20LCD.c: 244: value += temh<<8;
   579  0648  0823               	movf	?a_read,w
   580  0649  00F1               	movwf	btemp+1
   581  064A  01F0               	clrf	btemp
   582  064B  0870               	movf	btemp,w
   583  064C  07A7               	addwf	?a_read+4
   584  064D  1803               	btfsc	3,0
   585  064E  0AA8               	incf	?a_read+5
   586  064F  0871               	movf	btemp+1,w
   587  0650  07A8               	addwf	?a_read+5
   588                           ;18b20LCD.c: 245: if(value&0xf800){ symbol='-';
      +                          value=~value+1;}
   589  0651  0828               	movf	?a_read+5,w
   590  0652  00F1               	movwf	btemp+1
   591  0653  0827               	movf	?a_read+4,w
   592  0654  00F0               	movwf	btemp
   593  0655  01F0               	clrf	btemp
   594  0656  30F8               	movlw	248
   595  0657  05F1               	andwf	btemp+1
   596  0658  0871               	movf	btemp+1,w
   597  0659  0470               	iorwf	btemp,w
   598  065A  1903               	btfsc	3,2
   599  065B  2E6C               	goto	l55
   600  065C  302D               	movlw	45
   601  065D  00D1               	movwf	_symbol
   602  065E  0828               	movf	?a_read+5,w
   603  065F  00F1               	movwf	btemp+1
   604  0660  0827               	movf	?a_read+4,w
   605  0661  00F0               	movwf	btemp
   606  0662  09F0               	comf	btemp
   607  0663  09F1               	comf	btemp+1
   608  0664  3001               	movlw	1
   609  0665  0770               	addwf	btemp,w
   610  0666  00A7               	movwf	?a_read+4

⌨️ 快捷键说明

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