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

📄 ds18b20.lst

📁 DS18B20最全驱动.包含CRC8算法.ROM Search等.主机采用AVR mega16或者mega32.原创作品.
💻 LST
📖 第 1 页 / 共 4 页
字号:
 352 00c2 EBE4      		ldi r30,lo8(331)
 353 00c4 F1E0      		ldi r31,hi8(331)
 354               	.LVL21:
 355               	.L20:
 356               	.LBE158:
 357               	.LBE157:
 358               	.LBE156:
 359               	.LBE155:
 360               	.LBE154:
 361               	.LBE153:
 362               	.LM39:
 363 00c6 D898      		cbi 59-32,0
 364               	.LM40:
 365 00c8 D89A      		sbi 59-32,0
 366               	.LM41:
 367 00ca D098      		cbi 58-32,0
 368               	.LM42:
 369 00cc C89B      		sbis 57-32,0
 370 00ce 00C0      		rjmp .L18
 371 00d0 CB01      		movw r24,r22
 372               	.LVL22:
 373 00d2 022E      		mov r0,r18
 374 00d4 00C0      		rjmp 2f
 375 00d6 880F      	1:	lsl r24
 376 00d8 991F      		rol r25
 377 00da 0A94      	2:	dec r0
 378 00dc 02F4      		brpl 1b
 379 00de 482B      		or r20,r24
 380 00e0 00C0      		rjmp .L19
 381               	.LVL23:
 382               	.L18:
 383               	.LM43:
 384 00e2 CB01      		movw r24,r22
 385               	.LVL24:
 386 00e4 022E      		mov r0,r18
 387 00e6 00C0      		rjmp 2f
 388 00e8 880F      	1:	lsl r24
 389 00ea 991F      		rol r25
 390 00ec 0A94      	2:	dec r0
 391 00ee 02F4      		brpl 1b
 392 00f0 8095      		com r24
 393 00f2 4823      		and r20,r24
 394               	.L19:
 395               	.LBB164:
 396               	.LBB163:
 397               	.LBB162:
 398               	.LBB161:
 399               	.LBB160:
 400               	.LBB159:
 401               	.LM44:
 402 00f4 CF01      		movw r24,r30
 403               	.LVL25:
 404               	/* #APP */
 405               	 ;  105 "c:/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
 406 00f6 0197      		1: sbiw r24,1
 407 00f8 01F4      		brne 1b
 408               	 ;  0 "" 2
 409               	/* #NOAPP */
 410               	.LBE159:
 411               	.LBE160:
 412               	.LBE161:
 413               	.LBE162:
 414               	.LBE163:
 415               	.LBE164:
 416               	.LM45:
 417 00fa D09A      		sbi 58-32,0
 418 00fc 2F5F      		subi r18,lo8(-(1))
 419 00fe 3F4F      		sbci r19,hi8(-(1))
 420               	.LM46:
 421 0100 2830      		cpi r18,8
 422 0102 3105      		cpc r19,__zero_reg__
 423 0104 01F4      		brne .L20
 424               	.LM47:
 425 0106 842F      		mov r24,r20
 426               	.LVL26:
 427               	/* epilogue start */
 428 0108 0895      		ret
 429               	.LFE11:
 431               	.global	ReadOneWireID
 433               	ReadOneWireID:
 434               	.LFB9:
 435               	.LM48:
 436 010a CF93      		push r28
 437 010c DF93      		push r29
 438               	/* prologue: function */
 439               	/* frame size = 0 */
 440               	.LM49:
 441 010e 0E94 0000 		call OneWireInit
 442               	.LM50:
 443 0112 83E3      		ldi r24,lo8(51)
 444 0114 0E94 0000 		call WriteOneWire
 445 0118 C0E0      		ldi r28,lo8(0)
 446 011a D0E0      		ldi r29,hi8(0)
 447               	.L24:
 448               	.LM51:
 449 011c 0E94 0000 		call ReadOneWire
 450 0120 FE01      		movw r30,r28
 451 0122 E050      		subi r30,lo8(-(OneWireID))
 452 0124 F040      		sbci r31,hi8(-(OneWireID))
 453 0126 8083      		st Z,r24
 454 0128 2196      		adiw r28,1
 455               	.LM52:
 456 012a C830      		cpi r28,8
 457 012c D105      		cpc r29,__zero_reg__
 458 012e 01F4      		brne .L24
 459               	/* epilogue start */
 460               	.LM53:
 461 0130 DF91      		pop r29
 462 0132 CF91      		pop r28
 463 0134 0895      		ret
 464               	.LFE9:
 466               		.data
 467               	.LC0:
 468 0000 B2E2 CEC2 		.string	"\262\342\316\302\322\354\263\243!"
 468      D2EC B3A3 
 468      2100 
 469               	.LC1:
 470 000a 0D0A 00   		.string	"\r\n"
 471               		.text
 472               	.global	ReadTemperature
 474               	ReadTemperature:
 475               	.LFB12:
 476               	.LM54:
 477 0136 EF92      		push r14
 478 0138 FF92      		push r15
 479 013a 0F93      		push r16
 480 013c 1F93      		push r17
 481 013e DF93      		push r29
 482 0140 CF93      		push r28
 483 0142 CDB7      		in r28,__SP_L__
 484 0144 DEB7      		in r29,__SP_H__
 485 0146 2897      		sbiw r28,8
 486 0148 0FB6      		in __tmp_reg__,__SREG__
 487 014a F894      		cli
 488 014c DEBF      		out __SP_H__,r29
 489 014e 0FBE      		out __SREG__,__tmp_reg__
 490 0150 CDBF      		out __SP_L__,r28
 491               	/* prologue: function */
 492               	/* frame size = 8 */
 493               	.LM55:
 494 0152 1091 0000 		lds r17,ProcessReadT
 495 0156 1130      		cpi r17,lo8(1)
 496 0158 01F4      		brne .L28
 497               	.LM56:
 498 015a 0E94 0000 		call OneWireInit
 499               	.LM57:
 500 015e 8CEC      		ldi r24,lo8(-52)
 501 0160 0E94 0000 		call WriteOneWire
 502               	.LM58:
 503 0164 84E4      		ldi r24,lo8(68)
 504 0166 0E94 0000 		call WriteOneWire
 505               	.LM59:
 506 016a 1093 0000 		sts ReadTFlag,r17
 507 016e 00C0      		rjmp .L36
 508               	.L28:
 509               	.LM60:
 510 0170 8091 0000 		lds r24,ProcessReadT
 511 0174 8230      		cpi r24,lo8(2)
 512 0176 01F0      		breq .+2
 513 0178 00C0      		rjmp .L36
 514               	.LM61:
 515 017a 81E0      		ldi r24,lo8(1)
 516 017c 8093 0000 		sts ProcessReadT,r24
 517               	.LM62:
 518 0180 0E94 0000 		call OneWireInit
 519               	.LM63:
 520 0184 8CEC      		ldi r24,lo8(-52)
 521 0186 0E94 0000 		call WriteOneWire
 522               	.LM64:
 523 018a 8EEB      		ldi r24,lo8(-66)
 524 018c 0E94 0000 		call WriteOneWire
 525 0190 8E01      		movw r16,r28
 526 0192 0F5F      		subi r16,lo8(-(1))
 527 0194 1F4F      		sbci r17,hi8(-(1))
 528               	.LM65:
 529 0196 39E0      		ldi r19,lo8(9)
 530 0198 E32E      		mov r14,r19
 531 019a F12C      		mov r15,__zero_reg__
 532 019c EC0E      		add r14,r28
 533 019e FD1E      		adc r15,r29
 534               	.L30:
 535               	.LM66:
 536 01a0 0E94 0000 		call ReadOneWire
 537 01a4 F801      		movw r30,r16
 538 01a6 8193      		st Z+,r24
 539 01a8 8F01      		movw r16,r30
 540               	.LM67:
 541 01aa EE15      		cp r30,r14
 542 01ac FF05      		cpc r31,r15
 543 01ae 01F4      		brne .L30
 544               	.LM68:
 545 01b0 2A81      		ldd r18,Y+2
 546 01b2 2031      		cpi r18,lo8(16)
 547 01b4 00F4      		brsh .L31
 548               	.LM69:
 549 01b6 81E0      		ldi r24,lo8(1)
 550 01b8 8093 0000 		sts _T,r24
 551               	.L31:
 552               	.LM70:
 553 01bc 922F      		mov r25,r18
 554 01be 80E0      		ldi r24,lo8(0)
 555 01c0 2981      		ldd r18,Y+1
 556 01c2 820F      		add r24,r18
 557 01c4 911D      		adc r25,__zero_reg__
 558 01c6 9093 0000 		sts (DataT)+1,r25
 559 01ca 8093 0000 		sts DataT,r24
 560               	.LM71:
 561 01ce 8091 0000 		lds r24,_T
 562 01d2 8823      		tst r24
 563 01d4 01F0      		breq .L32
 564               	.LM72:
 565 01d6 8091 0000 		lds r24,DataT
 566 01da 9091 0000 		lds r25,(DataT)+1
 567 01de 00C0      		rjmp .L39
 568               	.L32:
 569               	.LM73:
 570 01e0 8091 0000 		lds r24,DataT
 571 01e4 9091 0000 		lds r25,(DataT)+1
 572 01e8 9095      		com r25
 573 01ea 8195      		neg r24
 574 01ec 9F4F      		sbci r25,lo8(-1)
 575               	.L39:
 576 01ee 24E0      		ldi r18,4
 577 01f0 9695      	1:	lsr r25
 578 01f2 8795      		ror r24
 579 01f4 2A95      		dec r18
 580 01f6 01F4      		brne 1b
 581 01f8 9093 0000 		sts (DataT)+1,r25
 582 01fc 8093 0000 		sts DataT,r24
 583               	.LM74:
 584 0200 8091 0000 		lds r24,DataT
 585 0204 9091 0000 		lds r25,(DataT)+1
 586 0208 2091 0000 		lds r18,DataT
 587 020c 3091 0000 		lds r19,(DataT)+1
 588 0210 8535      		cpi r24,85
 589 0212 9105      		cpc r25,__zero_reg__
 590 0214 01F4      		brne .+2
 591 0216 00C0      		rjmp .L34
 592 0218 2F35      		cpi r18,95
 593 021a 3105      		cpc r19,__zero_reg__
 594 021c 01F4      		brne .+2
 595 021e 00C0      		rjmp .L34
 596               	.LM75:
 597 0220 8091 0000 		lds r24,DataT
 598 0224 9091 0000 		lds r25,(DataT)+1
 599 0228 64E6      		ldi r22,lo8(100)
 600 022a 70E0      		ldi r23,hi8(100)
 601 022c 0E94 0000 		call __udivmodhi4
 602 0230 6093 0000 		sts TemperatrueBuffer,r22
 603               	.LM76:
 604 0234 8091 0000 		lds r24,DataT
 605 0238 9091 0000 		lds r25,(DataT)+1
 606 023c 6AE0      		ldi r22,lo8(10)
 607 023e 70E0      		ldi r23,hi8(10)
 608 0240 0E94 0000 		call __udivmodhi4
 609 0244 CB01      		movw r24,r22
 610 0246 6AE0      		ldi r22,lo8(10)
 611 0248 70E0      		ldi r23,hi8(10)
 612 024a 0E94 0000 		call __udivmodhi4
 613 024e 8093 0000 		sts TemperatrueBuffer+1,r24
 614               	.LM77:
 615 0252 8091 0000 		lds r24,DataT
 616 0256 9091 0000 		lds r25,(DataT)+1
 617 025a 6AE0      		ldi r22,lo8(10)
 618 025c 70E0      		ldi r23,hi8(10)
 619 025e 0E94 0000 		call __udivmodhi4
 620 0262 8093 0000 		sts TemperatrueBuffer+2,r24
 621               	.LM78:
 622 0266 8091 0000 		lds r24,DataT
 623 026a 9091 0000 		lds r25,(DataT)+1
 624 026e 6FEF      		ldi r22,lo8(255)
 625 0270 70E0      		ldi r23,hi8(255)
 626 0272 0E94 0000 		call __udivmodhi4
 627 0276 9093 0000 		sts (DataT)+1,r25
 628 027a 8093 0000 		sts DataT,r24
 629               	.LM79:
 630 027e 2091 0000 		lds r18,DataT
 631 0282 3091 0000 		lds r19,(DataT)+1
 632 0286 81E7      		ldi r24,lo8(625)
 633 0288 92E0      		ldi r25,hi8(625)
 634 028a AC01      		movw r20,r24
 635 028c 249F      		mul r18,r20
 636 028e C001      		movw r24,r0
 637 0290 259F      		mul r18,r21
 638 0292 900D      		add r25,r0
 639 0294 349F      		mul r19,r20
 640 0296 900D      		add r25,r0
 641 0298 1124      		clr r1
 642 029a 9093 0000 		sts (DataT)+1,r25
 643 029e 8093 0000 		sts DataT,r24
 644               	.LM80:
 645 02a2 8091 0000 		lds r24,DataT
 646 02a6 9091 0000 		lds r25,(DataT)+1
 647 02aa 64E6      		ldi r22,lo8(100)
 648 02ac 70E0      		ldi r23,hi8(100)
 649 02ae 0E94 0000 		call __udivmodhi4
 650 02b2 CB01      		movw r24,r22
 651 02b4 6AE0      		ldi r22,lo8(10)
 652 02b6 70E0      		ldi r23,hi8(10)
 653 02b8 0E94 0000 		call __udivmodhi4
 654 02bc 8093 0000 		sts TemperatrueBuffer+3,r24
 655               	.LM81:
 656 02c0 8091 0000 		lds r24,DataT
 657 02c4 9091 0000 		lds r25,(DataT)+1
 658 02c8 6AE0      		ldi r22,lo8(10)
 659 02ca 70E0      		ldi r23,hi8(10)
 660 02cc 0E94 0000 		call __udivmodhi4
 661 02d0 CB01      		movw r24,r22
 662 02d2 6AE0      		ldi r22,lo8(10)
 663 02d4 70E0      		ldi r23,hi8(10)
 664 02d6 0E94 0000 		call __udivmodhi4
 665 02da 8093 0000 		sts TemperatrueBuffer+4,r24
 666               	.LM82:
 667 02de 8091 0000 		lds r24,DataT
 668 02e2 9091 0000 		lds r25,(DataT)+1
 669 02e6 6AE0      		ldi r22,lo8(10)
 670 02e8 70E0      		ldi r23,hi8(10)
 671 02ea 0E94 0000 		call __udivmodhi4
 672 02ee 8093 0000 		sts TemperatrueBuffer+5,r24
 673 02f2 00C0      		rjmp .L36
 674               	.L34:
 675 02f4 80E0      		ldi r24,lo8(0)
 676 02f6 90E0      		ldi r25,hi8(0)
 677               	.L35:
 678               	.LM83:
 679 02f8 FC01      		movw r30,r24
 680 02fa E050      		subi r30,lo8(-(TemperatrueBuffer))
 681 02fc F040      		sbci r31,hi8(-(TemperatrueBuffer))
 682 02fe 1082      		st Z,__zero_reg__
 683 0300 0196      		adiw r24,1
 684               	.LM84:
 685 0302 8830      		cpi r24,8
 686 0304 9105      		cpc r25,__zero_reg__
 687 0306 01F4      		brne .L35
 688               	.LM85:
 689 0308 80E0      		ldi r24,lo8(.LC0)
 690 030a 90E0      		ldi r25,hi8(.LC0)

⌨️ 快捷键说明

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