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

📄 18b20lcd.lst

📁 PIC 单片机 1602显示 DS18B20温度采集
💻 LST
📖 第 1 页 / 共 4 页
字号:
   611  0667  3000               	movlw	0
   612  0668  1803               	btfsc	3,0
   613  0669  3001               	movlw	1
   614  066A  0771               	addwf	btemp+1,w
   615  066B  00A8               	movwf	?a_read+5
   616  066C                     l55
   617                           ;18b20LCD.c: 246: return(value);
   618  066C  0828               	movf	?a_read+5,w
   619  066D  00F1               	movwf	btemp+1
   620  066E  0827               	movf	?a_read+4,w
   621  066F  00F0               	movwf	btemp
   622                           ;18b20LCD.c: 249: }
   623  0670  0008               	return
   624  0671                     _LCD_set_xy
   625                           ;	_x assigned to ?a_LCD_set_xy+0
   626  0000                     _LCD_set_xy$x	set	?a_LCD_set_xy
   627                           ;	_address assigned to ?a_LCD_set_xy+1
   628  0000                     _LCD_set_xy$address	set	?a_LCD_set_xy+1
   629                           ;_x stored from w
   630  0671  0183               	clrf	3	;select bank 0
   631  0672  00A7               	movwf	?a_LCD_set_xy
   632                           ;18b20LCD.c: 83: unsigned char address;
   633  0673  08A6               	movf	?_LCD_set_xy
   634  0674  1D03               	btfss	3,2
   635  0675  2E79               	goto	l20
   636  0676  0827               	movf	?a_LCD_set_xy,w
   637  0677  3E80               	addlw	-128
   638  0678  2E7B               	goto	L1
   639                           ;18b20LCD.c: 85: else address = 0xc0 + x;
   640  0679                     l20
   641  0679  0827               	movf	?a_LCD_set_xy,w
   642  067A  3EC0               	addlw	-64
   643  067B                     L1
   644  067B  00A8               	movwf	?a_LCD_set_xy+1
   645                           ;18b20LCD.c: 86: LCD_write_command( address);
   646  067C  2D4F               	ljmp	_LCD_write_command
   647  067D                     _LCD_write_string
   648                           ;	_X assigned to ?a_LCD_write_string+0
   649  0000                     _LCD_write_string$X	set	?a_LCD_write_string
   650                           ;_X stored from w
   651  067D  0183               	clrf	3	;select bank 0
   652  067E  00A5               	movwf	?a_LCD_write_string
   653                           ;18b20LCD.c: 91: LCD_set_xy( X, Y );
   654  067F  0823               	movf	?_LCD_write_string,w
   655  0680  00A6               	movwf	?_LCD_set_xy
   656  0681  0825               	movf	?a_LCD_write_string,w
   657  0682  2671  120A  118A   	fcall	_LCD_set_xy
   658                           ;18b20LCD.c: 92: while (*s)
   659  0685  2E8E               	goto	l23
   660  0686                     l24
   661                           ;18b20LCD.c: 93: {
   662  0686  0824               	movf	?_LCD_write_string+1,w
   663  0687  0084               	movwf	4
   664  0688  1383               	bcf	3,7
   665  0689  0800               	movf	0,w
   666  068A  255A  120A  118A   	fcall	_LCD_write_data
   667                           ;18b20LCD.c: 95: s ++;
   668  068D  0AA4               	incf	?_LCD_write_string+1
   669  068E                     l23
   670                           ;18b20LCD.c: 96: }
   671  068E  0824               	movf	?_LCD_write_string+1,w
   672  068F  0084               	movwf	4
   673  0690  1383               	bcf	3,7
   674  0691  0880               	movf	0
   675  0692  1903               	btfsc	3,2
   676  0693  0008               	return
   677  0694  2E86               	goto	l24
   678  0695                     _LCD_write_char
   679                           ;	_X assigned to ?a_LCD_write_char+0
   680  0000                     _LCD_write_char$X	set	?a_LCD_write_char
   681                           ;_X stored from w
   682  0695  0183               	clrf	3	;select bank 0
   683  0696  00A3               	movwf	?a_LCD_write_char
   684                           ;18b20LCD.c: 102: LCD_set_xy( X, Y );
   685  0697  0823               	movf	?_LCD_write_char,w
   686  0698  00A6               	movwf	?_LCD_set_xy
   687  0699  0823               	movf	?a_LCD_write_char,w
   688  069A  2671  120A  118A   	fcall	_LCD_set_xy
   689                           ;18b20LCD.c: 103: LCD_write_data( data);
   690  069D  0824               	movf	?_LCD_write_char+1,w
   691  069E  2D5A               	ljmp	_LCD_write_data
   692  069F                     _DS18B20_HEX_to_LCD
   693                           ;	_temp assigned to ?a_DS18B20_HEX_to_LCD+0
   694  0000                     _DS18B20_HEX_to_LCD$temp	set	?a_DS18B20_HEX_to_
      +                          LCD
   695                           ;	_temp2 assigned to ?a_DS18B20_HEX_to_LCD+1
   696  0000                     _DS18B20_HEX_to_LCD$temp2	set	?a_DS18B20_HEX_to
      +                          _LCD+1
   697                           ;18b20LCD.c: 253: char temp;
   698  069F  0183               	clrf	3	;select bank 0
   699  06A0  0824               	movf	?_DS18B20_HEX_to_LCD+1,w
   700  06A1  00F1               	movwf	btemp+1
   701  06A2  0823               	movf	?_DS18B20_HEX_to_LCD,w
   702  06A3  00F0               	movwf	btemp
   703  06A4  3007               	movlw	7
   704  06A5  05F1               	andwf	btemp+1
   705  06A6  3004               	movlw	4
   706  06A7  00F2               	movwf	btemp+2
   707  06A8                     u195
   708  06A8  1003               	bcf	3,0
   709  06A9  0CF1               	rrf	btemp+1
   710  06AA  0CF0               	rrf	btemp
   711  06AB  0BF2               	decfsz	btemp+2
   712  06AC  2EA8               	goto	u195
   713  06AD  0870               	movf	btemp,w
   714  06AE  00A6               	movwf	?a_DS18B20_HEX_to_LCD
   715                           ;18b20LCD.c: 257: if (x&0x800) symbol='-';
   716  06AF  1DA4               	btfss	?_DS18B20_HEX_to_LCD+1,3
   717  06B0  2EB3               	goto	l57
   718  06B1  302D               	movlw	45
   719  06B2  00D1               	movwf	_symbol
   720  06B3                     l57
   721                           ;18b20LCD.c: 258: p[0]=symbol;
   722  06B3  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   723  06B4  0084               	movwf	4
   724  06B5  1383               	bcf	3,7
   725  06B6  0851               	movf	_symbol,w
   726  06B7  0080               	movwf	0
   727                           ;18b20LCD.c: 259: p[1]=temp/100+'0';
   728  06B8  0A25               	incf	?_DS18B20_HEX_to_LCD+2,w
   729  06B9  0084               	movwf	4
   730  06BA  3064               	movlw	100
   731  06BB  00F1               	movwf	btemp+1
   732  06BC  0826               	movf	?a_DS18B20_HEX_to_LCD,w
   733  06BD  120A  118A  276F   	fcall	lbdiv
   734  06C0  3E30               	addlw	48
   735  06C1  0080               	movwf	0
   736                           ;18b20LCD.c: 261: p[2]=temp%100/10+'0';
   737  06C2  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   738  06C3  3E02               	addlw	2
   739  06C4  0084               	movwf	4
   740  06C5  1383               	bcf	3,7
   741  06C6  3064               	movlw	100
   742  06C7  00F1               	movwf	btemp+1
   743  06C8  0826               	movf	?a_DS18B20_HEX_to_LCD,w
   744  06C9  120A  118A  276F   	fcall	lbmod
   745  06CC  0870               	movf	btemp,w
   746  06CD  300A               	movlw	10
   747  06CE  00F1               	movwf	btemp+1
   748  06CF  0870               	movf	btemp,w
   749  06D0  120A  118A  276F   	fcall	lbdiv
   750  06D3  3E30               	addlw	48
   751  06D4  0080               	movwf	0
   752                           ;18b20LCD.c: 263: p[3]=temp%100%10+'0';
   753  06D5  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   754  06D6  3E03               	addlw	3
   755  06D7  0084               	movwf	4
   756  06D8  1383               	bcf	3,7
   757  06D9  3064               	movlw	100
   758  06DA  00F1               	movwf	btemp+1
   759  06DB  0826               	movf	?a_DS18B20_HEX_to_LCD,w
   760  06DC  120A  118A  276F   	fcall	lbmod
   761  06DF  0870               	movf	btemp,w
   762  06E0  300A               	movlw	10
   763  06E1  00F1               	movwf	btemp+1
   764  06E2  0870               	movf	btemp,w
   765  06E3  120A  118A  276F   	fcall	lbmod
      +       120A  118A         
   766  06E8  0870               	movf	btemp,w
   767  06E9  3E30               	addlw	48
   768  06EA  0080               	movwf	0
   769                           ;18b20LCD.c: 264: if (p[1]=='0') {
   770  06EB  0A25               	incf	?_DS18B20_HEX_to_LCD+2,w
   771  06EC  0084               	movwf	4
   772  06ED  1383               	bcf	3,7
   773  06EE  0800               	movf	0,w
   774  06EF  3A30               	xorlw	48
   775  06F0  1D03               	btfss	3,2
   776  06F1  2F03               	goto	l58
   777                           ;18b20LCD.c: 265: if (p[2]=='0') {p[2]=' ';}
   778  06F2  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   779  06F3  3E02               	addlw	2
   780  06F4  0084               	movwf	4
   781  06F5  0800               	movf	0,w
   782  06F6  3A30               	xorlw	48
   783  06F7  1D03               	btfss	3,2
   784  06F8  2EFE               	goto	l59
   785  06F9  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   786  06FA  3E02               	addlw	2
   787  06FB  0084               	movwf	4
   788  06FC  3020               	movlw	32
   789  06FD  0080               	movwf	0
   790  06FE                     l59
   791                           ;18b20LCD.c: 266: p[1]=' ';
   792  06FE  0A25               	incf	?_DS18B20_HEX_to_LCD+2,w
   793  06FF  0084               	movwf	4
   794  0700  1383               	bcf	3,7
   795  0701  3020               	movlw	32
   796  0702  0080               	movwf	0
   797  0703                     l58
   798                           ;18b20LCD.c: 267: }
   799  0703  3071               	movlw	113
   800  0704  00F2               	movwf	btemp+2
   801  0705  3002               	movlw	2
   802  0706  00F3               	movwf	btemp+3
   803  0707  0824               	movf	?_DS18B20_HEX_to_LCD+1,w
   804  0708  00F1               	movwf	btemp+1
   805  0709  0823               	movf	?_DS18B20_HEX_to_LCD,w
   806  070A  00F0               	movwf	btemp
   807  070B  300F               	movlw	15
   808  070C  05F0               	andwf	btemp
   809  070D  01F1               	clrf	btemp+1
   810  070E  120A  118A  24FA   	fcall	lwmul
   811  0711  0874               	movf	btemp+4,w
   812  0712  00A7               	movwf	?a_DS18B20_HEX_to_LCD+1
   813  0713  0875               	movf	btemp+5,w
   814  0714  00A8               	movwf	?a_DS18B20_HEX_to_LCD+2
   815                           ;18b20LCD.c: 269: p[5]=temp2/1000+'0';
   816  0715  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   817  0716  3E05               	addlw	5
   818  0717  0084               	movwf	4
   819  0718  1383               	bcf	3,7
   820  0719  30E8               	movlw	232
   821  071A  00F2               	movwf	btemp+2
   822  071B  3003               	movlw	3
   823  071C  00F3               	movwf	btemp+3
   824  071D  0828               	movf	?a_DS18B20_HEX_to_LCD+2,w
   825  071E  00F1               	movwf	btemp+1
   826  071F  0827               	movf	?a_DS18B20_HEX_to_LCD+1,w
   827  0720  00F0               	movwf	btemp
   828  0721  120A  118A  27A5   	fcall	lwdiv
   829  0724  0874               	movf	btemp+4,w
   830  0725  3E30               	addlw	48
   831  0726  0080               	movwf	0
   832                           ;18b20LCD.c: 270: temp2=temp2%1000;
   833  0727  30E8               	movlw	232
   834  0728  00F2               	movwf	btemp+2
   835  0729  3003               	movlw	3
   836  072A  00F3               	movwf	btemp+3
   837  072B  0828               	movf	?a_DS18B20_HEX_to_LCD+2,w
   838  072C  00F1               	movwf	btemp+1
   839  072D  0827               	movf	?a_DS18B20_HEX_to_LCD+1,w
   840  072E  00F0               	movwf	btemp
   841  072F  120A  118A  27A5   	fcall	lwmod
   842  0732  0870               	movf	btemp,w
   843  0733  00A7               	movwf	?a_DS18B20_HEX_to_LCD+1
   844  0734  0871               	movf	btemp+1,w
   845  0735  00A8               	movwf	?a_DS18B20_HEX_to_LCD+2
   846                           ;18b20LCD.c: 271: p[6]=temp2/100+'0';
   847  0736  0825               	movf	?_DS18B20_HEX_to_LCD+2,w
   848  0737  3E06               	addlw	6
   849  0738  0084               	movwf	4
   850  0739  1383               	bcf	3,7
   851  073A  3064               	movlw	100
   852  073B  00F2               	movwf	btemp+2
   853  073C  01F3               	clrf	btemp+3
   854  073D  0828               	movf	?a_DS18B20_HEX_to_LCD+2,w
   855  073E  00F1               	movwf	btemp+1
   856  073F  0827               	movf	?a_DS18B20_HEX_to_LCD+1,w
   857  0740  00F0               	movwf	btemp
   858  0741  120A  118A  27A5   	fcall	lwdiv
      +       120A  118A         
   859  0746  0874               	movf	btemp+4,w
   860  0747  3E30               	addlw	48
   861  0748  0080               	movwf	0
   862                           ;18b20LCD.c: 277: }
   863  0749  0008               	return
   864                           ;18b20LCD.c: 279: void main()
   865                           ;18b20LCD.c: 280: {
   866  074A                     _main
   867                           ;18b20LCD.c: 281: lcdinit();
   868  074A  2565  120A  118A   	fcall	_lcdinit
   869                           ;18b20LCD.c: 282: LCD_write_string(0,0,cc1);
   870  074D  01A3               	clrf	?_LCD_write_string
   871  074E  3031               	movlw	_cc1
   872  074F  00A4               	movwf	?_LCD_write_string+1
   873  0750  3000               	movlw	0
   874  0751  267D               	fcall	_LCD_write_string
   875  0752                     l62
   876                           ;18b20LCD.c: 283: while(1)
   877                           ;18b20LCD.c: 284: {
   878  0752  261D               	fcall	_read
   879  0753  0870               	movf	btemp,w
   880  0754  00A1               	movwf	_m
   881  0755  0871               	movf	btemp+1,w
   882  0756  00A2               	movwf	_m+1
   883                           ;18b20LCD.c: 287: DS18B20_HEX_to_LCD(m,cc2);
   884  0757  0821               	movf	_m,w
   885  0758  00A3               	movwf	?_DS18B20_HEX_to_LCD
   886  0759  0822               	movf	_m+1,w
   887  075A  00A4               	movwf	?_DS18B20_HEX_to_LCD+1
   888  075B  3042               	movlw	_cc2
   889  075C  00A5               	movwf	?_DS18B20_HEX_to_LCD+2
   890  075D  269F  120A  118A   	fcall	_DS18B20_HEX_to_LCD
   891                           ;18b20LCD.c: 288: delay_nus(50);
   892  0760  3032               	movlw	50
   893  0761  00AA               	movwf	?_delay_nus
   894  0762  01AB               	clrf	?_delay_nus+1
   895  0763  2534               	fcall	_delay_nus
   896                           ;18b20LCD.c: 289: LCD_write_string(0,1,cc2);
   897  0764  01A3               	clrf	?_LCD_write_string
   898  0765  0AA3               	incf	?_LCD_write_string
   899  0766  3042               	movlw	_cc2
   900  0767  00A4               	movwf	?_LCD_write_string+1
   901  0768  3000               	movlw	0
   902  0769  267D               	fcall	_LCD_write_string
   903                           ;18b20LCD.c: 290: delay_nus(50);
   904  076A  3032               	movlw	50
   905  076B  00AA               	movwf	?_delay_nus
   906  076C  01AB               	clrf	?_delay_nus+1
   907  076D  2534               	fcall	_delay_nus
   908                           ;18b20LCD.c: 292: }
   909  076E  2F52               	goto	l62
   910                           
   911                           	psect	rbit_0
   912  0100                     F504
   913  0100                     	ds	1
   914  0101                     F507
   915  0101                     	ds	1
   916  0000                     
   917  0000                     
   918  0000                     
   919  0000                     

⌨️ 快捷键说明

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