📄 ds18b20.lst
字号:
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 + -