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

📄 ds18x20.lst

📁 含PPT和书中的例图
💻 LST
📖 第 1 页 / 共 4 页
字号:
 862 044c 082F      		mov r16,r24
 863 044e 162F      		mov r17,r22
 864               	.LM99:
 865 0450 7E01      		movw r14,r28
 866 0452 0894      		sec
 867 0454 E11C      		adc r14,__zero_reg__
 868 0456 F11C      		adc r15,__zero_reg__
 869 0458 88E0      		ldi r24,lo8(8)
 870 045a E0E0      		ldi r30,lo8(.LC1)
 871 045c F0E0      		ldi r31,hi8(.LC1)
 872 045e D701      		movw r26,r14
 873 0460 0190      		ld __tmp_reg__,Z+
 874 0462 0D92      		st X+,__tmp_reg__
 875 0464 8A95      		dec r24
 876 0466 E1F7      		brne .-8
 877               	.LM100:
 878 0468 242F      		mov r18,r20
 879 046a 3327      		clr r19
 880 046c 81E7      		ldi r24,lo8(625)
 881 046e 92E0      		ldi r25,hi8(625)
 882 0470 289F      		mul r18,r24
 883 0472 B001      		movw r22,r0
 884 0474 299F      		mul r18,r25
 885 0476 700D      		add r23,r0
 886 0478 389F      		mul r19,r24
 887 047a 700D      		add r23,r0
 888 047c 1124      		clr r1
 889 047e CB01      		movw r24,r22
 890 0480 68EE      		ldi r22,lo8(1000)
 891 0482 73E0      		ldi r23,hi8(1000)
 892 0484 0E94 0000 		call __divmodhi4
 893               	.LM101:
 894 0488 8AE0      		ldi r24,lo8(10)
 895 048a 189F      		mul r17,r24
 896 048c C001      		movw r24,r0
 897 048e 1124      		clr r1
 898 0490 680F      		add r22,r24
 899 0492 791F      		adc r23,r25
 900               	.LM102:
 901 0494 0023      		tst r16
 902 0496 59F4      		brne .L80
 903               	.LM103:
 904 0498 902F      		mov r25,r16
 905 049a F701      		movw r30,r14
 906               	.L85:
 907               	.LM104:
 908 049c 8191      		ld r24,Z+
 909 049e 4817      		cp r20,r24
 910 04a0 19F4      		brne .L83
 911               	.LM105:
 912 04a2 6F5F      		subi r22,lo8(-(1))
 913 04a4 7F4F      		sbci r23,hi8(-(1))
 914               	.LM106:
 915 04a6 03C0      		rjmp .L80
 916               	.L83:
 917               	.LM107:
 918 04a8 9F5F      		subi r25,lo8(-(1))
 919 04aa 9830      		cpi r25,lo8(8)
 920 04ac B8F3      		brlo .L85
 921               	.L80:
 922               	.LM108:
 923 04ae CB01      		movw r24,r22
 924               	/* epilogue: frame size=8 */
 925 04b0 2896      		adiw r28,8
 926 04b2 0FB6      		in __tmp_reg__,__SREG__
 927 04b4 F894      		cli
 928 04b6 DEBF      		out __SP_H__,r29
 929 04b8 0FBE      		out __SREG__,__tmp_reg__
 930 04ba CDBF      		out __SP_L__,r28
 931 04bc DF91      		pop r29
 932 04be CF91      		pop r28
 933 04c0 1F91      		pop r17
 934 04c2 0F91      		pop r16
 935 04c4 FF90      		pop r15
 936 04c6 EF90      		pop r14
 937 04c8 0895      		ret
 938               	/* epilogue end (size=13) */
 939               	/* function DS18X20_temp_to_decicel size 77 (50) */
 940               	.LFE10:
 942               	.global	DS18X20_temp_cmp
 944               	DS18X20_temp_cmp:
 945               	.LFB11:
 946               	.LM109:
 947               	/* prologue: frame size=0 */
 948               	/* prologue end (size=0) */
 949 04ca 8823      		tst r24
 950 04cc 19F0      		breq .L88
 951               	.LM110:
 952 04ce 7095      		com r23
 953 04d0 6195      		neg r22
 954 04d2 7F4F      		sbci r23,lo8(-1)
 955               	.L88:
 956               	.LM111:
 957 04d4 4423      		tst r20
 958 04d6 19F0      		breq .L89
 959 04d8 3095      		com r19
 960 04da 2195      		neg r18
 961 04dc 3F4F      		sbci r19,lo8(-1)
 962               	.L89:
 963               	.LM112:
 964 04de 6217      		cp r22,r18
 965 04e0 7307      		cpc r23,r19
 966 04e2 1CF4      		brge .L90
 967 04e4 8FEF      		ldi r24,lo8(-1)
 968 04e6 9FEF      		ldi r25,hi8(-1)
 969 04e8 0895      		ret
 970               	.L90:
 971               	.LM113:
 972 04ea 2617      		cp r18,r22
 973 04ec 3707      		cpc r19,r23
 974 04ee 1CF4      		brge .L91
 975 04f0 81E0      		ldi r24,lo8(1)
 976 04f2 90E0      		ldi r25,hi8(1)
 977 04f4 0895      		ret
 978               	.L91:
 979               	.LM114:
 980 04f6 80E0      		ldi r24,lo8(0)
 981 04f8 90E0      		ldi r25,hi8(0)
 982               	.LM115:
 983 04fa 0895      		ret
 984               	/* epilogue: frame size=0 */
 985 04fc 0895      		ret
 986               	/* epilogue end (size=1) */
 987               	/* function DS18X20_temp_cmp size 26 (25) */
 988               	.LFE11:
 990               	.global	DS18X20_find_sensor
 992               	DS18X20_find_sensor:
 993               	.LFB12:
 994               	.LM116:
 995               	/* prologue: frame size=0 */
 996 04fe 0F93      		push r16
 997 0500 1F93      		push r17
 998 0502 CF93      		push r28
 999 0504 DF93      		push r29
 1000               	/* prologue end (size=4) */
 1001 0506 8C01      		movw r16,r24
 1002 0508 EB01      		movw r28,r22
 1003               	.L93:
 1004               	.LM117:
 1005 050a BE01      		movw r22,r28
 1006 050c F801      		movw r30,r16
 1007 050e 8081      		ld r24,Z
 1008 0510 0E94 0000 		call ow_rom_search
 1009 0514 982F      		mov r25,r24
 1010 0516 F801      		movw r30,r16
 1011 0518 8083      		st Z,r24
 1012               	.LM118:
 1013 051a 8E5F      		subi r24,lo8(-(2))
 1014 051c 8230      		cpi r24,lo8(2)
 1015 051e 38F0      		brlo .L92
 1016 0520 9923      		tst r25
 1017 0522 29F0      		breq .L92
 1018               	.LM119:
 1019 0524 8881      		ld r24,Y
 1020 0526 8832      		cpi r24,lo8(40)
 1021 0528 11F0      		breq .L92
 1022 052a 8031      		cpi r24,lo8(16)
 1023 052c 71F7      		brne .L93
 1024               	.L92:
 1025               	/* epilogue: frame size=0 */
 1026 052e DF91      		pop r29
 1027 0530 CF91      		pop r28
 1028 0532 1F91      		pop r17
 1029 0534 0F91      		pop r16
 1030 0536 0895      		ret
 1031               	/* epilogue end (size=5) */
 1032               	/* function DS18X20_find_sensor size 29 (20) */
 1033               	.LFE12:
 1035               	.global	DS18X20_get_power_status
 1037               	DS18X20_get_power_status:
 1038               	.LFB13:
 1039               	.LM120:
 1040               	/* prologue: frame size=0 */
 1041 0538 0F93      		push r16
 1042 053a 1F93      		push r17
 1043               	/* prologue end (size=2) */
 1044 053c 8C01      		movw r16,r24
 1045               	.LM121:
 1046 053e 0E94 0000 		call ow_reset
 1047               	.LM122:
 1048 0542 B801      		movw r22,r16
 1049 0544 84EB      		ldi r24,lo8(-76)
 1050 0546 0E94 0000 		call ow_command
 1051               	.LM123:
 1052 054a 81E0      		ldi r24,lo8(1)
 1053 054c 0E94 0000 		call ow_bit_io
 1054 0550 182F      		mov r17,r24
 1055               	.LM124:
 1056 0552 0E94 0000 		call ow_reset
 1057               	.LM125:
 1058 0556 80E0      		ldi r24,lo8(0)
 1059 0558 90E0      		ldi r25,hi8(0)
 1060 055a 1123      		tst r17
 1061 055c 11F0      		breq .L100
 1062               	.LM126:
 1063 055e 81E0      		ldi r24,lo8(1)
 1064 0560 90E0      		ldi r25,hi8(1)
 1065               	.L100:
 1066               	/* epilogue: frame size=0 */
 1067 0562 1F91      		pop r17
 1068 0564 0F91      		pop r16
 1069 0566 0895      		ret
 1070               	/* epilogue end (size=3) */
 1071               	/* function DS18X20_get_power_status size 24 (19) */
 1072               	.LFE13:
 1074               		.section	.progmem.data
 1077               	c.4:
 1078 00af 4453 3138 		.string	"DS18X20_start_meas: Short Circuit !\r"
 1078      5832 305F 
 1078      7374 6172 
 1078      745F 6D65 
 1078      6173 3A20 
 1079               		.text
 1080               	.global	DS18X20_start_meas
 1082               	DS18X20_start_meas:
 1083               	.LFB14:
 1084               	.LM127:
 1085               	/* prologue: frame size=0 */
 1086 0568 1F93      		push r17
 1087 056a CF93      		push r28
 1088 056c DF93      		push r29
 1089               	/* prologue end (size=3) */
 1090 056e 182F      		mov r17,r24
 1091 0570 EB01      		movw r28,r22
 1092 0572 0E94 0000 		call ow_reset
 1093               	.LM128:
 1094 0576 0E94 0000 		call ow_input_pin_state
 1095 057a 8823      		tst r24
 1096 057c 59F0      		breq .L102
 1097               	.LM129:
 1098 057e BE01      		movw r22,r28
 1099 0580 84E4      		ldi r24,lo8(68)
 1100 0582 0E94 0000 		call ow_command
 1101               	.LM130:
 1102 0586 1130      		cpi r17,lo8(1)
 1103 0588 11F0      		breq .L103
 1104               	.LM131:
 1105 058a 0E94 0000 		call ow_parasite_enable
 1106               	.L103:
 1107               	.LM132:
 1108 058e 80E0      		ldi r24,lo8(0)
 1109 0590 90E0      		ldi r25,hi8(0)
 1110 0592 06C0      		rjmp .L101
 1111               	.L102:
 1112               	.LM133:
 1113 0594 80E0      		ldi r24,lo8(c.4)
 1114 0596 90E0      		ldi r25,hi8(c.4)
 1115 0598 0E94 0000 		call uart_puts_p
 1116               	.LM134:
 1117 059c 82E0      		ldi r24,lo8(2)
 1118 059e 90E0      		ldi r25,hi8(2)
 1119               	.L101:
 1120               	/* epilogue: frame size=0 */
 1121 05a0 DF91      		pop r29
 1122 05a2 CF91      		pop r28
 1123 05a4 1F91      		pop r17
 1124 05a6 0895      		ret
 1125               	/* epilogue end (size=4) */
 1126               	/* function DS18X20_start_meas size 32 (25) */
 1127               	.LFE14:
 1129               	.global	DS18X20_read_meas
 1131               	DS18X20_read_meas:
 1132               	.LFB15:
 1133               	.LM135:
 1134               	/* prologue: frame size=9 */
 1135 05a8 2F92      		push r2
 1136 05aa 3F92      		push r3
 1137 05ac 4F92      		push r4
 1138 05ae 5F92      		push r5
 1139 05b0 6F92      		push r6
 1140 05b2 7F92      		push r7
 1141 05b4 8F92      		push r8
 1142 05b6 9F92      		push r9
 1143 05b8 BF92      		push r11
 1144 05ba CF92      		push r12
 1145 05bc DF92      		push r13
 1146 05be EF92      		push r14
 1147 05c0 FF92      		push r15
 1148 05c2 0F93      		push r16
 1149 05c4 1F93      		push r17
 1150 05c6 CF93      		push r28
 1151 05c8 DF93      		push r29
 1152 05ca CDB7      		in r28,__SP_L__
 1153 05cc DEB7      		in r29,__SP_H__
 1154 05ce 2997      		sbiw r28,9
 1155 05d0 0FB6      		in __tmp_reg__,__SREG__
 1156 05d2 F894      		cli
 1157 05d4 DEBF      		out __SP_H__,r29
 1158 05d6 0FBE      		out __SREG__,__tmp_reg__
 1159 05d8 CDBF      		out __SP_L__,r28
 1160               	/* prologue end (size=25) */
 1161 05da 4C01      		movw r8,r24
 1162 05dc 1B01      		movw r2,r22
 1163 05de 2A01      		movw r4,r20
 1164 05e0 3901      		movw r6,r18
 1165               	.LM136:
 1166 05e2 0E94 0000 		call ow_reset
 1167               	.LM137:
 1168 05e6 B401      		movw r22,r8
 1169 05e8 8EEB      		ldi r24,lo8(-66)
 1170 05ea 0E94 0000 		call ow_command
 1171 05ee EE24      		clr r14
 1172 05f0 FF24      		clr r15
 1173 05f2 18E0      		ldi r17,lo8(8)
 1174 05f4 B12E      		mov r11,r17
 1175               	.L109:
 1176               	.LM138:
 1177 05f6 6E01      		movw r12,r28
 1178 05f8 0894      		sec
 1179 05fa C11C      		adc r12,__zero_reg__
 1180 05fc D11C      		adc r13,__zero_reg__
 1181 05fe 8701      		movw r16,r14
 1182 0600 0C0D      		add r16,r12
 1183 0602 1D1D      		adc r17,r13
 1184 0604 0E94 0000 		call ow_byte_rd
 1185 0608 F801      		movw r30,r16
 1186 060a 8083      		st Z,r24
 1187 060c BA94      		dec r11
 1188 060e 0894      		sec
 1189 0610 E11C      		adc r14,__zero_reg__
 1190 0612 F11C      		adc r15,__zero_reg__
 1191 0614 B7FE      		sbrs r11,7
 1192 0616 EFCF      		rjmp .L109
 1193               	.LM139:
 1194 0618 69E0      		ldi r22,lo8(9)
 1195 061a 70E0      		ldi r23,hi8(9)
 1196 061c C601      		movw r24,r12
 1197 061e 0E94 0000 		call crc8
 1198 0622 8823      		tst r24
 1199 0624 19F0      		breq .L110
 1200               	.LM140:
 1201 0626 83E0      		ldi r24,lo8(3)
 1202 0628 90E0      		ldi r25,hi8(3)
 1203 062a 0AC0      		rjmp .L105
 1204               	.L110:
 1205               	.LM141:
 1206 062c 8301      		movw r16,r6
 1207 062e 9201      		movw r18,r4
 1208 0630 A101      		movw r20,r2
 1209 0632 B601      		movw r22,r12
 1210 0634 F401      		movw r30,r8
 1211 0636 8081      		ld r24,Z
 1212 0638 0E94 0000 		call DS18X20_meas_to_cel
 1213               	.LM142:
 1214 063c 80E0      		ldi r24,lo8(0)
 1215 063e 90E0      		ldi r25,hi8(0)
 1216               	.L105:
 1217               	/* epilogue: frame size=9 */
 1218 0640 2996      		adiw r28,9
 1219 0642 0FB6      		in __tmp_reg__,__SREG__
 1220 0644 F894      		cli
 1221 0646 DEBF      		out __SP_H__,r29
 1222 0648 0FBE      		out __SREG__,__tmp_reg__
 1223 064a CDBF      		out __SP_L__,r28
 1224 064c DF91      		pop r29
 1225 064e CF91      		pop r28
 1226 0650 1F91      		pop r17
 1227 0652 0F91      		pop r16
 1228 0654 FF90      		pop r15
 1229 0656 EF90      		pop r14
 1230 0658 DF90      		pop r13
 1231 065a CF90      		pop r12
 1232 065c BF90      		pop r11
 1233 065e 9F90      		pop r9
 1234 0660 8F90      		pop r8
 1235 0662 7F90      		pop r7
 1236 0664 6F90      		pop r6
 1237 0666 5F90      		pop r5
 1238 0668 4F90      		pop r4
 1239 066a 3F90      		pop r3
 1240 066c 2F90      		pop r2
 1241 066e 0895      		ret
 1242               	/* epilogue end (size=24) */
 1243               	/* function DS18X20_read_meas size 100 (51) */
 1244               	.LFE15:
 1246               	.global	DS18X20_read_meas_single
 1248               	DS18X20_read_meas_single:
 1249               	.LFB16:
 1250               	.LM143:
 1251               	/* prologue: frame size=9 */
 1252 0670 4F92      		push r4
 1253 0672 5F92      		push r5
 1254 0674 6F92      		push r6
 1255 0676 7F92      		push r7
 1256 0678 8F92      		push r8
 1257 067a 9F92      		push r9
 1258 067c AF92      		push r10
 1259 067e BF92      		push r11
 1260 0680 CF92      		push r12
 1261 0682 DF92      		push r13
 1262 0684 EF92      		push r14
 1263 0686 FF92      		push r15
 1264 0688 0F93      		push r16
 1265 068a 1F93      		push r17
 1266 068c CF93      		push r28
 1267 068e DF93      		push r29
 1268 0690 CDB7      		in r28,__SP_L__
 1269 0692 DEB7      		in r29,__SP_H__
 1270 0694 2997      		sbiw r28,9
 1271 0696 0FB6      		in __tmp_reg__,__SREG__
 1272 0698 F894      		cli
 1273 069a DEBF      		out __SP_H__,r29
 1274 069c 0FBE      		out __SREG__,__tmp_reg__
 1275 069e CDBF      		out __SP_L__,r28
 1276               	/* prologue end (size=24) */
 1277 06a0 A82E      		mov r10,r24
 1278 06a2 2B01      		movw r4,r22

⌨️ 快捷键说明

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