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

📄 onewire.lst

📁 这是使用AVR GCC的读取DS18B20的代码。 代码功能很全
💻 LST
📖 第 1 页 / 共 2 页
字号:
 313 016c F091 0000 		lds r31,(OW_IN)+1
 314 0170 E081      		ld r30,Z
 315 0172 2091 0000 		lds r18,OW_PIN_MASK
 316 0176 E223      		and r30,r18
 317 0178 09F4      		brne .L14
 318 017a 3E2F      		mov r19,r30
 319               	.L14:
 320               	.LBB12:
 321               	.LM44:
 322 017c 89E5      		ldi r24,lo8(89)
 323 017e 90E0      		ldi r25,hi8(89)
 324               	.LBB13:
 325               	.LM45:
 326               	/* #APP */
 327 0180 8115      		cp  r24,__zero_reg__ 
 328 0182 9105      		cpc r25,__zero_reg__ 
 329 0184 11F0      		breq L_Exit_200       
 330               		L_LOOP_200:           
 331 0186 0197      		sbiw r24,1            
 332 0188 F1F7      		brne L_LOOP_200       
 333               		L_Exit_200:           
 334               		
 335               	/* #NOAPP */
 336               	.LBE13:
 337               	.LBE12:
 338               	.LM46:
 339 018a E091 0000 		lds r30,OW_DDR
 340 018e F091 0000 		lds r31,(OW_DDR)+1
 341 0192 2095      		com r18
 342 0194 8081      		ld r24,Z
 343 0196 8223      		and r24,r18
 344 0198 8083      		st Z,r24
 345               	.LM47:
 346 019a 4FBF      		out 95-0x20,r20
 347               	.LM48:
 348 019c 832F      		mov r24,r19
 349 019e 9927      		clr r25
 350               	/* epilogue: frame size=0 */
 351 01a0 0895      		ret
 352               	/* epilogue end (size=1) */
 353               	/* function ow_bit_io size 102 (101) */
 354               	.LFE8:
 356               	.global	ow_byte_wr
 358               	ow_byte_wr:
 359               	.LFB9:
 360               	.LM49:
 361               	/* prologue: frame size=0 */
 362 01a2 1F93      		push r17
 363 01a4 CF93      		push r28
 364               	/* prologue end (size=2) */
 365 01a6 C82F      		mov r28,r24
 366               	.LM50:
 367 01a8 18E0      		ldi r17,lo8(8)
 368               	.L17:
 369               	.LM51:
 370 01aa 8C2F      		mov r24,r28
 371 01ac 8170      		andi r24,lo8(1)
 372 01ae 0E94 0000 		call ow_bit_io
 373               	.LM52:
 374 01b2 C695      		lsr r28
 375               	.LM53:
 376 01b4 8111      		cpse r24,__zero_reg__
 377 01b6 C068      		ori r28,lo8(-128)
 378               	.L19:
 379               	.LM54:
 380 01b8 1150      		subi r17,lo8(-(-1))
 381 01ba B9F7      		brne .L17
 382               	.LM55:
 383 01bc 8C2F      		mov r24,r28
 384 01be 9927      		clr r25
 385               	/* epilogue: frame size=0 */
 386 01c0 CF91      		pop r28
 387 01c2 1F91      		pop r17
 388 01c4 0895      		ret
 389               	/* epilogue end (size=3) */
 390               	/* function ow_byte_wr size 20 (15) */
 391               	.LFE9:
 393               	.global	ow_byte_rd
 395               	ow_byte_rd:
 396               	.LFB10:
 397               	.LM56:
 398               	/* prologue: frame size=0 */
 399               	/* prologue end (size=0) */
 400               	.LM57:
 401 01c6 8FEF      		ldi r24,lo8(-1)
 402 01c8 0E94 0000 		call ow_byte_wr
 403               	.LM58:
 404 01cc 9927      		clr r25
 405               	/* epilogue: frame size=0 */
 406 01ce 0895      		ret
 407               	/* epilogue end (size=1) */
 408               	/* function ow_byte_rd size 5 (4) */
 409               	.LFE10:
 411               	.global	ow_rom_search
 413               	ow_rom_search:
 414               	.LFB11:
 415               	.LM59:
 416               	/* prologue: frame size=0 */
 417 01d0 DF92      		push r13
 418 01d2 EF92      		push r14
 419 01d4 FF92      		push r15
 420 01d6 0F93      		push r16
 421 01d8 1F93      		push r17
 422 01da CF93      		push r28
 423 01dc DF93      		push r29
 424               	/* prologue end (size=7) */
 425 01de E82E      		mov r14,r24
 426 01e0 EB01      		movw r28,r22
 427               	.LM60:
 428 01e2 0E94 0000 		call ow_reset
 429 01e6 182F      		mov r17,r24
 430 01e8 8823      		tst r24
 431 01ea 19F0      		breq .L23
 432               	.LM61:
 433 01ec 8FEF      		ldi r24,lo8(255)
 434 01ee 90E0      		ldi r25,hi8(255)
 435 01f0 32C0      		rjmp .L22
 436               	.L23:
 437               	.LM62:
 438 01f2 80EF      		ldi r24,lo8(-16)
 439 01f4 0E94 0000 		call ow_byte_wr
 440               	.LM63:
 441 01f8 D12E      		mov r13,r17
 442               	.LM64:
 443 01fa 00E4      		ldi r16,lo8(64)
 444               	.L24:
 445               	.LM65:
 446 01fc 88E0      		ldi r24,lo8(8)
 447 01fe F82E      		mov r15,r24
 448               	.L27:
 449               	.LM66:
 450 0200 81E0      		ldi r24,lo8(1)
 451 0202 0E94 0000 		call ow_bit_io
 452 0206 182F      		mov r17,r24
 453               	.LM67:
 454 0208 81E0      		ldi r24,lo8(1)
 455 020a 0E94 0000 		call ow_bit_io
 456 020e 8823      		tst r24
 457 0210 29F0      		breq .L30
 458               	.LM68:
 459 0212 1123      		tst r17
 460 0214 71F0      		breq .L32
 461               	.LM69:
 462 0216 8EEF      		ldi r24,lo8(254)
 463 0218 90E0      		ldi r25,hi8(254)
 464 021a 1DC0      		rjmp .L22
 465               	.L30:
 466               	.LM70:
 467 021c 1123      		tst r17
 468 021e 49F4      		brne .L32
 469               	.LM71:
 470 0220 0E15      		cp r16,r14
 471 0222 28F0      		brlo .L35
 472 0224 8881      		ld r24,Y
 473 0226 80FF      		sbrs r24,0
 474 0228 04C0      		rjmp .L32
 475 022a E016      		cp r14,r16
 476 022c 11F0      		breq .L32
 477               	.L35:
 478               	.LM72:
 479 022e 11E0      		ldi r17,lo8(1)
 480               	.LM73:
 481 0230 D02E      		mov r13,r16
 482               	.L32:
 483               	.LM74:
 484 0232 812F      		mov r24,r17
 485 0234 0E94 0000 		call ow_bit_io
 486               	.LM75:
 487 0238 8881      		ld r24,Y
 488 023a 8695      		lsr r24
 489 023c 8883      		st Y,r24
 490               	.LM76:
 491 023e 1123      		tst r17
 492 0240 11F0      		breq .L36
 493 0242 8068      		ori r24,lo8(-128)
 494 0244 8883      		st Y,r24
 495               	.L36:
 496               	.LM77:
 497 0246 0150      		subi r16,lo8(-(-1))
 498               	.LM78:
 499 0248 FA94      		dec r15
 500 024a D1F6      		brne .L27
 501               	.LM79:
 502 024c 2196      		adiw r28,1
 503               	.LM80:
 504 024e 0023      		tst r16
 505 0250 A9F6      		brne .L24
 506               	.LM81:
 507 0252 8D2D      		mov r24,r13
 508 0254 9927      		clr r25
 509               	.L22:
 510               	/* epilogue: frame size=0 */
 511 0256 DF91      		pop r29
 512 0258 CF91      		pop r28
 513 025a 1F91      		pop r17
 514 025c 0F91      		pop r16
 515 025e FF90      		pop r15
 516 0260 EF90      		pop r14
 517 0262 DF90      		pop r13
 518 0264 0895      		ret
 519               	/* epilogue end (size=8) */
 520               	/* function ow_rom_search size 76 (61) */
 521               	.LFE11:
 523               	.global	ow_command
 525               	ow_command:
 526               	.LFB12:
 527               	.LM82:
 528               	/* prologue: frame size=0 */
 529 0266 0F93      		push r16
 530 0268 1F93      		push r17
 531 026a CF93      		push r28
 532 026c DF93      		push r29
 533               	/* prologue end (size=4) */
 534 026e 082F      		mov r16,r24
 535 0270 EB01      		movw r28,r22
 536               	.LM83:
 537 0272 0E94 0000 		call ow_reset
 538               	.LM84:
 539 0276 2097      		sbiw r28,0
 540 0278 51F0      		breq .L38
 541               	.LM85:
 542 027a 85E5      		ldi r24,lo8(85)
 543 027c 0E94 0000 		call ow_byte_wr
 544               	.LM86:
 545 0280 18E0      		ldi r17,lo8(8)
 546               	.L39:
 547               	.LM87:
 548 0282 8991      		ld r24,Y+
 549 0284 0E94 0000 		call ow_byte_wr
 550               	.LM88:
 551 0288 1150      		subi r17,lo8(-(-1))
 552 028a D9F7      		brne .L39
 553 028c 03C0      		rjmp .L42
 554               	.L38:
 555               	.LM89:
 556 028e 8CEC      		ldi r24,lo8(-52)
 557 0290 0E94 0000 		call ow_byte_wr
 558               	.L42:
 559               	.LM90:
 560 0294 802F      		mov r24,r16
 561 0296 0E94 0000 		call ow_byte_wr
 562               	/* epilogue: frame size=0 */
 563 029a DF91      		pop r29
 564 029c CF91      		pop r28
 565 029e 1F91      		pop r17
 566 02a0 0F91      		pop r16
 567 02a2 0895      		ret
 568               	/* epilogue end (size=5) */
 569               	/* function ow_command size 32 (23) */
 570               	.LFE12:
 572               		.comm OW_PIN_MASK,1,1
 573               		.comm OW_IN,2,1
 574               		.comm OW_OUT,2,1
 575               		.comm OW_DDR,2,1
 576               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 onewire.c
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:20     .text:00000000 ow_reset
                            *COM*:00000002 OW_OUT
                            *COM*:00000001 OW_PIN_MASK
                            *COM*:00000002 OW_DDR
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:53     .text:00000034 L_Exit_24
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:50     .text:00000030 L_LOOP_24
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:85     .text:0000005a L_Exit_44
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:82     .text:00000056 L_LOOP_44
                            *COM*:00000002 OW_IN
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:111    .text:0000007a L_Exit_60
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:108    .text:00000076 L_LOOP_60
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:134    .text:00000088 ow_set_bus
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:167    .text:000000b8 ow_input_pin_state
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:188    .text:000000cc ow_parasite_enable
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:215    .text:000000f2 ow_parasite_disable
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:244    .text:0000011c ow_bit_io
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:276    .text:00000142 L_Exit_159
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:273    .text:0000013e L_LOOP_159
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:306    .text:00000168 L_Exit_180
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:303    .text:00000164 L_LOOP_180
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:333    .text:0000018a L_Exit_200
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:330    .text:00000186 L_LOOP_200
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:358    .text:000001a2 ow_byte_wr
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:395    .text:000001c6 ow_byte_rd
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:413    .text:000001d0 ow_rom_search
C:\DOCUME~1\kelly\LOCALS~1\Temp/ccC8aaaa.s:525    .text:00000266 ow_command

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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