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

📄 ultrasound.lst

📁 基于AVR的超声波测距程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"Ultrasound.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__tmp_reg__ = 0
   6               	__zero_reg__ = 1
   7               		.global __do_copy_data
   8               		.global __do_clear_bss
  16               	.Ltext0:
  17               	.global	__vector_1
  19               	__vector_1:
  20               	.LFB11:
  21               	.LM1:
  22               	/* prologue: frame size=0 */
  23 0000 1F92      		push __zero_reg__
  24 0002 0F92      		push __tmp_reg__
  25 0004 0FB6      		in __tmp_reg__,__SREG__
  26 0006 0F92      		push __tmp_reg__
  27 0008 1124      		clr __zero_reg__
  28 000a 8F93      		push r24
  29               	/* prologue end (size=6) */
  30               	.LM2:
  31 000c 8EB5      		in r24,78-0x20
  32 000e 8D7F      		andi r24,lo8(-3)
  33 0010 8EBD      		out 78-0x20,r24
  34               	.LM3:
  35 0012 8BB7      		in r24,91-0x20
  36 0014 8F7B      		andi r24,lo8(-65)
  37 0016 8BBF      		out 91-0x20,r24
  38               	.LM4:
  39 0018 8CB5      		in r24,76-0x20
  40 001a 8093 0000 		sts Timer1_Counter_L,r24
  41               	.LM5:
  42 001e 8DB5      		in r24,77-0x20
  43 0020 8093 0000 		sts Timer1_Counter_H,r24
  44               	.LM6:
  45 0024 1DBC      		out (76)+1-0x20,__zero_reg__
  46 0026 1CBC      		out 76-0x20,__zero_reg__
  47               	.LM7:
  48 0028 81E0      		ldi r24,lo8(1)
  49 002a 8093 0000 		sts Ultrasound_Receive_Flag,r24
  50               	/* epilogue: frame size=0 */
  51 002e 8F91      		pop r24
  52 0030 0F90      		pop __tmp_reg__
  53 0032 0FBE      		out __SREG__,__tmp_reg__
  54 0034 0F90      		pop __tmp_reg__
  55 0036 1F90      		pop __zero_reg__
  56 0038 1895      		reti
  57               	/* epilogue end (size=6) */
  58               	/* function __vector_1 size 29 (17) */
  59               	.LFE11:
  61               	.global	__vector_6
  63               	__vector_6:
  64               	.LFB12:
  65               	.LM8:
  66               	/* prologue: frame size=0 */
  67 003a 1F92      		push __zero_reg__
  68 003c 0F92      		push __tmp_reg__
  69 003e 0FB6      		in __tmp_reg__,__SREG__
  70 0040 0F92      		push __tmp_reg__
  71 0042 1124      		clr __zero_reg__
  72 0044 8F93      		push r24
  73               	/* prologue end (size=6) */
  74               	.LM9:
  75 0046 8EB5      		in r24,78-0x20
  76 0048 8D7F      		andi r24,lo8(-3)
  77 004a 8EBD      		out 78-0x20,r24
  78               	.LM10:
  79 004c 1DBC      		out (76)+1-0x20,__zero_reg__
  80 004e 1CBC      		out 76-0x20,__zero_reg__
  81               	.LM11:
  82 0050 8BB7      		in r24,91-0x20
  83 0052 8F7B      		andi r24,lo8(-65)
  84 0054 8BBF      		out 91-0x20,r24
  85               	.LM12:
  86 0056 81E0      		ldi r24,lo8(1)
  87 0058 8093 0000 		sts Ultrasound_TimeOut_Flag,r24
  88               	/* epilogue: frame size=0 */
  89 005c 8F91      		pop r24
  90 005e 0F90      		pop __tmp_reg__
  91 0060 0FBE      		out __SREG__,__tmp_reg__
  92 0062 0F90      		pop __tmp_reg__
  93 0064 1F90      		pop __zero_reg__
  94 0066 1895      		reti
  95               	/* epilogue end (size=6) */
  96               	/* function __vector_6 size 23 (11) */
  97               	.LFE12:
  99               	.global	GetUltrasoundSpeed
 101               	GetUltrasoundSpeed:
 102               	.LFB7:
 103               	.LM13:
 104               	/* prologue: frame size=0 */
 105 0068 EF92      		push r14
 106 006a FF92      		push r15
 107 006c 0F93      		push r16
 108 006e 1F93      		push r17
 109               	/* prologue end (size=4) */
 110               	.LM14:
 111 0070 8091 0000 		lds r24,Temp_Reflash_at
 112 0074 9091 0000 		lds r25,(Temp_Reflash_at)+1
 113 0078 892B      		or r24,r25
 114 007a 01F4      		brne .L6
 115               	.LM15:
 116 007c 0E94 0000 		call GetTemperature
 117 0080 7B01      		movw r14,r22
 118 0082 8C01      		movw r16,r24
 119               	.LVL0:
 120               	.LM16:
 121 0084 80E6      		ldi r24,lo8(-5536)
 122 0086 9AEE      		ldi r25,hi8(-5536)
 123 0088 9093 0000 		sts (Temp_Reflash_at)+1,r25
 124 008c 8093 0000 		sts Temp_Reflash_at,r24
 125               	.LM17:
 126 0090 20E0      		ldi r18,lo8(0xc2c80000)
 127 0092 30E0      		ldi r19,hi8(0xc2c80000)
 128 0094 48EC      		ldi r20,hlo8(0xc2c80000)
 129 0096 52EC      		ldi r21,hhi8(0xc2c80000)
 130 0098 C801      		movw r24,r16
 131 009a B701      		movw r22,r14
 132 009c 0E94 0000 		call __nesf2
 133 00a0 8823      		tst r24
 134 00a2 01F0      		breq .L8
 135               	.LM18:
 136 00a4 26EF      		ldi r18,lo8(0x3f1c28f6)
 137 00a6 38E2      		ldi r19,hi8(0x3f1c28f6)
 138 00a8 4CE1      		ldi r20,hlo8(0x3f1c28f6)
 139 00aa 5FE3      		ldi r21,hhi8(0x3f1c28f6)
 140 00ac C801      		movw r24,r16
 141 00ae B701      		movw r22,r14
 142 00b0 0E94 0000 		call __mulsf3
 143 00b4 23E3      		ldi r18,lo8(0x43a5b333)
 144 00b6 33EB      		ldi r19,hi8(0x43a5b333)
 145 00b8 45EA      		ldi r20,hlo8(0x43a5b333)
 146 00ba 53E4      		ldi r21,hhi8(0x43a5b333)
 147 00bc 0E94 0000 		call __addsf3
 148 00c0 6093 0000 		sts Valuable_Speed,r22
 149 00c4 7093 0000 		sts (Valuable_Speed)+1,r23
 150 00c8 8093 0000 		sts (Valuable_Speed)+2,r24
 151 00cc 9093 0000 		sts (Valuable_Speed)+3,r25
 152 00d0 00C0      		rjmp .L11
 153               	.L8:
 154               	.LM19:
 155 00d2 80E0      		ldi r24,lo8(0x0)
 156 00d4 90E0      		ldi r25,hi8(0x0)
 157 00d6 A0E0      		ldi r26,hlo8(0x0)
 158 00d8 B0E0      		ldi r27,hhi8(0x0)
 159 00da 8093 0000 		sts Valuable_Speed,r24
 160 00de 9093 0000 		sts (Valuable_Speed)+1,r25
 161 00e2 A093 0000 		sts (Valuable_Speed)+2,r26
 162 00e6 B093 0000 		sts (Valuable_Speed)+3,r27
 163 00ea 00C0      		rjmp .L11
 164               	.LVL1:
 165               	.L6:
 166               	.LM20:
 167 00ec 8091 0000 		lds r24,Temp_Reflash_at
 168 00f0 9091 0000 		lds r25,(Temp_Reflash_at)+1
 169 00f4 0197      		sbiw r24,1
 170 00f6 9093 0000 		sts (Temp_Reflash_at)+1,r25
 171 00fa 8093 0000 		sts Temp_Reflash_at,r24
 172               	.LVL2:
 173               	.L11:
 174               	.LM21:
 175 00fe 6091 0000 		lds r22,Valuable_Speed
 176 0102 7091 0000 		lds r23,(Valuable_Speed)+1
 177 0106 8091 0000 		lds r24,(Valuable_Speed)+2
 178 010a 9091 0000 		lds r25,(Valuable_Speed)+3
 179               	/* epilogue: frame size=0 */
 180 010e 1F91      		pop r17
 181 0110 0F91      		pop r16
 182 0112 FF90      		pop r15
 183 0114 EF90      		pop r14
 184 0116 0895      		ret
 185               	/* epilogue end (size=5) */
 186               	/* function GetUltrasoundSpeed size 88 (79) */
 187               	.LFE7:
 189               	.global	Calculate_Distant
 191               	Calculate_Distant:
 192               	.LFB8:
 193               	.LM22:
 194               	/* prologue: frame size=0 */
 195 0118 AF92      		push r10
 196 011a BF92      		push r11
 197 011c CF92      		push r12
 198 011e DF92      		push r13
 199 0120 EF92      		push r14
 200 0122 FF92      		push r15
 201 0124 0F93      		push r16
 202 0126 1F93      		push r17
 203               	/* prologue end (size=8) */
 204               	.LM23:
 205 0128 1091 0000 		lds r17,Timer1_Counter_L
 206 012c E090 0000 		lds r14,Timer1_Counter_H
 207               	.LM24:
 208 0130 0E94 0000 		call GetUltrasoundSpeed
 209 0134 0E94 0000 		call __fixunssfsi
 210 0138 5B01      		movw r10,r22
 211 013a 6C01      		movw r12,r24
 212               	.LVL3:
 213               	.LM25:
 214 013c 6115      		cp r22,__zero_reg__
 215 013e 7105      		cpc r23,__zero_reg__
 216 0140 8105      		cpc r24,__zero_reg__
 217 0142 9105      		cpc r25,__zero_reg__
 218 0144 01F4      		brne .+2
 219 0146 00C0      		rjmp .L14
 220               	.LVL4:
 221               	.LM26:
 222 0148 2AE0      		ldi r18,lo8(10)
 223 014a 30E0      		ldi r19,hi8(10)
 224 014c 40E0      		ldi r20,hlo8(10)
 225 014e 50E0      		ldi r21,hhi8(10)
 226 0150 0E94 0000 		call __mulsi3
 227               	.LVL5:
 228 0154 80E0      		ldi r24,lo8(0)
 229 0156 90E0      		ldi r25,hi8(0)
 230 0158 2E2D      		mov r18,r14
 231 015a 30E0      		ldi r19,lo8(0)
 232 015c 322F      		mov r19,r18
 233 015e 2227      		clr r18
 234 0160 210F      		add r18,r17
 235 0162 311D      		adc r19,__zero_reg__
 236 0164 4427      		clr r20
 237 0166 37FD      		sbrc r19,7
 238 0168 4095      		com r20
 239 016a 542F      		mov r21,r20
 240 016c 0E94 0000 		call __mulsi3
 241 0170 24E1      		ldi r18,lo8(20)
 242 0172 30E0      		ldi r19,hi8(20)
 243 0174 40E0      		ldi r20,hlo8(20)
 244 0176 50E0      		ldi r21,hhi8(20)
 245 0178 0E94 0000 		call __udivmodsi4
 246               	.LM27:
 247 017c 205A      		subi r18,lo8(-(-36000))
 248 017e 3C48      		sbci r19,hi8(-(-36000))
 249 0180 4040      		sbci r20,hlo8(-(-36000))
 250 0182 5040      		sbci r21,hhi8(-(-36000))
 251 0184 CA01      		movw r24,r20
 252 0186 B901      		movw r22,r18
 253 0188 28E1      		ldi r18,lo8(24)
 254 018a 30E0      		ldi r19,hi8(24)
 255 018c 40E0      		ldi r20,hlo8(24)
 256 018e 50E0      		ldi r21,hhi8(24)
 257 0190 0E94 0000 		call __mulsi3
 258 0194 29E1      		ldi r18,lo8(25)
 259 0196 30E0      		ldi r19,hi8(25)
 260 0198 40E0      		ldi r20,hlo8(25)
 261 019a 50E0      		ldi r21,hhi8(25)
 262 019c 0E94 0000 		call __udivmodsi4
 263               	.LM28:
 264 01a0 CA01      		movw r24,r20
 265 01a2 B901      		movw r22,r18
 266               	.LVL6:
 267 01a4 24E6      		ldi r18,lo8(100)
 268 01a6 30E0      		ldi r19,hi8(100)
 269 01a8 40E0      		ldi r20,hlo8(100)
 270 01aa 50E0      		ldi r21,hhi8(100)
 271 01ac 0E94 0000 		call __udivmodsi4
 272               	.LVL7:
 273 01b0 7901      		movw r14,r18
 274 01b2 8A01      		movw r16,r20
 275               	.LM29:
 276 01b4 CA01      		movw r24,r20
 277 01b6 B901      		movw r22,r18
 278               	.LVL8:
 279 01b8 2AE0      		ldi r18,lo8(10)
 280 01ba 30E0      		ldi r19,hi8(10)
 281 01bc 40E0      		ldi r20,hlo8(10)
 282 01be 50E0      		ldi r21,hhi8(10)
 283 01c0 0E94 0000 		call __udivmodsi4
 284               	.LVL9:
 285 01c4 5901      		movw r10,r18
 286 01c6 6A01      		movw r12,r20
 287               	.LVL10:
 288               	.LM30:
 289 01c8 C801      		movw r24,r16
 290 01ca B701      		movw r22,r14
 291               	.LVL11:
 292 01cc 2AE0      		ldi r18,lo8(10)
 293 01ce 30E0      		ldi r19,hi8(10)
 294 01d0 40E0      		ldi r20,hlo8(10)
 295 01d2 50E0      		ldi r21,hhi8(10)
 296 01d4 0E94 0000 		call __udivmodsi4
 297               	.LVL12:
 298 01d8 6530      		cpi r22,lo8(5)
 299 01da 00F0      		brlo .L14
 300               	.LM31:
 301 01dc 0894      		sec
 302 01de A11C      		adc r10,__zero_reg__
 303 01e0 B11C      		adc r11,__zero_reg__
 304 01e2 C11C      		adc r12,__zero_reg__
 305 01e4 D11C      		adc r13,__zero_reg__
 306               	.LVL13:
 307               	.L14:
 308               	.LM32:
 309 01e6 C501      		movw r24,r10
 310               	/* epilogue: frame size=0 */
 311 01e8 1F91      		pop r17
 312 01ea 0F91      		pop r16
 313 01ec FF90      		pop r15
 314 01ee EF90      		pop r14
 315 01f0 DF90      		pop r13
 316 01f2 CF90      		pop r12
 317 01f4 BF90      		pop r11
 318 01f6 AF90      		pop r10
 319 01f8 0895      		ret
 320               	/* epilogue end (size=9) */
 321               	/* function Calculate_Distant size 113 (96) */
 322               	.LFE8:
 324               	.global	GetImmediateDistance
 326               	GetImmediateDistance:
 327               	.LFB9:
 328               	.LM33:
 329               	/* prologue: frame size=0 */
 330 01fa CF93      		push r28
 331 01fc DF93      		push r29
 332               	/* prologue end (size=2) */
 333               	.LM34:
 334 01fe 1092 0000 		sts Ultrasound_TimeOut_Flag,__zero_reg__
 335               	.LM35:
 336 0202 1092 0000 		sts Ultrasound_Receive_Flag,__zero_reg__
 337               	.LM36:
 338 0206 8EB5      		in r24,78-0x20
 339 0208 8260      		ori r24,lo8(2)
 340 020a 8EBD      		out 78-0x20,r24
 341 020c 80B7      		in r24,80-0x20
 342 020e 8160      		ori r24,lo8(1)
 343 0210 80BF      		out 80-0x20,r24
 344               	.LM37:
 345 0212 BB9A      		sbi 55-0x20,3
 346               	.LM38:
 347 0214 86E9      		ldi r24,lo8(150)

⌨️ 快捷键说明

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