📄 main.lst
字号:
122:E:/WinAVR/avr/include/util/delay.h **** */
123:E:/WinAVR/avr/include/util/delay.h **** void
124:E:/WinAVR/avr/include/util/delay.h **** _delay_loop_2(uint16_t __count)
125:E:/WinAVR/avr/include/util/delay.h **** {
588 .LM61:
589 01d0 83E3 ldi r24,lo8(1843)
590 01d2 97E0 ldi r25,hi8(1843)
591 .LBB3:
126:E:/WinAVR/avr/include/util/delay.h **** __asm__ volatile (
593 .LM62:
594 /* #APP */
595 01d4 0197 1: sbiw r24,1
596 01d6 F1F7 brne 1b
597 /* #NOAPP */
598 .LBE3:
599 .LBE2:
601 .Ltext4:
24:./ds18b20A.c **** dy(1000);
25:./ds18b20A.c **** cli();
603 .LM63:
604 /* #APP */
605 01d8 F894 cli
26:./ds18b20A.c **** Q_s;
607 .LM64:
608 /* #NOAPP */
609 01da 8B98 cbi 49-0x20,3
610 .LBB4:
612 .Ltext5:
614 .LM65:
615 01dc 8CE7 ldi r24,lo8(124)
616 01de 90E0 ldi r25,hi8(124)
617 .LBB5:
619 .LM66:
620 /* #APP */
621 01e0 0197 1: sbiw r24,1
622 01e2 F1F7 brne 1b
623 /* #NOAPP */
624 .LBE5:
625 .LBE4:
627 .Ltext6:
27:./ds18b20A.c **** dy(67.5);
28:./ds18b20A.c **** if(Q_a) ret=0; //
629 .LM67:
630 01e4 839B sbis 48-0x20,3
631 01e6 02C0 rjmp .L163
633 .LM68:
634 01e8 20E0 ldi r18,lo8(0)
635 01ea 01C0 rjmp .L164
636 .L163:
29:./ds18b20A.c **** else ret=1;
638 .LM69:
639 01ec 21E0 ldi r18,lo8(1)
640 .L164:
30:./ds18b20A.c **** // ret=1;
31:./ds18b20A.c **** sei();
642 .LM70:
643 /* #APP */
644 01ee 7894 sei
645 /* #NOAPP */
646 .LBB6:
648 .Ltext7:
650 .LM71:
651 01f0 8AE0 ldi r24,lo8(778)
652 01f2 93E0 ldi r25,hi8(778)
653 .LBB7:
655 .LM72:
656 /* #APP */
657 01f4 0197 1: sbiw r24,1
658 01f6 F1F7 brne 1b
659 /* #NOAPP */
660 .LBE7:
661 .LBE6:
663 .Ltext8:
32:./ds18b20A.c **** dy(490-67.5);
33:./ds18b20A.c **** return ret;
34:./ds18b20A.c **** }
665 .LM73:
666 01f8 822F mov r24,r18
667 01fa 9927 clr r25
668 /* epilogue: frame size=0 */
669 01fc 0895 ret
670 /* epilogue end (size=1) */
671 /* function rt_ds size 32 (31) */
685 .Lscope10:
688 .global wr_ds
690 wr_ds:
35:./ds18b20A.c ****
36:./ds18b20A.c **** void wr_ds(uchar dat1) //write ds18b20
37:./ds18b20A.c **** {uchar i;
692 .LM74:
693 /* prologue: frame size=0 */
694 /* prologue end (size=0) */
695 01fe 282F mov r18,r24
696 0200 37E0 ldi r19,lo8(7)
697 .L175:
38:./ds18b20A.c **** for(i=0;i<8;i++)
39:./ds18b20A.c **** {cli();
699 .LM75:
700 /* #APP */
701 0202 F894 cli
40:./ds18b20A.c **** Q_c;
703 .LM76:
704 /* #NOAPP */
705 0204 8B9A sbi 49-0x20,3
706 .LBB8:
708 .Ltext9:
710 .LM77:
711 0206 83E0 ldi r24,lo8(3)
712 0208 90E0 ldi r25,hi8(3)
713 .LBB9:
715 .LM78:
716 /* #APP */
717 020a 0197 1: sbiw r24,1
718 020c F1F7 brne 1b
719 /* #NOAPP */
720 .LBE9:
721 .LBE8:
723 .Ltext10:
41:./ds18b20A.c **** dy(2);
42:./ds18b20A.c **** if(dat1&0x01) Q_s;
725 .LM79:
726 020e 20FF sbrs r18,0
727 0210 02C0 rjmp .L171
728 0212 8B98 cbi 49-0x20,3
729 0214 01C0 rjmp .L172
730 .L171:
43:./ds18b20A.c **** else Q_c;
732 .LM80:
733 0216 8B9A sbi 49-0x20,3
734 .L172:
44:./ds18b20A.c **** dat1>>=1;
736 .LM81:
737 0218 2695 lsr r18
738 .LBB10:
740 .Ltext11:
742 .LM82:
743 021a 82E7 ldi r24,lo8(114)
744 021c 90E0 ldi r25,hi8(114)
745 .LBB11:
747 .LM83:
748 /* #APP */
749 021e 0197 1: sbiw r24,1
750 0220 F1F7 brne 1b
751 /* #NOAPP */
752 .LBE11:
753 .LBE10:
755 .Ltext12:
45:./ds18b20A.c **** dy(62);
46:./ds18b20A.c **** Q_s;
757 .LM84:
758 0222 8B98 cbi 49-0x20,3
47:./ds18b20A.c **** sei();
760 .LM85:
761 /* #APP */
762 0224 7894 sei
763 /* #NOAPP */
764 .LBB12:
766 .Ltext13:
768 .LM86:
769 0226 83E0 ldi r24,lo8(3)
770 0228 90E0 ldi r25,hi8(3)
771 .LBB13:
773 .LM87:
774 /* #APP */
775 022a 0197 1: sbiw r24,1
776 022c F1F7 brne 1b
777 /* #NOAPP */
778 .LBE13:
779 .LBE12:
781 .Ltext14:
783 .LM88:
784 022e 3150 subi r19,lo8(-(-1))
785 0230 37FF sbrs r19,7
786 0232 E7CF rjmp .L175
787 /* epilogue: frame size=0 */
788 0234 0895 ret
789 /* epilogue end (size=1) */
790 /* function wr_ds size 36 (35) */
804 .Lscope11:
806 .global rd_ds
808 rd_ds:
48:./ds18b20A.c **** dy(2);
49:./ds18b20A.c **** }
50:./ds18b20A.c **** }///*/
51:./ds18b20A.c ****
52:./ds18b20A.c **** uchar rd_ds(void) //read a data for ds18b20
53:./ds18b20A.c **** {uchar i;
810 .LM89:
811 /* prologue: frame size=0 */
812 /* prologue end (size=0) */
54:./ds18b20A.c **** uchar dat0;
55:./ds18b20A.c **** dat0=0;
814 .LM90:
815 0236 20E0 ldi r18,lo8(0)
816 0238 37E0 ldi r19,lo8(7)
817 .L186:
56:./ds18b20A.c **** for(i=0;i<8;i++)
57:./ds18b20A.c **** {cli();
819 .LM91:
820 /* #APP */
821 023a F894 cli
58:./ds18b20A.c **** Q_c;
823 .LM92:
824 /* #NOAPP */
825 023c 8B9A sbi 49-0x20,3
826 .LBB14:
828 .Ltext15:
830 .LM93:
831 023e 83E0 ldi r24,lo8(3)
832 0240 90E0 ldi r25,hi8(3)
833 .LBB15:
835 .LM94:
836 /* #APP */
837 0242 0197 1: sbiw r24,1
838 0244 F1F7 brne 1b
839 /* #NOAPP */
840 .LBE15:
841 .LBE14:
843 .Ltext16:
59:./ds18b20A.c **** dy(2);
60:./ds18b20A.c **** Q_s;
845 .LM95:
846 0246 8B98 cbi 49-0x20,3
847 .LBB16:
849 .Ltext17:
851 .LM96:
852 0248 87E0 ldi r24,lo8(7)
853 024a 90E0 ldi r25,hi8(7)
854 .LBB17:
856 .LM97:
857 /* #APP */
858 024c 0197 1: sbiw r24,1
859 024e F1F7 brne 1b
860 /* #NOAPP */
861 .LBE17:
862 .LBE16:
864 .Ltext18:
61:./ds18b20A.c **** dy(4);
62:./ds18b20A.c **** dat0>>=1;
866 .LM98:
867 0250 2695 lsr r18
63:./ds18b20A.c **** if(Q_a) dat0|=0x80;
869 .LM99:
870 0252 8399 sbic 48-0x20,3
871 0254 2068 ori r18,lo8(-128)
872 .L184:
64:./ds18b20A.c **** sei();
874 .LM100:
875 /* #APP */
876 0256 7894 sei
877 /* #NOAPP */
878 .LBB18:
880 .Ltext19:
882 .LM101:
883 0258 82E7 ldi r24,lo8(114)
884 025a 90E0 ldi r25,hi8(114)
885 .LBB19:
887 .LM102:
888 /* #APP */
889 025c 0197 1: sbiw r24,1
890 025e F1F7 brne 1b
891 /* #NOAPP */
892 .LBE19:
893 .LBE18:
895 .Ltext20:
897 .LM103:
898 0260 3150 subi r19,lo8(-(-1))
899 0262 37FF sbrs r19,7
900 0264 EACF rjmp .L186
65:./ds18b20A.c **** dy(62);
66:./ds18b20A.c **** }
67:./ds18b20A.c **** return(dat0);
68:./ds18b20A.c **** }
902 .LM104:
903 0266 822F mov r24,r18
904 0268 9927 clr r25
905 /* epilogue: frame size=0 */
906 026a 0895 ret
907 /* epilogue end (size=1) */
908 /* function rd_ds size 36 (35) */
923 .Lscope12:
925 .global s_ds
927 s_ds:
69:./ds18b20A.c ****
70:./ds18b20A.c **** void s_ds(void) //start ds18b20
71:./ds18b20A.c **** {if(rt_ds()==1)//rest sussuful
929 .LM105:
930 /* prologue: frame size=0 */
931 /* prologue end (size=0) */
932 026c 0E94 0000 call rt_ds
933 0270 8130 cpi r24,lo8(1)
934 0272 31F4 brne .L189
72:./ds18b20A.c **** {wr_ds(0xcc);
936 .LM106:
937 0274 8CEC ldi r24,lo8(-52)
938 0276 0E94 0000 call wr_ds
73:./ds18b20A.c **** wr_ds(0x44);
940 .LM107:
941 027a 84E4 ldi r24,lo8(68)
942 027c 0E94 0000 call wr_ds
943 .L189:
944 0280 0895 ret
945 /* epilogue: frame size=0 */
946 /* epilogue: noreturn */
947 /* epilogue end (size=0) */
948 /* function s_ds size 11 (11) */
950 .Lscope13:
952 .global r_ds
954 r_ds:
74:./ds18b20A.c **** }
75:./ds18b20A.c **** }
76:./ds18b20A.c ****
77:./ds18b20A.c **** uint r_ds(void) //read data from ds
78:./ds18b20A.c **** {uint ret=0;
956 .LM108:
957 /* prologue: frame size=0 */
958 0282 CF93 push r28
959 0284 DF93 push r29
960 /* prologue end (size=2) */
961 0286 C0E0 ldi r28,lo8(0)
962 0288 D0E0 ldi r29,hi8(0)
79:./ds18b20A.c **** if(rt_ds()==1) //rest suuful
964 .LM109:
965 028a 0E94 0000 call rt_ds
966 028e 8130 cpi r24,lo8(1)
967 0290 89F4 brne .L192
80:./ds18b20A.c **** {wr_ds(0xcc);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -