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

📄 main.lst

📁 含PPT和书中的例图
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"main.c"
   2               		.arch atmega32
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               		.section	.progmem.data,"a",@progbits
  21               	c.46:
  22 0000 0D53 6361 		.string	"\rScanning Bus for DS18X20\r"
  22      6E6E 696E 
  22      6720 4275 
  22      7320 666F 
  22      7220 4453 
  25               	c.47:
  26 001b 4E6F 2053 		.string	"No Sensor found\r"
  26      656E 736F 
  26      7220 666F 
  26      756E 640D 
  26      00
  29               	c.48:
  30 002c 4275 7320 		.string	"Bus Error\r"
  30      4572 726F 
  30      720D 00
  31               		.text
  32               	.global	search_sensors
  34               	search_sensors:
  35               	.LFB6:
  36               	.LM1:
  37               	/* prologue: frame size=9 */
  38 0000 1F93      		push r17
  39 0002 CF93      		push r28
  40 0004 DF93      		push r29
  41 0006 CDB7      		in r28,__SP_L__
  42 0008 DEB7      		in r29,__SP_H__
  43 000a 2997      		sbiw r28,9
  44 000c 0FB6      		in __tmp_reg__,__SREG__
  45 000e F894      		cli
  46 0010 DEBF      		out __SP_H__,r29
  47 0012 0FBE      		out __SREG__,__tmp_reg__
  48 0014 CDBF      		out __SP_L__,r28
  49               	/* prologue end (size=11) */
  50               	.LM2:
  51 0016 80E0      		ldi r24,lo8(c.46)
  52 0018 90E0      		ldi r25,hi8(c.46)
  53 001a 0E94 0000 		call uart_puts_p
  54               	.LM3:
  55 001e 10E0      		ldi r17,lo8(0)
  56               	.LM4:
  57 0020 8FEF      		ldi r24,lo8(-1)
  58 0022 8987      		std Y+9,r24
  59               	.L10:
  60               	.LM5:
  61 0024 BE01      		movw r22,r28
  62 0026 6F5F      		subi r22,lo8(-(1))
  63 0028 7F4F      		sbci r23,hi8(-(1))
  64 002a CE01      		movw r24,r28
  65 002c 0996      		adiw r24,9
  66 002e 0E94 0000 		call DS18X20_find_sensor
  67               	.LM6:
  68 0032 2985      		ldd r18,Y+9
  69 0034 2F3F      		cpi r18,lo8(-1)
  70 0036 19F4      		brne .L4
  71               	.LM7:
  72 0038 80E0      		ldi r24,lo8(c.47)
  73 003a 90E0      		ldi r25,hi8(c.47)
  74 003c 04C0      		rjmp .L14
  75               	.L4:
  76               	.LM8:
  77 003e 2E3F      		cpi r18,lo8(-2)
  78 0040 29F4      		brne .L5
  79               	.LM9:
  80 0042 80E0      		ldi r24,lo8(c.48)
  81 0044 90E0      		ldi r25,hi8(c.48)
  82               	.L14:
  83 0046 0E94 0000 		call uart_puts_p
  84               	.LM10:
  85 004a 16C0      		rjmp .L3
  86               	.L5:
  87 004c E12F      		mov r30,r17
  88 004e FF27      		clr r31
  89 0050 83E0      		ldi r24,3
  90 0052 EE0F      	1:	lsl r30
  91 0054 FF1F      		rol r31
  92 0056 8A95      		dec r24
  93 0058 E1F7      		brne 1b
  94 005a E050      		subi r30,lo8(-(gSensorIDs))
  95 005c F040      		sbci r31,hi8(-(gSensorIDs))
  96 005e DE01      		movw r26,r28
  97 0060 1196      		adiw r26,1
  98 0062 97E0      		ldi r25,lo8(7)
  99               	.L9:
 100               	.LM11:
 101 0064 8D91      		ld r24,X+
 102 0066 8193      		st Z+,r24
 103               	.LM12:
 104 0068 9150      		subi r25,lo8(-(-1))
 105 006a 97FF      		sbrs r25,7
 106 006c FBCF      		rjmp .L9
 107               	.LM13:
 108 006e 1F5F      		subi r17,lo8(-(1))
 109               	.LM14:
 110 0070 2223      		tst r18
 111 0072 11F0      		breq .L3
 112 0074 1530      		cpi r17,lo8(5)
 113 0076 B0F2      		brlo .L10
 114               	.L3:
 115               	.LM15:
 116 0078 812F      		mov r24,r17
 117 007a 9927      		clr r25
 118               	/* epilogue: frame size=9 */
 119 007c 2996      		adiw r28,9
 120 007e 0FB6      		in __tmp_reg__,__SREG__
 121 0080 F894      		cli
 122 0082 DEBF      		out __SP_H__,r29
 123 0084 0FBE      		out __SREG__,__tmp_reg__
 124 0086 CDBF      		out __SP_L__,r28
 125 0088 DF91      		pop r29
 126 008a CF91      		pop r28
 127 008c 1F91      		pop r17
 128 008e 0895      		ret
 129               	/* epilogue end (size=10) */
 130               	/* function search_sensors size 72 (51) */
 131               	.LFE6:
 133               		.section	.progmem.data
 136               	c.41:
 137 0037 2E00      		.string	"."
 140               	c.42:
 141 0039 3000      		.string	"0"
 144               	c.43:
 145 003b B043 205B 		.string	"\260C ["
 145      00
 148               	c.44:
 149 0040 2E00      		.string	"."
 152               	c.45:
 153 0042 B043 5D00 		.string	"\260C]"
 154               		.text
 155               	.global	uart_put_temp
 157               	uart_put_temp:
 158               	.LFB7:
 159               	.LM16:
 160               	/* prologue: frame size=17 */
 161 0090 EF92      		push r14
 162 0092 FF92      		push r15
 163 0094 0F93      		push r16
 164 0096 1F93      		push r17
 165 0098 CF93      		push r28
 166 009a DF93      		push r29
 167 009c CDB7      		in r28,__SP_L__
 168 009e DEB7      		in r29,__SP_H__
 169 00a0 6197      		sbiw r28,17
 170 00a2 0FB6      		in __tmp_reg__,__SREG__
 171 00a4 F894      		cli
 172 00a6 DEBF      		out __SP_H__,r29
 173 00a8 0FBE      		out __SREG__,__tmp_reg__
 174 00aa CDBF      		out __SP_L__,r28
 175               	/* prologue end (size=14) */
 176 00ac 182F      		mov r17,r24
 177 00ae E62E      		mov r14,r22
 178 00b0 F42E      		mov r15,r20
 179               	.LM17:
 180 00b2 8823      		tst r24
 181 00b4 11F0      		breq .L16
 182               	.LM18:
 183 00b6 8DE2      		ldi r24,lo8(45)
 184 00b8 01C0      		rjmp .L17
 185               	.L16:
 186 00ba 8BE2      		ldi r24,lo8(43)
 187               	.L17:
 188 00bc 0E94 0000 		call uart_putc
 189               	.LM19:
 190 00c0 8E2D      		mov r24,r14
 191 00c2 9927      		clr r25
 192 00c4 0E94 0000 		call uart_puti
 193               	.LM20:
 194 00c8 80E0      		ldi r24,lo8(c.41)
 195 00ca 90E0      		ldi r25,hi8(c.41)
 196 00cc 0E94 0000 		call uart_puts_p
 197               	.LM21:
 198 00d0 2F2D      		mov r18,r15
 199 00d2 3327      		clr r19
 200 00d4 4AE0      		ldi r20,lo8(10)
 201 00d6 50E0      		ldi r21,hi8(10)
 202 00d8 BE01      		movw r22,r28
 203 00da 6F5F      		subi r22,lo8(-(1))
 204 00dc 7F4F      		sbci r23,hi8(-(1))
 205 00de 81E7      		ldi r24,lo8(625)
 206 00e0 92E0      		ldi r25,hi8(625)
 207 00e2 289F      		mul r18,r24
 208 00e4 F001      		movw r30,r0
 209 00e6 299F      		mul r18,r25
 210 00e8 F00D      		add r31,r0
 211 00ea 389F      		mul r19,r24
 212 00ec F00D      		add r31,r0
 213 00ee 1124      		clr r1
 214 00f0 CF01      		movw r24,r30
 215 00f2 0E94 0000 		call itoa
 216               	.LM22:
 217 00f6 DE01      		movw r26,r28
 218 00f8 1196      		adiw r26,1
 219 00fa FD01      		movw r30,r26
 220 00fc 0190      		ld __tmp_reg__,Z+
 221 00fe 0020      		tst __tmp_reg__
 222 0100 E9F7      		brne .-6
 223 0102 3197      		sbiw r30,1
 224 0104 EA1B      		sub r30,r26
 225 0106 FB0B      		sbc r31,r27
 226 0108 84E0      		ldi r24,lo8(4)
 227 010a 8E1B      		sub r24,r30
 228               	.LM23:
 229 010c 39F0      		breq .L25
 230 010e 082F      		mov r16,r24
 231               	.L21:
 232 0110 80E0      		ldi r24,lo8(c.42)
 233 0112 90E0      		ldi r25,hi8(c.42)
 234 0114 0E94 0000 		call uart_puts_p
 235 0118 0150      		subi r16,lo8(-(-1))
 236 011a D1F7      		brne .L21
 237               	.L25:
 238               	.LM24:
 239 011c CE01      		movw r24,r28
 240 011e 0196      		adiw r24,1
 241 0120 0E94 0000 		call uart_puts
 242               	.LM25:
 243 0124 80E0      		ldi r24,lo8(c.43)
 244 0126 90E0      		ldi r25,hi8(c.43)
 245 0128 0E94 0000 		call uart_puts_p
 246               	.LM26:
 247 012c 1123      		tst r17
 248 012e 11F0      		breq .L22
 249 0130 8DE2      		ldi r24,lo8(45)
 250 0132 01C0      		rjmp .L23
 251               	.L22:
 252 0134 8BE2      		ldi r24,lo8(43)
 253               	.L23:
 254 0136 0E94 0000 		call uart_putc
 255               	.LM27:
 256 013a 4F2D      		mov r20,r15
 257 013c 6E2D      		mov r22,r14
 258 013e 812F      		mov r24,r17
 259 0140 0E94 0000 		call DS18X20_temp_to_decicel
 260 0144 8C01      		movw r16,r24
 261               	.LM28:
 262 0146 6AE0      		ldi r22,lo8(10)
 263 0148 70E0      		ldi r23,hi8(10)
 264 014a 0E94 0000 		call __udivmodhi4
 265 014e CB01      		movw r24,r22
 266 0150 0E94 0000 		call uart_puti
 267               	.LM29:
 268 0154 80E0      		ldi r24,lo8(c.44)
 269 0156 90E0      		ldi r25,hi8(c.44)
 270 0158 0E94 0000 		call uart_puts_p
 271               	.LM30:
 272 015c C801      		movw r24,r16
 273 015e 6AE0      		ldi r22,lo8(10)
 274 0160 70E0      		ldi r23,hi8(10)
 275 0162 0E94 0000 		call __udivmodhi4
 276 0166 805D      		subi r24,lo8(-(48))
 277 0168 0E94 0000 		call uart_putc
 278               	.LM31:
 279 016c 80E0      		ldi r24,lo8(c.45)
 280 016e 90E0      		ldi r25,hi8(c.45)
 281 0170 0E94 0000 		call uart_puts_p
 282               	/* epilogue: frame size=17 */
 283 0174 6196      		adiw r28,17
 284 0176 0FB6      		in __tmp_reg__,__SREG__
 285 0178 F894      		cli
 286 017a DEBF      		out __SP_H__,r29
 287 017c 0FBE      		out __SREG__,__tmp_reg__
 288 017e CDBF      		out __SP_L__,r28
 289 0180 DF91      		pop r29
 290 0182 CF91      		pop r28
 291 0184 1F91      		pop r17
 292 0186 0F91      		pop r16
 293 0188 FF90      		pop r15
 294 018a EF90      		pop r14
 295 018c 0895      		ret
 296               	/* epilogue end (size=13) */
 297               	/* function uart_put_temp size 129 (102) */
 298               	.LFE7:
 300               		.section	.progmem.data
 303               	c.0:
 304 0046 0D44 5331 		.string	"\rDS18X20 1-Wire-Reader Demo by Martin Thomas\r"
 304      3858 3230 
 304      2031 2D57 
 304      6972 652D 
 304      5265 6164 
 307               	c.1:
 308 0074 2D2D 2D2D 		.string	"-------------------------------------------"
 308      2D2D 2D2D 
 308      2D2D 2D2D 
 308      2D2D 2D2D 
 308      2D2D 2D2D 
 311               	c.2:
 312 00a0 2044 5331 		.string	" DS18X20 Sensor(s) available:\r"
 312      3858 3230 
 312      2053 656E 
 312      736F 7228 
 312      7329 2061 
 315               	c.3:
 316 00bf 2320 696E 		.string	"# in Bus :"
 316      2042 7573 
 316      203A 00
 319               	c.4:
 320 00ca 203A 2000 		.string	" : "
 323               	c.5:
 324 00ce 0D00      		.string	"\r"
 327               	c.6:
 328 00d0 5365 6E73 		.string	"Sensor# "
 328      6F72 2320 
 328      00
 331               	c.7:
 332 00d9 2069 7320 		.string	" is a "
 332      6120 00
 335               	c.8:
 336 00e0 4453 3138 		.string	"DS18S20/DS1820"
 336      5332 302F 
 336      4453 3138 
 336      3230 00
 339               	c.9:
 340 00ef 4453 3138 		.string	"DS18B20"
 340      4232 3000 
 343               	c.10:
 344 00f7 2077 6869 		.string	" which is "
 344      6368 2069 
 344      7320 00
 347               	c.11:
 348 0102 7061 7261 		.string	"parasite"
 348      7369 7465 
 348      00
 351               	c.12:
 352 010b 6578 7465 		.string	"externally"
 352      726E 616C 
 352      6C79 00
 355               	c.13:
 356 0116 2070 6F77 		.string	" powered\r"
 356      6572 6564 
 356      0D00 
 359               	c.29:
 360 0120 0D44 5331 		.string	"\rDS18x20 EEPROM support test for fist sensor\r"
 360      3878 3230 
 360      2045 4550 
 360      524F 4D20 
 360      7375 7070 
 363               	c.30:
 364 014e 5448 2F54 		.string	"TH/TL from EEPROM sensor 1 : "
 364      4C20 6672 
 364      6F6D 2045 
 364      4550 524F 
 364      4D20 7365 
 367               	c.31:
 368 016c 202F 2000 		.string	" / "
 371               	c.32:
 372 0170 0D00      		.string	"\r"
 375               	c.33:
 376 0172 5448 2B31 		.string	"TH+1 and TL+1 written to scratchpad\r"
 376      2061 6E64 
 376      2054 4C2B 

⌨️ 快捷键说明

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