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

📄 main.lst

📁 这是使用AVR GCC的读取DS18B20的代码。 代码功能很全
💻 LST
📖 第 1 页 / 共 3 页
字号:
 375 0170 0D00      		.string	"\r"
 378               	c.33:
 379 0172 5448 2B31 		.string	"TH+1 and TL+1 written to scratchpad\r"
 379      2061 6E64 
 379      2054 4C2B 
 379      3120 7772 
 379      6974 7465 
 382               	c.34:
 383 0197 7363 7261 		.string	"scratchpad copied to DS18x20 EEPROM\r"
 383      7463 6870 
 383      6164 2063 
 383      6F70 6965 
 383      6420 746F 
 386               	c.35:
 387 01bc 4453 3138 		.string	"DS18x20 EEPROM copied back to scratchpad\r"
 387      7832 3020 
 387      4545 5052 
 387      4F4D 2063 
 387      6F70 6965 
 390               	c.36:
 391 01e6 5448 2061 		.string	"TH and TL verified\r"
 391      6E64 2054 
 391      4C20 7665 
 391      7269 6669 
 391      6564 0D00 
 394               	c.37:
 395 01fa 7665 7269 		.string	"verify failed\r"
 395      6679 2066 
 395      6169 6C65 
 395      640D 00
 398               	c.38:
 399 0209 5448 2F54 		.string	"TH/TL from EEPROM sensor 1 now : "
 399      4C20 6672 
 399      6F6D 2045 
 399      4550 524F 
 399      4D20 7365 
 402               	c.39:
 403 022b 202F 2000 		.string	" / "
 406               	c.40:
 407 022f 0D00      		.string	"\r"
 410               	c.14:
 411 0231 0D54 6865 		.string	"\rThere is only one sensor -> Demo of \"read_meas_single\":\r"
 411      7265 2069 
 411      7320 6F6E 
 411      6C79 206F 
 411      6E65 2073 
 414               	c.15:
 415 026b 0D00      		.string	"\r"
 418               	c.16:
 419 026d 0D43 6F6E 		.string	"\rConvert_T and Read Sensor by Sensor (reverse order)\r"
 419      7665 7274 
 419      5F54 2061 
 419      6E64 2052 
 419      6561 6420 
 422               	c.17:
 423 02a3 5365 6E73 		.string	"Sensor# "
 423      6F72 2320 
 423      00
 426               	c.18:
 427 02ac 203D 2000 		.string	" = "
 430               	c.19:
 431 02b0 4352 4320 		.string	"CRC Error (lost connection?)"
 431      4572 726F 
 431      7220 286C 
 431      6F73 7420 
 431      636F 6E6E 
 434               	c.20:
 435 02cd 0D00      		.string	"\r"
 438               	c.21:
 439 02cf 5374 6172 		.string	"Start meas. failed (short circuit?)"
 439      7420 6D65 
 439      6173 2E20 
 439      6661 696C 
 439      6564 2028 
 442               	c.22:
 443 02f3 0D43 6F6E 		.string	"\rConvert_T for all Sensors and Read Sensor by Sensor\r"
 443      7665 7274 
 443      5F54 2066 
 443      6F72 2061 
 443      6C6C 2053 
 446               	c.23:
 447 0329 5365 6E73 		.string	"Sensor# "
 447      6F72 2320 
 447      00
 450               	c.24:
 451 0332 203D 2000 		.string	" = "
 454               	c.25:
 455 0336 4352 4320 		.string	"CRC Error (lost connection?)"
 455      4572 726F 
 455      7220 286C 
 455      6F73 7420 
 455      636F 6E6E 
 458               	c.26:
 459 0353 0D00      		.string	"\r"
 462               	c.27:
 463 0355 5374 6172 		.string	"Start meas. failed (short circuit?)"
 463      7420 6D65 
 463      6173 2E20 
 463      6661 696C 
 463      6564 2028 
 466               	c.28:
 467 0379 0D56 6572 		.string	"\rVerbose output\r"
 467      626F 7365 
 467      206F 7574 
 467      7075 740D 
 467      00
 468               		.text
 469               	.global	main
 471               	main:
 472               	.LFB14:
 473               	.LM32:
 474               	/* prologue: frame size=12 */
 475 0194 C0E0      		ldi r28,lo8(__stack - 12)
 476 0196 D0E0      		ldi r29,hi8(__stack - 12)
 477 0198 DEBF      		out __SP_H__,r29
 478 019a CDBF      		out __SP_L__,r28
 479               	/* prologue end (size=4) */
 480               	.LM33:
 481 019c 89E1      		ldi r24,lo8(25)
 482 019e 90E0      		ldi r25,hi8(25)
 483 01a0 0E94 0000 		call uart_init
 484               	.LM34:
 485 01a4 8BEB      		ldi r24,lo8(-69)
 486 01a6 81BF      		out 81-0x20,r24
 487               	.LM35:
 488               	/* #APP */
 489 01a8 7894      		sei
 490               	.LM36:
 491               	/* #NOAPP */
 492 01aa 80E0      		ldi r24,lo8(c.0)
 493 01ac 90E0      		ldi r25,hi8(c.0)
 494 01ae 0E94 0000 		call uart_puts_p
 495               	.LM37:
 496 01b2 80E0      		ldi r24,lo8(c.1)
 497 01b4 90E0      		ldi r25,hi8(c.1)
 498 01b6 0E94 0000 		call uart_puts_p
 499               	.LM38:
 500 01ba 0E94 0000 		call search_sensors
 501 01be C82E      		mov r12,r24
 502               	.LM39:
 503 01c0 9927      		clr r25
 504 01c2 0E94 0000 		call uart_puti
 505               	.LM40:
 506 01c6 80E0      		ldi r24,lo8(c.2)
 507 01c8 90E0      		ldi r25,hi8(c.2)
 508 01ca 0E94 0000 		call uart_puts_p
 509               	.LM41:
 510 01ce DD24      		clr r13
 511 01d0 DC14      		cp r13,r12
 512 01d2 18F5      		brsh .L64
 513 01d4 30E0      		ldi r19,lo8(gSensorIDs)
 514 01d6 E32E      		mov r14,r19
 515 01d8 30E0      		ldi r19,hi8(gSensorIDs)
 516 01da F32E      		mov r15,r19
 517 01dc 00E0      		ldi r16,lo8(0)
 518 01de 10E0      		ldi r17,hi8(0)
 519               	.L31:
 520               	.LM42:
 521 01e0 80E0      		ldi r24,lo8(c.3)
 522 01e2 90E0      		ldi r25,hi8(c.3)
 523 01e4 0E94 0000 		call uart_puts_p
 524               	.LM43:
 525 01e8 0F5F      		subi r16,lo8(-(1))
 526 01ea 1F4F      		sbci r17,hi8(-(1))
 527 01ec C801      		movw r24,r16
 528 01ee 0E94 0000 		call uart_puti
 529               	.LM44:
 530 01f2 80E0      		ldi r24,lo8(c.4)
 531 01f4 90E0      		ldi r25,hi8(c.4)
 532 01f6 0E94 0000 		call uart_puts_p
 533               	.LM45:
 534 01fa 68E0      		ldi r22,lo8(8)
 535 01fc 70E0      		ldi r23,hi8(8)
 536 01fe C701      		movw r24,r14
 537 0200 0E94 0000 		call DS18X20_show_id_uart
 538               	.LM46:
 539 0204 80E0      		ldi r24,lo8(c.5)
 540 0206 90E0      		ldi r25,hi8(c.5)
 541 0208 0E94 0000 		call uart_puts_p
 542               	.LM47:
 543 020c D394      		inc r13
 544 020e 28E0      		ldi r18,lo8(8)
 545 0210 30E0      		ldi r19,hi8(8)
 546 0212 E20E      		add r14,r18
 547 0214 F31E      		adc r15,r19
 548 0216 DC14      		cp r13,r12
 549 0218 18F3      		brlo .L31
 550               	.L64:
 551               	.LM48:
 552 021a DD24      		clr r13
 553 021c DC14      		cp r13,r12
 554 021e E0F5      		brsh .L66
 555 0220 00E0      		ldi r16,lo8(gSensorIDs)
 556 0222 10E0      		ldi r17,hi8(gSensorIDs)
 557 0224 5801      		movw r10,r16
 558 0226 EE24      		clr r14
 559 0228 FF24      		clr r15
 560               	.L39:
 561               	.LM49:
 562 022a 80E0      		ldi r24,lo8(c.6)
 563 022c 90E0      		ldi r25,hi8(c.6)
 564 022e 0E94 0000 		call uart_puts_p
 565               	.LM50:
 566 0232 C701      		movw r24,r14
 567 0234 0196      		adiw r24,1
 568 0236 0E94 0000 		call uart_puti
 569               	.LM51:
 570 023a 80E0      		ldi r24,lo8(c.7)
 571 023c 90E0      		ldi r25,hi8(c.7)
 572 023e 0E94 0000 		call uart_puts_p
 573               	.LM52:
 574 0242 F501      		movw r30,r10
 575 0244 8081      		ld r24,Z
 576 0246 28E0      		ldi r18,lo8(8)
 577 0248 30E0      		ldi r19,hi8(8)
 578 024a A20E      		add r10,r18
 579 024c B31E      		adc r11,r19
 580 024e 8031      		cpi r24,lo8(16)
 581 0250 19F4      		brne .L35
 582               	.LM53:
 583 0252 80E0      		ldi r24,lo8(c.8)
 584 0254 90E0      		ldi r25,hi8(c.8)
 585 0256 02C0      		rjmp .L71
 586               	.L35:
 587               	.LM54:
 588 0258 80E0      		ldi r24,lo8(c.9)
 589 025a 90E0      		ldi r25,hi8(c.9)
 590               	.L71:
 591 025c 0E94 0000 		call uart_puts_p
 592               	.LM55:
 593 0260 80E0      		ldi r24,lo8(c.10)
 594 0262 90E0      		ldi r25,hi8(c.10)
 595 0264 0E94 0000 		call uart_puts_p
 596               	.LM56:
 597 0268 C801      		movw r24,r16
 598 026a 0E94 0000 		call DS18X20_get_power_status
 599 026e 8823      		tst r24
 600 0270 19F4      		brne .L37
 601               	.LM57:
 602 0272 80E0      		ldi r24,lo8(c.11)
 603 0274 90E0      		ldi r25,hi8(c.11)
 604 0276 02C0      		rjmp .L72
 605               	.L37:
 606               	.LM58:
 607 0278 80E0      		ldi r24,lo8(c.12)
 608 027a 90E0      		ldi r25,hi8(c.12)
 609               	.L72:
 610 027c 0E94 0000 		call uart_puts_p
 611               	.LM59:
 612 0280 80E0      		ldi r24,lo8(c.13)
 613 0282 90E0      		ldi r25,hi8(c.13)
 614 0284 0E94 0000 		call uart_puts_p
 615               	.LM60:
 616 0288 D394      		inc r13
 617 028a 0894      		sec
 618 028c E11C      		adc r14,__zero_reg__
 619 028e F11C      		adc r15,__zero_reg__
 620 0290 085F      		subi r16,lo8(-(8))
 621 0292 1F4F      		sbci r17,hi8(-(8))
 622 0294 DC14      		cp r13,r12
 623 0296 48F2      		brlo .L39
 624               	.L66:
 625               	.LM61:
 626 0298 CC20      		tst r12
 627 029a 09F4      		brne .+2
 628 029c 69C0      		rjmp .L40
 629               	.LBB2:
 630               	.LBB3:
 631               	.LM62:
 632 029e 80E0      		ldi r24,lo8(c.29)
 633 02a0 90E0      		ldi r25,hi8(c.29)
 634 02a2 0E94 0000 		call uart_puts_p
 635               	.LM63:
 636 02a6 BE01      		movw r22,r28
 637 02a8 6F5F      		subi r22,lo8(-(1))
 638 02aa 7F4F      		sbci r23,hi8(-(1))
 639 02ac 80E0      		ldi r24,lo8(gSensorIDs)
 640 02ae 90E0      		ldi r25,hi8(gSensorIDs)
 641 02b0 0E94 0000 		call DS18X20_read_scratchpad
 642               	.LM64:
 643 02b4 1B81      		ldd r17,Y+3
 644               	.LM65:
 645 02b6 0C81      		ldd r16,Y+4
 646               	.LM66:
 647 02b8 80E0      		ldi r24,lo8(c.30)
 648 02ba 90E0      		ldi r25,hi8(c.30)
 649 02bc 0E94 0000 		call uart_puts_p
 650               	.LM67:
 651 02c0 812F      		mov r24,r17
 652 02c2 9927      		clr r25
 653 02c4 0E94 0000 		call uart_puti
 654               	.LM68:
 655 02c8 80E0      		ldi r24,lo8(c.31)
 656 02ca 90E0      		ldi r25,hi8(c.31)
 657 02cc 0E94 0000 		call uart_puts_p
 658               	.LM69:
 659 02d0 802F      		mov r24,r16
 660 02d2 9927      		clr r25
 661 02d4 0E94 0000 		call uart_puti
 662               	.LM70:
 663 02d8 80E0      		ldi r24,lo8(c.32)
 664 02da 90E0      		ldi r25,hi8(c.32)
 665 02dc 0E94 0000 		call uart_puts_p
 666               	.LM71:
 667 02e0 0F5F      		subi r16,lo8(-(1))
 668 02e2 1F5F      		subi r17,lo8(-(1))
 669               	.LM72:
 670 02e4 20E6      		ldi r18,lo8(96)
 671 02e6 402F      		mov r20,r16
 672 02e8 612F      		mov r22,r17
 673 02ea 80E0      		ldi r24,lo8(gSensorIDs)
 674 02ec 90E0      		ldi r25,hi8(gSensorIDs)
 675 02ee 0E94 0000 		call DS18X20_write_scratchpad
 676               	.LM73:
 677 02f2 80E0      		ldi r24,lo8(c.33)
 678 02f4 90E0      		ldi r25,hi8(c.33)
 679 02f6 0E94 0000 		call uart_puts_p
 680               	.LM74:
 681 02fa 60E0      		ldi r22,lo8(gSensorIDs)
 682 02fc 70E0      		ldi r23,hi8(gSensorIDs)
 683 02fe 80E0      		ldi r24,lo8(0)
 684 0300 0E94 0000 		call DS18X20_copy_scratchpad
 685               	.LM75:
 686 0304 80E0      		ldi r24,lo8(c.34)
 687 0306 90E0      		ldi r25,hi8(c.34)
 688 0308 0E94 0000 		call uart_puts_p
 689               	.LM76:
 690 030c 80E0      		ldi r24,lo8(gSensorIDs)
 691 030e 90E0      		ldi r25,hi8(gSensorIDs)
 692 0310 0E94 0000 		call DS18X20_recall_E2
 693               	.LM77:
 694 0314 80E0      		ldi r24,lo8(c.35)
 695 0316 90E0      		ldi r25,hi8(c.35)
 696 0318 0E94 0000 		call uart_puts_p
 697               	.LM78:
 698 031c BE01      		movw r22,r28
 699 031e 6F5F      		subi r22,lo8(-(1))
 700 0320 7F4F      		sbci r23,hi8(-(1))
 701 0322 80E0      		ldi r24,lo8(gSensorIDs)
 702 0324 90E0      		ldi r25,hi8(gSensorIDs)
 703 0326 0E94 0000 		call DS18X20_read_scratchpad
 704               	.LM79:
 705 032a 8B81      		ldd r24,Y+3
 706 032c 1817      		cp r17,r24
 707 032e 31F4      		brne .L41
 708 0330 8C81      		ldd r24,Y+4
 709 0332 0817      		cp r16,r24
 710 0334 19F4      		brne .L41
 711               	.LM80:
 712 0336 80E0      		ldi r24,lo8(c.36)
 713 0338 90E0      		ldi r25,hi8(c.36)
 714 033a 02C0      		rjmp .L73
 715               	.L41:
 716               	.LM81:
 717 033c 80E0      		ldi r24,lo8(c.37)
 718 033e 90E0      		ldi r25,hi8(c.37)
 719               	.L73:
 720 0340 0E94 0000 		call uart_puts_p
 721               	.LM82:

⌨️ 快捷键说明

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