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

📄 ds18b20.lst

📁 DS18B20最全驱动.包含CRC8算法.ROM Search等.主机采用AVR mega16或者mega32.原创作品.
💻 LST
📖 第 1 页 / 共 4 页
字号:
 691 030c 0E94 0000 		call UartSendString
 692               	.LM86:
 693 0310 80E0      		ldi r24,lo8(.LC1)
 694 0312 90E0      		ldi r25,hi8(.LC1)
 695 0314 0E94 0000 		call UartSendString
 696               	.L36:
 697               	/* epilogue start */
 698               	.LM87:
 699 0318 2896      		adiw r28,8
 700 031a 0FB6      		in __tmp_reg__,__SREG__
 701 031c F894      		cli
 702 031e DEBF      		out __SP_H__,r29
 703 0320 0FBE      		out __SREG__,__tmp_reg__
 704 0322 CDBF      		out __SP_L__,r28
 705 0324 CF91      		pop r28
 706 0326 DF91      		pop r29
 707 0328 1F91      		pop r17
 708 032a 0F91      		pop r16
 709 032c FF90      		pop r15
 710 032e EF90      		pop r14
 711 0330 0895      		ret
 712               	.LFE12:
 714               		.data
 715               	.LC2:
 716 000d B5B1 C7B0 		.string	"\265\261\307\260\316\302\266\310\312\307:"
 716      CEC2 B6C8 
 716      CAC7 3A00 
 717               	.LC3:
 718 0019 2564 2564 		.string	"%d%d%d.%d%d%d"
 718      2564 2E25 
 718      6425 6425 
 718      6400 
 719               	.LC4:
 720 0027 2564 2564 		.string	"%d%d.%d%d%d"
 720      2E25 6425 
 720      6425 6400 
 721               	.LC5:
 722 0033 2564 2E25 		.string	"%d.%d%d%d"
 722      6425 6425 
 722      6400 
 723               	.LC6:
 724 003d 2D25 6425 		.string	"-%d%d.%d%d%d"
 724      642E 2564 
 724      2564 2564 
 724      00
 725               	.LC7:
 726 004a 2D25 642E 		.string	"-%d.%d%d%d"
 726      2564 2564 
 726      2564 00
 727               	.LC8:
 728 0055 A1E6 00   		.string	"\241\346"
 729               		.text
 730               	.global	TemperatureProcessing
 732               	TemperatureProcessing:
 733               	.LFB13:
 734               	.LM88:
 735 0332 0F93      		push r16
 736 0334 1F93      		push r17
 737 0336 DF93      		push r29
 738 0338 CF93      		push r28
 739 033a CDB7      		in r28,__SP_L__
 740 033c DEB7      		in r29,__SP_H__
 741 033e 2A97      		sbiw r28,10
 742 0340 0FB6      		in __tmp_reg__,__SREG__
 743 0342 F894      		cli
 744 0344 DEBF      		out __SP_H__,r29
 745 0346 0FBE      		out __SREG__,__tmp_reg__
 746 0348 CDBF      		out __SP_L__,r28
 747               	/* prologue: function */
 748               	/* frame size = 10 */
 749               	.LM89:
 750 034a 8E01      		movw r16,r28
 751 034c 0F5F      		subi r16,lo8(-(1))
 752 034e 1F4F      		sbci r17,hi8(-(1))
 753 0350 8AE0      		ldi r24,lo8(10)
 754 0352 F801      		movw r30,r16
 755 0354 1192      		st Z+,__zero_reg__
 756 0356 8A95      	        dec r24
 757 0358 01F4      		brne .-6
 758               	.LM90:
 759 035a 80E0      		ldi r24,lo8(.LC2)
 760 035c 90E0      		ldi r25,hi8(.LC2)
 761 035e 0E94 0000 		call UartSendString
 762               	.LM91:
 763 0362 8091 0000 		lds r24,_T
 764 0366 8823      		tst r24
 765 0368 01F4      		brne .+2
 766 036a 00C0      		rjmp .L41
 767               	.LM92:
 768 036c 8091 0000 		lds r24,TemperatrueBuffer
 769 0370 8823      		tst r24
 770 0372 01F0      		breq .L42
 771               	.LM93:
 772 0374 8091 0000 		lds r24,TemperatrueBuffer+5
 773 0378 2091 0000 		lds r18,TemperatrueBuffer+4
 774 037c 4091 0000 		lds r20,TemperatrueBuffer+3
 775 0380 6091 0000 		lds r22,TemperatrueBuffer+2
 776 0384 E091 0000 		lds r30,TemperatrueBuffer+1
 777 0388 A091 0000 		lds r26,TemperatrueBuffer
 778 038c 90E0      		ldi r25,lo8(0)
 779 038e 9F93      		push r25
 780 0390 8F93      		push r24
 781 0392 30E0      		ldi r19,lo8(0)
 782 0394 3F93      		push r19
 783 0396 2F93      		push r18
 784 0398 50E0      		ldi r21,lo8(0)
 785 039a 5F93      		push r21
 786 039c 4F93      		push r20
 787 039e 70E0      		ldi r23,lo8(0)
 788 03a0 7F93      		push r23
 789 03a2 6F93      		push r22
 790 03a4 F0E0      		ldi r31,lo8(0)
 791 03a6 FF93      		push r31
 792 03a8 EF93      		push r30
 793 03aa B0E0      		ldi r27,lo8(0)
 794 03ac BF93      		push r27
 795 03ae AF93      		push r26
 796 03b0 80E0      		ldi r24,lo8(.LC3)
 797 03b2 90E0      		ldi r25,hi8(.LC3)
 798 03b4 9F93      		push r25
 799 03b6 8F93      		push r24
 800 03b8 1F93      		push r17
 801 03ba 0F93      		push r16
 802 03bc 0E94 0000 		call sprintf
 803 03c0 8DB7      		in r24,__SP_L__
 804 03c2 9EB7      		in r25,__SP_H__
 805 03c4 4096      		adiw r24,16
 806 03c6 00C0      		rjmp .L47
 807               	.L42:
 808               	.LM94:
 809 03c8 8091 0000 		lds r24,TemperatrueBuffer+1
 810 03cc 8823      		tst r24
 811 03ce 01F0      		breq .L44
 812               	.LM95:
 813 03d0 8091 0000 		lds r24,TemperatrueBuffer+5
 814 03d4 2091 0000 		lds r18,TemperatrueBuffer+4
 815 03d8 4091 0000 		lds r20,TemperatrueBuffer+3
 816 03dc 6091 0000 		lds r22,TemperatrueBuffer+2
 817 03e0 E091 0000 		lds r30,TemperatrueBuffer+1
 818 03e4 90E0      		ldi r25,lo8(0)
 819 03e6 9F93      		push r25
 820 03e8 8F93      		push r24
 821 03ea 30E0      		ldi r19,lo8(0)
 822 03ec 3F93      		push r19
 823 03ee 2F93      		push r18
 824 03f0 50E0      		ldi r21,lo8(0)
 825 03f2 5F93      		push r21
 826 03f4 4F93      		push r20
 827 03f6 70E0      		ldi r23,lo8(0)
 828 03f8 7F93      		push r23
 829 03fa 6F93      		push r22
 830 03fc F0E0      		ldi r31,lo8(0)
 831 03fe FF93      		push r31
 832 0400 EF93      		push r30
 833 0402 80E0      		ldi r24,lo8(.LC4)
 834 0404 90E0      		ldi r25,hi8(.LC4)
 835 0406 00C0      		rjmp .L48
 836               	.L44:
 837               	.LM96:
 838 0408 8091 0000 		lds r24,TemperatrueBuffer+5
 839 040c 2091 0000 		lds r18,TemperatrueBuffer+4
 840 0410 4091 0000 		lds r20,TemperatrueBuffer+3
 841 0414 6091 0000 		lds r22,TemperatrueBuffer+2
 842 0418 90E0      		ldi r25,lo8(0)
 843 041a 9F93      		push r25
 844 041c 8F93      		push r24
 845 041e 30E0      		ldi r19,lo8(0)
 846 0420 3F93      		push r19
 847 0422 2F93      		push r18
 848 0424 50E0      		ldi r21,lo8(0)
 849 0426 5F93      		push r21
 850 0428 4F93      		push r20
 851 042a 70E0      		ldi r23,lo8(0)
 852 042c 7F93      		push r23
 853 042e 6F93      		push r22
 854 0430 80E0      		ldi r24,lo8(.LC5)
 855 0432 90E0      		ldi r25,hi8(.LC5)
 856 0434 00C0      		rjmp .L49
 857               	.L41:
 858               	.LM97:
 859 0436 8091 0000 		lds r24,TemperatrueBuffer+1
 860 043a 8823      		tst r24
 861 043c 01F0      		breq .L45
 862               	.LM98:
 863 043e 8091 0000 		lds r24,TemperatrueBuffer+5
 864 0442 2091 0000 		lds r18,TemperatrueBuffer+4
 865 0446 4091 0000 		lds r20,TemperatrueBuffer+3
 866 044a 6091 0000 		lds r22,TemperatrueBuffer+2
 867 044e E091 0000 		lds r30,TemperatrueBuffer+1
 868 0452 90E0      		ldi r25,lo8(0)
 869 0454 9F93      		push r25
 870 0456 8F93      		push r24
 871 0458 30E0      		ldi r19,lo8(0)
 872 045a 3F93      		push r19
 873 045c 2F93      		push r18
 874 045e 50E0      		ldi r21,lo8(0)
 875 0460 5F93      		push r21
 876 0462 4F93      		push r20
 877 0464 70E0      		ldi r23,lo8(0)
 878 0466 7F93      		push r23
 879 0468 6F93      		push r22
 880 046a F0E0      		ldi r31,lo8(0)
 881 046c FF93      		push r31
 882 046e EF93      		push r30
 883 0470 80E0      		ldi r24,lo8(.LC6)
 884 0472 90E0      		ldi r25,hi8(.LC6)
 885               	.L48:
 886 0474 9F93      		push r25
 887 0476 8F93      		push r24
 888 0478 1F93      		push r17
 889 047a 0F93      		push r16
 890 047c 0E94 0000 		call sprintf
 891 0480 EDB7      		in r30,__SP_L__
 892 0482 FEB7      		in r31,__SP_H__
 893 0484 3E96      		adiw r30,14
 894 0486 0FB6      		in __tmp_reg__,__SREG__
 895 0488 F894      		cli
 896 048a FEBF      		out __SP_H__,r31
 897 048c 0FBE      		out __SREG__,__tmp_reg__
 898 048e EDBF      		out __SP_L__,r30
 899 0490 00C0      		rjmp .L43
 900               	.L45:
 901               	.LM99:
 902 0492 8091 0000 		lds r24,TemperatrueBuffer+5
 903 0496 2091 0000 		lds r18,TemperatrueBuffer+4
 904 049a 4091 0000 		lds r20,TemperatrueBuffer+3
 905 049e 6091 0000 		lds r22,TemperatrueBuffer+2
 906 04a2 90E0      		ldi r25,lo8(0)
 907 04a4 9F93      		push r25
 908 04a6 8F93      		push r24
 909 04a8 30E0      		ldi r19,lo8(0)
 910 04aa 3F93      		push r19
 911 04ac 2F93      		push r18
 912 04ae 50E0      		ldi r21,lo8(0)
 913 04b0 5F93      		push r21
 914 04b2 4F93      		push r20
 915 04b4 70E0      		ldi r23,lo8(0)
 916 04b6 7F93      		push r23
 917 04b8 6F93      		push r22
 918 04ba 80E0      		ldi r24,lo8(.LC7)
 919 04bc 90E0      		ldi r25,hi8(.LC7)
 920               	.L49:
 921 04be 9F93      		push r25
 922 04c0 8F93      		push r24
 923 04c2 1F93      		push r17
 924 04c4 0F93      		push r16
 925 04c6 0E94 0000 		call sprintf
 926 04ca 8DB7      		in r24,__SP_L__
 927 04cc 9EB7      		in r25,__SP_H__
 928 04ce 0C96      		adiw r24,12
 929               	.L47:
 930 04d0 0FB6      		in __tmp_reg__,__SREG__
 931 04d2 F894      		cli
 932 04d4 9EBF      		out __SP_H__,r25
 933 04d6 0FBE      		out __SREG__,__tmp_reg__
 934 04d8 8DBF      		out __SP_L__,r24
 935               	.L43:
 936               	.LM100:
 937 04da CE01      		movw r24,r28
 938 04dc 0196      		adiw r24,1
 939 04de 0E94 0000 		call UartSendString
 940               	.LM101:
 941 04e2 80E0      		ldi r24,lo8(.LC8)
 942 04e4 90E0      		ldi r25,hi8(.LC8)
 943 04e6 0E94 0000 		call UartSendString
 944               	.LM102:
 945 04ea 80E0      		ldi r24,lo8(.LC1)
 946 04ec 90E0      		ldi r25,hi8(.LC1)
 947 04ee 0E94 0000 		call UartSendString
 948               	/* epilogue start */
 949               	.LM103:
 950 04f2 2A96      		adiw r28,10
 951 04f4 0FB6      		in __tmp_reg__,__SREG__
 952 04f6 F894      		cli
 953 04f8 DEBF      		out __SP_H__,r29
 954 04fa 0FBE      		out __SREG__,__tmp_reg__
 955 04fc CDBF      		out __SP_L__,r28
 956 04fe CF91      		pop r28
 957 0500 DF91      		pop r29
 958 0502 1F91      		pop r17
 959 0504 0F91      		pop r16
 960 0506 0895      		ret
 961               	.LFE13:
 963               	.global	DS18B20Processing
 965               	DS18B20Processing:
 966               	.LFB14:
 967               	.LM104:
 968               	/* prologue: function */
 969               	/* frame size = 0 */
 970               	.LM105:
 971 0508 8091 0000 		lds r24,OneWireConnectFlag
 972 050c 8823      		tst r24
 973 050e 01F0      		breq .L51
 974               	.LM106:
 975 0510 0E94 0000 		call ReadTemperature
 976               	.LM107:
 977 0514 0E94 0000 		call TemperatureProcessing
 978 0518 0895      		ret
 979               	.L51:
 980               	.LM108:
 981 051a 8091 0000 		lds r24,EnableOneWireFlag
 982 051e 8823      		tst r24
 983 0520 01F0      		breq .L53
 984               	.LM109:
 985 0522 8091 0000 		lds r24,CheckDS18B20TimeoutFlag
 986 0526 8823      		tst r24
 987 0528 01F0      		breq .L53
 988               	.LM110:
 989 052a 1092 0000 		sts CheckDS18B20TimeoutFlag,__zero_reg__
 990               	.LM111:
 991 052e 0E94 0000 		call OneWireInit
 992               	.L53:
 993 0532 0895      		ret
 994               	.LFE14:
 996               	.global	EnableOneWireFlag
 997               		.data
 1000               	EnableOneWireFlag:
 1001 0058 01        		.byte	1
 1002               	.global	OneWireConnectFlag
 1005               	OneWireConnectFlag:
 1006 0059 01        		.byte	1
 1007               	.global	DataT
 1010               	DataT:
 1011 005a 9600      		.word	150
 1012               	.global	_T
 1015               	_T:
 1016 005c 01        		.byte	1
 1017               	.global	DataT_shi
 1018               	.global	DataT_shi
 1019               		.section .bss
 1022               	DataT_shi:
 1023 0000 00        		.skip 1,0
 1024               	.global	DataT_ge
 1025               	.global	DataT_ge
 1028               	DataT_ge:
 1029 0001 00        		.skip 1,0
 1030               	.global	ProcessReadT

⌨️ 快捷键说明

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