📄 ds18b20-lcd1602-c51-avr.lst
字号:
371 00de 939A sbi 50-0x20,3
372 .LM64:
373 00e0 C695 lsr r28
374 .LM65:
375 00e2 1150 subi r17,lo8(-(-1))
376 00e4 99F7 brne .L36
377 /* epilogue: frame size=0 */
378 00e6 CF91 pop r28
379 00e8 1F91 pop r17
380 00ea 0895 ret
381 /* epilogue end (size=3) */
382 /* function WriteOneChar size 21 (16) */
383 .LFE12:
385 .global Read_Temperature
387 Read_Temperature:
388 .LFB13:
389 .LM66:
390 /* prologue: frame size=0 */
391 00ec 0F93 push r16
392 00ee 1F93 push r17
393 00f0 CF93 push r28
394 00f2 DF93 push r29
395 /* prologue end (size=4) */
396 00f4 082F mov r16,r24
397 .LM67:
398 00f6 B2DF rcall Init_DS18B20
399 .LM68:
400 00f8 8091 0000 lds r24,presence
401 00fc 8130 cpi r24,lo8(1)
402 00fe 11F4 brne .L40
403 .LM69:
404 0100 8FDF rcall beep
405 0102 23C0 rjmp .L39
406 .L40:
407 .LM70:
408 0104 8CEC ldi r24,lo8(-52)
409 0106 DEDF rcall WriteOneChar
410 .LM71:
411 0108 84E4 ldi r24,lo8(68)
412 010a DCDF rcall WriteOneChar
413 .LM72:
414 010c A7DF rcall Init_DS18B20
415 .LM73:
416 010e 85E5 ldi r24,lo8(85)
417 0110 D9DF rcall WriteOneChar
418 0112 C0E0 ldi r28,lo8(0)
419 0114 D0E0 ldi r29,hi8(0)
420 0116 17E0 ldi r17,lo8(7)
421 .L45:
422 .LM74:
423 0118 E02F mov r30,r16
424 011a FF27 clr r31
425 011c 33E0 ldi r19,3
426 011e EE0F 1: lsl r30
427 0120 FF1F rol r31
428 0122 3A95 dec r19
429 0124 E1F7 brne 1b
430 0126 EC0F add r30,r28
431 0128 FD1F adc r31,r29
432 012a E050 subi r30,lo8(-(RomCode))
433 012c F040 sbci r31,hi8(-(RomCode))
434 012e 8081 ld r24,Z
435 0130 C9DF rcall WriteOneChar
436 .LM75:
437 0132 1150 subi r17,lo8(-(-1))
438 0134 2196 adiw r28,1
439 0136 17FF sbrs r17,7
440 0138 EFCF rjmp .L45
441 .LM76:
442 013a 8EEB ldi r24,lo8(-66)
443 013c C3DF rcall WriteOneChar
444 .LM77:
445 013e ACDF rcall ReadOneChar
446 0140 8093 0000 sts temp_data,r24
447 .LM78:
448 0144 A9DF rcall ReadOneChar
449 0146 8093 0000 sts temp_data+1,r24
450 .L39:
451 /* epilogue: frame size=0 */
452 014a DF91 pop r29
453 014c CF91 pop r28
454 014e 1F91 pop r17
455 0150 0F91 pop r16
456 0152 0895 ret
457 /* epilogue end (size=5) */
458 /* function Read_Temperature size 52 (43) */
459 .LFE13:
461 .global lcd_busy
463 lcd_busy:
464 .LFB17:
465 .LM79:
466 /* prologue: frame size=0 */
467 /* prologue end (size=0) */
468 .LM80:
469 0154 D798 cbi 58-0x20,7
470 .LM81:
471 0156 A898 cbi 53-0x20,0
472 .LM82:
473 0158 A99A sbi 53-0x20,1
474 .LM83:
475 015a AA9A sbi 53-0x20,2
476 .L49:
477 .LM84:
478 015c CF99 sbic 57-0x20,7
479 015e FECF rjmp .L49
480 .LM85:
481 0160 AA98 cbi 53-0x20,2
482 .LM86:
483 0162 D79A sbi 58-0x20,7
484 /* epilogue: frame size=0 */
485 0164 0895 ret
486 /* epilogue end (size=1) */
487 /* function lcd_busy size 9 (8) */
488 .LFE17:
490 .global lcd_wcmd
492 lcd_wcmd:
493 .LFB15:
494 .LM87:
495 /* prologue: frame size=0 */
496 0166 CF93 push r28
497 /* prologue end (size=1) */
498 0168 C82F mov r28,r24
499 .LM88:
500 016a 6111 cpse r22,__zero_reg__
501 .LM89:
502 016c F3DF rcall lcd_busy
503 .L53:
504 .LM90:
505 016e A898 cbi 53-0x20,0
506 .LM91:
507 0170 A998 cbi 53-0x20,1
508 .LM92:
509 0172 AA98 cbi 53-0x20,2
510 .LM93:
511 0174 CBBB out 59-0x20,r28
512 .LM94:
513 0176 AA9A sbi 53-0x20,2
514 .LM95:
515 /* #APP */
516 0178 0000 nop
517 .LM96:
518 017a 0000 nop
519 .LM97:
520 /* #NOAPP */
521 017c AA98 cbi 53-0x20,2
522 /* epilogue: frame size=0 */
523 017e CF91 pop r28
524 0180 0895 ret
525 /* epilogue end (size=2) */
526 /* function lcd_wcmd size 17 (14) */
527 .LFE15:
529 .global lcd_init
531 lcd_init:
532 .LFB14:
533 .LM98:
534 /* prologue: frame size=0 */
535 /* prologue end (size=0) */
536 .LM99:
537 0182 8FEF ldi r24,lo8(-1)
538 0184 8ABB out 58-0x20,r24
539 .LM100:
540 0186 8BBB out 59-0x20,r24
541 .LM101:
542 0188 84BB out 52-0x20,r24
543 .LM102:
544 018a 85BB out 53-0x20,r24
545 .LM103:
546 018c 8EE1 ldi r24,lo8(30)
547 018e 90E0 ldi r25,hi8(30)
548 0190 37DF rcall delay_nms
549 .LM104:
550 0192 60E0 ldi r22,lo8(0)
551 0194 88E3 ldi r24,lo8(56)
552 0196 E7DF rcall lcd_wcmd
553 .LM105:
554 0198 85E0 ldi r24,lo8(5)
555 019a 90E0 ldi r25,hi8(5)
556 019c 31DF rcall delay_nms
557 .LM106:
558 019e 60E0 ldi r22,lo8(0)
559 01a0 88E3 ldi r24,lo8(56)
560 01a2 E1DF rcall lcd_wcmd
561 .LM107:
562 01a4 85E0 ldi r24,lo8(5)
563 01a6 90E0 ldi r25,hi8(5)
564 01a8 2BDF rcall delay_nms
565 .LM108:
566 01aa 60E0 ldi r22,lo8(0)
567 01ac 88E3 ldi r24,lo8(56)
568 01ae DBDF rcall lcd_wcmd
569 .LM109:
570 01b0 85E0 ldi r24,lo8(5)
571 01b2 90E0 ldi r25,hi8(5)
572 01b4 25DF rcall delay_nms
573 .LM110:
574 01b6 61E0 ldi r22,lo8(1)
575 01b8 8CE0 ldi r24,lo8(12)
576 01ba D5DF rcall lcd_wcmd
577 .LM111:
578 01bc 85E0 ldi r24,lo8(5)
579 01be 90E0 ldi r25,hi8(5)
580 01c0 1FDF rcall delay_nms
581 .LM112:
582 01c2 61E0 ldi r22,lo8(1)
583 01c4 86E0 ldi r24,lo8(6)
584 01c6 CFDF rcall lcd_wcmd
585 .LM113:
586 01c8 85E0 ldi r24,lo8(5)
587 01ca 90E0 ldi r25,hi8(5)
588 01cc 19DF rcall delay_nms
589 .LM114:
590 01ce 61E0 ldi r22,lo8(1)
591 01d0 862F mov r24,r22
592 01d2 C9DF rcall lcd_wcmd
593 .LM115:
594 01d4 85E0 ldi r24,lo8(5)
595 01d6 90E0 ldi r25,hi8(5)
596 01d8 13DF rcall delay_nms
597 /* epilogue: frame size=0 */
598 01da 0895 ret
599 /* epilogue end (size=1) */
600 /* function lcd_init size 45 (44) */
601 .LFE14:
603 .global lcd_wdat
605 lcd_wdat:
606 .LFB16:
607 .LM116:
608 /* prologue: frame size=0 */
609 01dc 1F93 push r17
610 /* prologue end (size=1) */
611 01de 182F mov r17,r24
612 .LM117:
613 01e0 B9DF rcall lcd_busy
614 .LM118:
615 01e2 A89A sbi 53-0x20,0
616 .LM119:
617 01e4 A998 cbi 53-0x20,1
618 .LM120:
619 01e6 AA98 cbi 53-0x20,2
620 .LM121:
621 01e8 1BBB out 59-0x20,r17
622 .LM122:
623 01ea AA9A sbi 53-0x20,2
624 .LM123:
625 /* #APP */
626 01ec 0000 nop
627 .LM124:
628 01ee 0000 nop
629 .LM125:
630 /* #NOAPP */
631 01f0 AA98 cbi 53-0x20,2
632 /* epilogue: frame size=0 */
633 01f2 1F91 pop r17
634 01f4 0895 ret
635 /* epilogue end (size=2) */
636 /* function lcd_wdat size 15 (12) */
637 .LFE16:
639 .global lcd_pos
641 lcd_pos:
642 .LFB18:
643 .LM126:
644 /* prologue: frame size=0 */
645 /* prologue end (size=0) */
646 .LM127:
647 01f6 61E0 ldi r22,lo8(1)
648 01f8 8068 ori r24,lo8(-128)
649 01fa B5DF rcall lcd_wcmd
650 /* epilogue: frame size=0 */
651 01fc 0895 ret
652 /* epilogue end (size=1) */
653 /* function lcd_pos size 4 (3) */
654 .LFE18:
656 .global writetab
658 writetab:
659 .LFB19:
660 .LM128:
661 /* prologue: frame size=0 */
662 01fe 0F93 push r16
663 0200 1F93 push r17
664 0202 CF93 push r28
665 /* prologue end (size=3) */
666 .LM129:
667 0204 61E0 ldi r22,lo8(1)
668 0206 80E4 ldi r24,lo8(64)
669 0208 AEDF rcall lcd_wcmd
670 020a 00E0 ldi r16,lo8(mytab)
671 020c 10E0 ldi r17,hi8(mytab)
672 020e C7E0 ldi r28,lo8(7)
673 .L65:
674 .LM130:
675 0210 F801 movw r30,r16
676 0212 8191 ld r24,Z+
677 0214 8F01 movw r16,r30
678 0216 E2DF rcall lcd_wdat
679 .LM131:
680 0218 C150 subi r28,lo8(-(-1))
681 021a C7FF sbrs r28,7
682 021c F9CF rjmp .L65
683 /* epilogue: frame size=0 */
684 021e CF91 pop r28
685 0220 1F91 pop r17
686 0222 0F91 pop r16
687 0224 0895 ret
688 /* epilogue end (size=4) */
689 /* function writetab size 20 (13) */
690 .LFE19:
692 .global Ok_Menu
694 Ok_Menu:
695 .LFB20:
696 .LM132:
697 /* prologue: frame size=0 */
698 0226 CF93 push r28
699 /* prologue end (size=1) */
700 .LM133:
701 0228 ACDF rcall lcd_init
702 .LM134:
703 022a 80E0 ldi r24,lo8(0)
704 022c E4DF rcall lcd_pos
705 .LM135:
706 022e C0E0 ldi r28,lo8(0)
707 .LM136:
708 0230 8091 0000 lds r24,cdis1
709 .L79:
710 .LM137:
711 0234 8823 tst r24
712 0236 69F0 breq .L76
713 .LM138:
714 0238 EC2F mov r30,r28
715 023a FF27 clr r31
716 023c E050 subi r30,lo8(-(cdis1))
717 023e F040 sbci r31,hi8(-(cdis1))
718 0240 8081 ld r24,Z
719 0242 CCDF rcall lcd_wdat
720 .LM139:
721 0244 CF5F subi r28,lo8(-(1))
722 0246 EC2F mov r30,r28
723 0248 FF27 clr r31
724 024a E050 subi r30,lo8(-(cdis1))
725 024c F040 sbci r31,hi8(-(cdis1))
726 024e 8081 ld r24,Z
727 0250 F1CF rjmp .L79
728 .L76:
729 .LM140:
730 0252 D5DF rcall writetab
731 .LM141:
732 0254 85E0 ldi r24,lo8(5)
733 0256 90E0 ldi r25,hi8(5)
734 0258 D3DE rcall delay_nms
735 .LM142:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -