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

📄 ds18b20.lst

📁 自己学习PIC单片机时改写的DS18b20程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   242  06FA  2EF9               	goto	l12
   243                           ;DS18B20.c: 22: presence=RC1;
   244  06FB  3000               	movlw	0
   245  06FC  1887               	btfsc	7,1
   246  06FD  3001               	movlw	1
   247  06FE  00A6               	movwf	?a_DS18B20_RESET
   248  06FF                     l5
   249                           ;DS18B20.c: 23: }
   250  06FF  08A6               	movf	?a_DS18B20_RESET
   251  0700  1D03               	btfss	3,2
   252  0701  2EE9               	goto	l6
   253                           ;DS18B20.c: 24: { unsigned char _dcnt; _dcnt = 
      +                          (498)/((12*1000L)/(4*1000L))|1; while(--_dcnt !
      +                          = 0) continue; };
   254  0702  30A7               	movlw	-89
   255  0703  00A7               	movwf	?a_DS18B20_RESET+1
   256  0704                     l15
   257  0704  0BA7               	decfsz	?a_DS18B20_RESET+1
   258  0705  2F04               	goto	l15
   259                           ;DS18B20.c: 26: if(RC1)
   260  0706  1C87               	btfss	7,1
   261  0707  2F0A               	goto	l17
   262                           ;DS18B20.c: 27: presence = 0;
   263  0708  01A6               	clrf	?a_DS18B20_RESET
   264                           ;DS18B20.c: 28: else
   265  0709  2F0C               	goto	l2
   266  070A                     l17
   267                           ;DS18B20.c: 29: presence = 1;
   268  070A  01A6               	clrf	?a_DS18B20_RESET
   269  070B  0AA6               	incf	?a_DS18B20_RESET
   270  070C                     l2
   271                           ;DS18B20.c: 30: }
   272  070C  08A6               	movf	?a_DS18B20_RESET
   273  070D  1D03               	btfss	3,2
   274  070E  2EFF               	goto	l5
   275                           ;DS18B20.c: 31: TRISC1=1;
   276  070F  1683               	bsf	3,5
   277  0710  1487               	bsf	7,1
   278                           ;DS18B20.c: 32: }
   279  0711  1283               	bcf	3,5
   280  0712  0008               	return
   281                           ;DS18B20.c: 71: void DS18B20_READ_TEMP()
   282                           ;DS18B20.c: 72: {
   283  0713                     _DS18B20_READ_TEMP
   284                           ;DS18B20.c: 73: DS18B20_RESET();
   285  0713  26E5               	fcall	_DS18B20_RESET
   286                           ;DS18B20.c: 74: DS18B20_WRITE_BYTE(0xCC);
   287  0714  30CC               	movlw	-52
   288  0715  26BC               	fcall	_DS18B20_WRITE_BYTE
   289                           ;DS18B20.c: 75: DS18B20_WRITE_BYTE(0xBE);
   290  0716  30BE               	movlw	-66
   291  0717  26BC               	fcall	_DS18B20_WRITE_BYTE
   292                           ;DS18B20.c: 76: temp_data[0]=DS18B20_READ_BYTE(
      +                          );
   293  0718  2695               	fcall	_DS18B20_READ_BYTE
   294  0719  00B1               	movwf	_temp_data
   295                           ;DS18B20.c: 77: temp_data[1]=DS18B20_READ_BYTE(
      +                          );
   296  071A  2695               	fcall	_DS18B20_READ_BYTE
   297  071B  00B2               	movwf	_temp_data+1
   298                           ;DS18B20.c: 78: DS18B20_RESET();
   299  071C  26E5               	fcall	_DS18B20_RESET
   300                           ;DS18B20.c: 79: DS18B20_WRITE_BYTE(0xCC);
   301  071D  30CC               	movlw	-52
   302  071E  26BC               	fcall	_DS18B20_WRITE_BYTE
   303                           ;DS18B20.c: 80: DS18B20_WRITE_BYTE(0x44);
   304  071F  3044               	movlw	68
   305  0720  2EBC               	ljmp	_DS18B20_WRITE_BYTE
   306                           
   307                           	psect	text4
   308                           ;DS18B20.c: 85: void work_temp()
   309                           ;DS18B20.c: 86: {
   310  061A                     _work_temp
   311                           ;	_flag2 assigned to ?a_work_temp+0
   312  0000                     _work_temp$flag2	set	?a_work_temp
   313                           ;	_flag3 assigned to ?a_work_temp+1
   314  0000                     _work_temp$flag3	set	?a_work_temp+1
   315                           ;	_n assigned to ?a_work_temp+2
   316  0000                     _work_temp$n	set	?a_work_temp+2
   317                           ;DS18B20.c: 87: unsigned char n = 0;
   318  061A  0183               	clrf	3	;select bank 0
   319  061B  01A8               	clrf	?a_work_temp+2
   320                           ;DS18B20.c: 89: unsigned char flag3 = 1,flag2 =
      +                           1;
   321  061C  01A7               	clrf	?a_work_temp+1
   322  061D  0AA7               	incf	?a_work_temp+1
   323  061E  01A6               	clrf	?a_work_temp
   324  061F  0AA6               	incf	?a_work_temp
   325                           ;DS18B20.c: 90: if((temp_data[1]&0xf8)!= 0x00)
   326  0620  0832               	movf	_temp_data+1,w
   327  0621  39F8               	andlw	-8
   328  0622  1903               	btfsc	3,2
   329  0623  2E2E               	goto	l39
   330                           ;DS18B20.c: 91: {
   331  0624  0932               	comf	_temp_data+1,w
   332  0625  00B2               	movwf	_temp_data+1
   333                           ;DS18B20.c: 93: temp_data[0] = ~(temp_data[0])+
      +                          1;
   334  0626  0931               	comf	_temp_data,w
   335  0627  00F0               	movwf	btemp
   336  0628  0A70               	incf	btemp,w
   337  0629  00B1               	movwf	_temp_data
   338                           ;DS18B20.c: 94: n = 1;
   339  062A  01A8               	clrf	?a_work_temp+2
   340  062B  0AA8               	incf	?a_work_temp+2
   341                           ;DS18B20.c: 95: flag = 1;
   342  062C  01A3               	clrf	_flag
   343  062D  0AA3               	incf	_flag
   344  062E                     l39
   345                           ;DS18B20.c: 96: }
   346  062E  0831               	movf	_temp_data,w
   347  062F  00F0               	movwf	btemp
   348  0630  01F1               	clrf	btemp+1
   349  0631  0871               	movf	btemp+1,w
   350  0632  3A80               	xorlw	128
   351  0633  00F2               	movwf	btemp+2
   352  0634  3081               	movlw	129
   353  0635  0272               	subwf	btemp+2,w
   354  0636  3000               	movlw	0
   355                           ;set	bank bits for btemp
   356  0637  1903               	btfsc	3,2
   357  0638  0270               	subwf	btemp,w
   358  0639  1803               	btfsc	3,0
   359                           ;DS18B20.c: 98: {
   360  063A  0AB2               	incf	_temp_data+1
   361                           ;DS18B20.c: 100: }
   362  063B  0831               	movf	_temp_data,w
   363  063C  390F               	andlw	15
   364  063D  00B7               	movwf	_display+4
   365                           ;DS18B20.c: 102: display[0] = ditab[display[4]]
      +                          ;
   366  063E  3000               	movlw	_ditab shr (0+8)
   367  063F  008A               	movwf	10
   368  0640  0837               	movf	_display+4,w
   369  0641  2055               	call	((_ditab+-1)& (0+2047))| (($)& (0+-2048))
   370  0642  00B3               	movwf	_display
   371                           ;DS18B20.c: 103: doth = display[0]/10;
   372  0643  300A               	movlw	10
   373  0644  00F1               	movwf	btemp+1
   374  0645  0833               	movf	_display,w
   375  0646  120A  118A  27C3   	fcall	lbdiv
   376  0649  00A1               	movwf	_doth
   377                           ;DS18B20.c: 104: dotl = display[0]%10;
   378  064A  300A               	movlw	10
   379  064B  00F1               	movwf	btemp+1
   380  064C  0833               	movf	_display,w
   381  064D  120A  118A  27C3   	fcall	lbmod
   382  0650  0870               	movf	btemp,w
   383  0651  00A2               	movwf	_dotl
   384                           ;DS18B20.c: 105: display[4] = ((temp_data[0]&0x
      +                          f0)>>4)|((temp_data[1]&0x07)<<4);
   385  0652  0832               	movf	_temp_data+1,w
   386  0653  3907               	andlw	7
   387  0654  00F0               	movwf	btemp
   388  0655  0EF0               	swapf	btemp
   389  0656  30F0               	movlw	240
   390  0657  05F0               	andwf	btemp
   391  0658  0870               	movf	btemp,w
   392  0659  0831               	movf	_temp_data,w
   393  065A  39F0               	andlw	-16
   394  065B  00F1               	movwf	btemp+1
   395  065C  0EF1               	swapf	btemp+1
   396  065D  300F               	movlw	15
   397  065E  05F1               	andwf	btemp+1
   398  065F  0871               	movf	btemp+1,w
   399  0660  0470               	iorwf	btemp,w
   400  0661  00B7               	movwf	_display+4
   401                           ;DS18B20.c: 106: display[3] = display[4]/100;
   402  0662  3064               	movlw	100
   403  0663  00F1               	movwf	btemp+1
   404  0664  0837               	movf	_display+4,w
   405  0665  120A  118A  27C3   	fcall	lbdiv
   406  0668  00B6               	movwf	_display+3
   407                           ;DS18B20.c: 107: display[2] = display[4]/10%10;
   408  0669  300A               	movlw	10
   409  066A  00F1               	movwf	btemp+1
   410  066B  0837               	movf	_display+4,w
   411  066C  120A  118A  27C3   	fcall	lbdiv
   412  066F  00F0               	movwf	btemp
   413  0670  300A               	movlw	10
   414  0671  00F1               	movwf	btemp+1
   415  0672  0870               	movf	btemp,w
   416  0673  120A  118A  27C3   	fcall	lbmod
   417  0676  0870               	movf	btemp,w
   418  0677  00B5               	movwf	_display+2
   419                           ;DS18B20.c: 108: display[1] = display[4]%10;
   420  0678  300A               	movlw	10
   421  0679  00F1               	movwf	btemp+1
   422  067A  0837               	movf	_display+4,w
   423  067B  120A  118A  27C3   	fcall	lbmod
      +       120A  118A         
   424  0680  0870               	movf	btemp,w
   425  0681  00B4               	movwf	_display+1
   426                           ;DS18B20.c: 109: if(!display[3])
   427  0682  08B6               	movf	_display+3
   428  0683  1D03               	btfss	3,2
   429  0684  2E8E               	goto	l41
   430                           ;DS18B20.c: 110: {
   431  0685  300A               	movlw	10
   432  0686  00B6               	movwf	_display+3
   433                           ;DS18B20.c: 112: flag3 = 0;
   434  0687  01A7               	clrf	?a_work_temp+1
   435                           ;DS18B20.c: 113: if(!display[2])
   436  0688  08B5               	movf	_display+2
   437  0689  1D03               	btfss	3,2
   438  068A  2E8E               	goto	l41
   439                           ;DS18B20.c: 114: {
   440  068B  300A               	movlw	10
   441  068C  00B5               	movwf	_display+2
   442                           ;DS18B20.c: 116: flag2= 0 ;
   443  068D  01A6               	clrf	?a_work_temp
   444                           ;DS18B20.c: 117: }
   445  068E                     l41
   446                           ;DS18B20.c: 119: if(n)
   447  068E  08A8               	movf	?a_work_temp+2
   448  068F  1903               	btfsc	3,2
   449  0690  0008               	return
   450                           ;DS18B20.c: 120: {
   451  0691  300B               	movlw	11
   452  0692  00B6               	movwf	_display+3
   453                           ;DS18B20.c: 122: flag3 = 0;
   454  0693  01A7               	clrf	?a_work_temp+1
   455                           ;DS18B20.c: 123: }
   456  0694  0008               	return
   457                           
   458                           	psect	text5
   459  0000                     
   460  0000                     
   461  0000                     
   462  0000                     
   463  0000                     
   464  0000                     
   465  0000                     
   466  0000                     
   467  0000                     
   468  0000                     
   469  0000                     
   470  0000                     
   471  0000                     
   472  0000                     
   473  0000                     
   474  0000                     
   475  0000                     
   476  0000                     
   477  0000                     
   478  0000                     
   479  0000                     
   480  0000                     
   481  0000                     
   482  0000                     
   483  0000                     
   484  0000                     
   485  0000                     
   486  0000                     
   487  0000                     
   488  0000                     
   489  0000                     
   490  0000                     
   491  0000                     
   492  0000                     
   493  0000                     
   494  0000                     
   495  0000                     
   496  0000                     
   497  0000                     
   498  0000                     
   499  0000                     
   500  0000                     
   501  0000                     
   502  0000                     
   503  0000                     

⌨️ 快捷键说明

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