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

📄 18b20.lst

📁 不错的程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   291                           ;18B20.c: 119: asm("nop");
   292  067A  0000               	nop	;#
   293                           ;18B20.c: 120: val=val>>1;
   294  067B  1003               	bcf	3,0
   295  067C  1283               	bcf	3,5
   296  067D  0CB1               	rrf	?a_write_byte+1
   297  067E  0BB2               	decfsz	?a_write_byte+2
   298  067F  2E62               	goto	l17
   299  0680  0008               	return
   300                           
   301                           	psect	text5
   302  0681                     _read_byte
   303                           ;	_i assigned to ?a_read_byte+0
   304  0000                     _read_byte$i	set	?a_read_byte
   305                           ;	_value assigned to ?a_read_byte+1
   306  0000                     _read_byte$value	set	?a_read_byte+1
   307                           ;18B20.c: 126: unsigned char read_byte(void)
   308  0681  0183               	clrf	3	;select bank 0
   309  0682  01B1               	clrf	?a_read_byte+1
   310                           ;18B20.c: 130: static bit j;
   311  0683  3008               	movlw	8
   312  0684  00B0               	movwf	?a_read_byte
   313  0685                     l22
   314                           ;18B20.c: 132: {
   315  0685  1003               	bcf	3,0
   316  0686  0CB1               	rrf	?a_read_byte+1
   317                           ;18B20.c: 134: RA2 = 0; TRISA2 = 0;
   318  0687  1105               	bcf	5,2
   319  0688  1683               	bsf	3,5
   320  0689  1105               	bcf	5,2
   321                           ;18B20.c: 135: asm("nop");
   322  068A  0000               	nop	;#
   323                           ;18B20.c: 136: asm("nop");
   324  068B  0000               	nop	;#
   325                           ;18B20.c: 137: asm("nop");
   326  068C  0000               	nop	;#
   327                           ;18B20.c: 138: asm("nop");
   328  068D  0000               	nop	;#
   329                           ;18B20.c: 139: asm("nop");
   330  068E  0000               	nop	;#
   331                           ;18B20.c: 140: asm("nop");
   332  068F  0000               	nop	;#
   333                           ;18B20.c: 141: TRISA2 =1;
   334  0690  1505               	bsf	5,2
   335                           ;18B20.c: 142: asm("nop");
   336  0691  0000               	nop	;#
   337                           ;18B20.c: 143: asm("nop");
   338  0692  0000               	nop	;#
   339                           ;18B20.c: 144: asm("nop");
   340  0693  0000               	nop	;#
   341                           ;18B20.c: 145: asm("nop");
   342  0694  0000               	nop	;#
   343                           ;18B20.c: 146: asm("nop");
   344  0695  0000               	nop	;#
   345                           ;18B20.c: 147: j=RA2;
   346  0696  1283               	bcf	3,5
   347  0697  1020               	bcf	F542/(0+8),F542& (0+7)
   348  0698  1905               	btfsc	5,2
   349  0699  1420               	bsf	F542/(0+8),F542& (0+7)
   350                           ;18B20.c: 148: if(j) value|=0x80;
   351  069A  1303               	bcf	3,6	;carry unused
   352  069B  1820               	btfsc	F542/(0+8),F542& (0+7)
   353  069C  17B1               	bsf	?a_read_byte+1,7
   354                           ;18B20.c: 149: delay(2,7);
   355  069D  3007               	movlw	7
   356  069E  00B3               	movwf	?_delay
   357  069F  3002               	movlw	2
   358  06A0  2637               	call	_delay
   359  06A1  0BB0               	decfsz	?a_read_byte
   360  06A2  2E85               	goto	l22
   361                           ;18B20.c: 150: }
   362  06A3  0831               	movf	?a_read_byte+1,w
   363                           ;18B20.c: 152: }
   364  06A4  0008               	return	;uses W
   365                           
   366                           	psect	text6
   367  06F2                     _get_temp
   368                           ;	_i assigned to ?a_get_temp+0
   369  0000                     _get_temp$i	set	?a_get_temp
   370                           ;18B20.c: 156: void get_temp()
   371  06F2  1683               	bsf	3,5
   372  06F3  1303               	bcf	3,6	;carry unused
   373  06F4  1505               	bsf	5,2
   374                           ;18B20.c: 160: reset();
   375  06F5  2640               	call	_reset
   376                           ;18B20.c: 161: write_byte(0XCC);
   377  06F6  30CC               	movlw	-52
   378  06F7  265E               	call	_write_byte
   379                           ;18B20.c: 162: write_byte(0X44);
   380  06F8  3044               	movlw	68
   381  06F9  265E               	call	_write_byte
   382                           ;18B20.c: 163: for(i=20;i>0;i--)
   383  06FA  3014               	movlw	20
   384  06FB  00AD               	movwf	?a_get_temp
   385  06FC  01AE               	clrf	?a_get_temp+1
   386  06FD                     l27
   387                           ;18B20.c: 164: {
   388  06FD  26A5               	call	_display
   389  06FE  08AD               	movf	?a_get_temp
   390  06FF  1903               	btfsc	3,2
   391  0700  03AE               	decf	?a_get_temp+1
   392  0701  03AD               	decf	?a_get_temp
   393  0702  082E               	movf	?a_get_temp+1,w
   394  0703  3A80               	xorlw	128
   395  0704  00F9               	movwf	btemp
   396  0705  3080               	movlw	128
   397  0706  0279               	subwf	btemp,w
   398  0707  3001               	movlw	1
   399                           ;set	bank bits (((?a_get_temp+0)))
   400  0708  1903               	btfsc	3,2
   401  0709  022D               	subwf	?a_get_temp,w
   402  070A  1803               	btfsc	3,0
   403  070B  2EFD               	goto	l27
   404                           ;18B20.c: 167: }
   405  070C  2640               	call	_reset
   406                           ;18B20.c: 169: write_byte(0XCC);
   407  070D  30CC               	movlw	-52
   408  070E  265E               	call	_write_byte
   409                           ;18B20.c: 170: write_byte(0XBE);
   410  070F  30BE               	movlw	-66
   411  0710  265E               	call	_write_byte
   412                           ;18B20.c: 171: TLV=read_byte();
   413  0711  2681               	call	_read_byte
   414  0712  00A2               	movwf	_TLV
   415                           ;18B20.c: 172: THV=read_byte();
   416  0713  2681               	call	_read_byte
   417  0714  00A1               	movwf	_THV
   418                           ;18B20.c: 173: TRISA2 =1;
   419  0715  1683               	bsf	3,5
   420  0716  1505               	bsf	5,2
   421                           ;18B20.c: 174: TZ=(TLV>>4)|(THV<<4)&0X3f;
   422  0717  1283               	bcf	3,5
   423  0718  0E21               	swapf	_THV,w
   424  0719  39F0               	andlw	240
   425  071A  393F               	andlw	63
   426  071B  00AF               	movwf	?a_get_temp+2
   427  071C  0E22               	swapf	_TLV,w
   428  071D  390F               	andlw	15
   429  071E  042F               	iorwf	?a_get_temp+2,w
   430  071F  00A4               	movwf	_TZ
   431                           ;18B20.c: 175: TX=TLV<<4;
   432  0720  0E22               	swapf	_TLV,w
   433  0721  39F0               	andlw	240
   434  0722  00A3               	movwf	_TX
   435                           ;18B20.c: 176: if(TZ>100) TZ/100;
   436                           ;18B20.c: 177: ge=TZ%10;
   437  0723  300A               	movlw	10
   438  0724  00FA               	movwf	btemp+1
   439  0725  0824               	movf	_TZ,w
   440  0726  2786               	call	lbmod
   441  0727  0879               	movf	btemp,w
   442  0728  00A6               	movwf	_ge
   443                           ;18B20.c: 178: shi=TZ/10;
   444  0729  300A               	movlw	10
   445  072A  00FA               	movwf	btemp+1
   446  072B  0824               	movf	_TZ,w
   447  072C  2786               	call	lbdiv
   448  072D  00A8               	movwf	_shi
   449                           ;18B20.c: 179: wd=0;
   450  072E  01AB               	clrf	_wd
   451  072F  01AC               	clrf	_wd+1
   452                           ;18B20.c: 180: if (TX & 0x80) wd=wd+5000;
   453  0730  1FA3               	btfss	_TX,7
   454  0731  2F38               	goto	l31
   455  0732  3088               	movlw	136
   456  0733  07AB               	addwf	_wd
   457  0734  1803               	btfsc	3,0
   458  0735  0AAC               	incf	_wd+1
   459  0736  3013               	movlw	19
   460  0737  07AC               	addwf	_wd+1
   461  0738                     l31
   462                           ;18B20.c: 181: if (TX & 0x40) wd=wd+2500;
   463  0738  1F23               	btfss	_TX,6
   464  0739  2F40               	goto	l32
   465  073A  30C4               	movlw	196
   466  073B  07AB               	addwf	_wd
   467  073C  1803               	btfsc	3,0
   468  073D  0AAC               	incf	_wd+1
   469  073E  3009               	movlw	9
   470  073F  07AC               	addwf	_wd+1
   471  0740                     l32
   472                           ;18B20.c: 182: if (TX & 0x20) wd=wd+1250;
   473  0740  1EA3               	btfss	_TX,5
   474  0741  2F48               	goto	l33
   475  0742  30E2               	movlw	226
   476  0743  07AB               	addwf	_wd
   477  0744  1803               	btfsc	3,0
   478  0745  0AAC               	incf	_wd+1
   479  0746  3004               	movlw	4
   480  0747  07AC               	addwf	_wd+1
   481  0748                     l33
   482                           ;18B20.c: 183: if (TX & 0x10) wd=wd+625;
   483  0748  1E23               	btfss	_TX,4
   484  0749  2F50               	goto	l34
   485  074A  3071               	movlw	113
   486  074B  07AB               	addwf	_wd
   487  074C  1803               	btfsc	3,0
   488  074D  0AAC               	incf	_wd+1
   489  074E  3002               	movlw	2
   490  074F  07AC               	addwf	_wd+1
   491  0750                     l34
   492                           ;18B20.c: 184: shifen=wd/1000;
   493  0750  30E8               	movlw	232
   494  0751  00FB               	movwf	btemp+2
   495  0752  3003               	movlw	3
   496  0753  00FC               	movwf	btemp+3
   497  0754  082C               	movf	_wd+1,w
   498  0755  00FA               	movwf	btemp+1
   499  0756  082B               	movf	_wd,w
   500  0757  00F9               	movwf	btemp
   501  0758  27BC               	call	lwdiv
   502  0759  087D               	movf	btemp+4,w
   503  075A  00A9               	movwf	_shifen
   504                           ;18B20.c: 185: baifen=(wd%1000)/100;
   505  075B  30E8               	movlw	232
   506  075C  00FB               	movwf	btemp+2
   507  075D  3003               	movlw	3
   508  075E  00FC               	movwf	btemp+3
   509  075F  082C               	movf	_wd+1,w
   510  0760  00FA               	movwf	btemp+1
   511  0761  082B               	movf	_wd,w
   512  0762  00F9               	movwf	btemp
   513  0763  27BC               	call	lwmod
   514  0764  3064               	movlw	100
   515  0765  00FB               	movwf	btemp+2
   516  0766  3000               	movlw	0
   517  0767  01FC               	clrf	btemp+3
   518  0768  27BC               	call	lwdiv
   519  0769  087D               	movf	btemp+4,w
   520  076A  00A5               	movwf	_baifen
   521                           ;18B20.c: 186: qianfen=(wd%100)/10;
   522  076B  3064               	movlw	100
   523  076C  00FB               	movwf	btemp+2
   524  076D  01FC               	clrf	btemp+3
   525  076E  082C               	movf	_wd+1,w
   526  076F  00FA               	movwf	btemp+1
   527  0770  082B               	movf	_wd,w
   528  0771  00F9               	movwf	btemp
   529  0772  27BC               	call	lwmod
   530  0773  300A               	movlw	10
   531  0774  00FB               	movwf	btemp+2
   532  0775  3000               	movlw	0
   533  0776  01FC               	clrf	btemp+3
   534  0777  27BC               	call	lwdiv
   535  0778  087D               	movf	btemp+4,w
   536  0779  00A7               	movwf	_qianfen
   537                           ;18B20.c: 187: wanfen=wd%10;
   538  077A  300A               	movlw	10
   539  077B  00FB               	movwf	btemp+2
   540  077C  01FC               	clrf	btemp+3
   541  077D  082C               	movf	_wd+1,w
   542  077E  00FA               	movwf	btemp+1
   543  077F  082B               	movf	_wd,w
   544  0780  00F9               	movwf	btemp
   545  0781  27BC               	call	lwmod
   546  0782  0879               	movf	btemp,w
   547  0783  00AA               	movwf	_wanfen
   548                           ;18B20.c: 188: asm("nop");
   549  0784  0000               	nop	;#
   550                           ;18B20.c: 189: }
   551  0785  0008               	return	;W free
   552                           
   553                           	psect	text7
   554  062B                     _main
   555                           ;18B20.c: 193: void main()
   556  062B  262F               	call	_init
   557  062C                     l37
   558                           ;18B20.c: 196: while(1)
   559                           ;18B20.c: 197: {
   560  062C  26F2               	call	_get_temp
   561                           ;18B20.c: 199: display();
   562  062D  26A5               	call	_display
   563  062E  2E2C               	goto	l37
   564                           
   565                           	psect	rbit_0
   566  0100                     F542
                     F542
   567  0100                     	ds	1
   568  0000                     
   569  0000                     
   570  0000                     
   571  0000                     
   572  0000                     
   573  0000                     
   574  0000                     
   575  0000                     
   576  0000                     
   577  0000                     
   578  0000                     
   579  0000                     
   580  0000                     
   581  0000                     
   582  0000                     
   583  0000                     
   584  0000                     
   585  0000                     
   586  0000                     
   587  0000                     
   588  0000                     
   589  0000                     
   590  0000                     
   591  0000                     
   592  0000                     
   593  0000                     
   594  0000                     
   595  0000                     
   596  0000                     
   597  0000                     
   598  0000                     
   599  0000                     
   600  0000                     

⌨️ 快捷键说明

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