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

📄 ad.lst

📁 AD7851的转换程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 304 00a6 911D      		adc r25,__zero_reg__
  72:AD.c          **** 		result_array[i]=temp;//AD转换结果
 306               	.LM30:
 307 00a8 E02F      		mov r30,r16
 308 00aa FF27      		clr r31
 309 00ac EE0F      		add r30,r30
 310 00ae FF1F      		adc r31,r31
 311 00b0 7E01      		movw r14,r28
 312 00b2 0894      		sec
 313 00b4 E11C      		adc r14,__zero_reg__
 314 00b6 F11C      		adc r15,__zero_reg__
 315 00b8 EE0D      		add r30,r14
 316 00ba FF1D      		adc r31,r15
 317 00bc 8083      		st Z,r24
 318 00be 9183      		std Z+1,r25
  73:AD.c          **** 		ADCSRA=ADCSRA &(~(1<<ADEN));
 320               	.LM31:
 321 00c0 3798      		cbi 38-0x20,7
  74:AD.c          **** 		delay_us(100);
 323               	.LM32:
 324 00c2 84E6      		ldi r24,lo8(100)
 325 00c4 90E0      		ldi r25,hi8(100)
 326 00c6 0E94 0000 		call delay_us
 328               	.LM33:
 329 00ca 0F5F      		subi r16,lo8(-(1))
 330 00cc 0A30      		cpi r16,lo8(10)
 331 00ce F8F2      		brlo .L34
 332 00d0 40E0      		ldi r20,lo8(0)
  75:AD.c          **** 	}
  76:AD.c          **** 	index1=0;//最大数对应序号
  77:AD.c          **** 	index2=0;//最小数对应序号
 334               	.LM34:
 335 00d2 542F      		mov r21,r20
  78:AD.c          **** 	for(i=0;i<10;i++)
 337               	.LM35:
 338 00d4 042F      		mov r16,r20
 339 00d6 D701      		movw r26,r14
 340               	.L41:
  79:AD.c          **** 	{
  80:AD.c          **** 		if(result_array[i]>result_array[index1])
 342               	.LM36:
 343 00d8 E42F      		mov r30,r20
 344 00da FF27      		clr r31
 345 00dc EE0F      		add r30,r30
 346 00de FF1F      		adc r31,r31
 347 00e0 EE0D      		add r30,r14
 348 00e2 FF1D      		adc r31,r15
 349 00e4 2D91      		ld r18,X+
 350 00e6 3D91      		ld r19,X+
 351 00e8 8081      		ld r24,Z
 352 00ea 9181      		ldd r25,Z+1
 353 00ec 8217      		cp r24,r18
 354 00ee 9307      		cpc r25,r19
 355 00f0 08F4      		brsh .L39
  81:AD.c          **** 		{
  82:AD.c          **** 			index1=i;
 357               	.LM37:
 358 00f2 402F      		mov r20,r16
 359               	.L39:
  83:AD.c          **** 		}
  84:AD.c          **** 		
  85:AD.c          **** 		if(result_array[i]<result_array[index2])
 361               	.LM38:
 362 00f4 E52F      		mov r30,r21
 363 00f6 FF27      		clr r31
 364 00f8 EE0F      		add r30,r30
 365 00fa FF1F      		adc r31,r31
 366 00fc EE0D      		add r30,r14
 367 00fe FF1D      		adc r31,r15
 368 0100 8081      		ld r24,Z
 369 0102 9181      		ldd r25,Z+1
 370 0104 2817      		cp r18,r24
 371 0106 3907      		cpc r19,r25
 372 0108 08F4      		brsh .L37
  86:AD.c          **** 		{
  87:AD.c          **** 			index2=i;
 374               	.LM39:
 375 010a 502F      		mov r21,r16
 377               	.LM40:
 378               	.L37:
 379 010c 0F5F      		subi r16,lo8(-(1))
 380 010e 0A30      		cpi r16,lo8(10)
 381 0110 18F3      		brlo .L41
  88:AD.c          **** 		}
  89:AD.c          **** 	}
  90:AD.c          **** 	sum=0;
 383               	.LM41:
 384 0112 20E0      		ldi r18,lo8(0)
 385 0114 30E0      		ldi r19,hi8(0)
  91:AD.c          **** 	for(i=0;i<10;i++)
 387               	.LM42:
 388 0116 00E0      		ldi r16,lo8(0)
 389 0118 F701      		movw r30,r14
 390               	.L48:
  92:AD.c          **** 	{
  93:AD.c          **** 		if((i==index1)||(i==index2))
 392               	.LM43:
 393 011a 0417      		cp r16,r20
 394 011c 31F0      		breq .L44
 395 011e 0517      		cp r16,r21
 396 0120 21F0      		breq .L44
  94:AD.c          **** 			continue;
  95:AD.c          **** 		sum=sum+result_array[i];
 398               	.LM44:
 399 0122 8081      		ld r24,Z
 400 0124 9181      		ldd r25,Z+1
 401 0126 280F      		add r18,r24
 402 0128 391F      		adc r19,r25
 404               	.LM45:
 405               	.L44:
 406 012a 0F5F      		subi r16,lo8(-(1))
 407 012c 3296      		adiw r30,2
 408 012e 0A30      		cpi r16,lo8(10)
 409 0130 A0F3      		brlo .L48
  96:AD.c          **** 	}
  97:AD.c          **** 	if(index1==index2)
 411               	.LM46:
 412 0132 4517      		cp r20,r21
 413 0134 C1F4      		brne .L49
  98:AD.c          **** 	ad0_average=sum/9;
 415               	.LM47:
 416 0136 C901      		movw r24,r18
 417 0138 69E0      		ldi r22,lo8(9)
 418 013a 70E0      		ldi r23,hi8(9)
 419 013c 0E94 0000 		call __udivmodhi4
 420 0140 8B01      		movw r16,r22
 421 0142 CB01      		movw r24,r22
 422 0144 AA27      		clr r26
 423 0146 97FD      		sbrc r25,7
 424 0148 A095      		com r26
 425 014a BA2F      		mov r27,r26
 426 014c BC01      		movw r22,r24
 427 014e CD01      		movw r24,r26
 428 0150 0E94 0000 		call __floatsisf
 429 0154 17FF      		sbrs r17,7
 430 0156 15C0      		rjmp .L51
 431 0158 20E0      		ldi r18,lo8(0x47800000)
 432 015a 30E0      		ldi r19,hi8(0x47800000)
 433 015c 40E8      		ldi r20,hlo8(0x47800000)
 434 015e 57E4      		ldi r21,hhi8(0x47800000)
 435 0160 0E94 0000 		call __addsf3
 436 0164 0EC0      		rjmp .L51
 437               	.L49:
  99:AD.c          **** 	else
 100:AD.c          **** 	ad0_average=sum/8;
 439               	.LM48:
 440 0166 83E0      		ldi r24,3
 441 0168 3695      	1:	lsr r19
 442 016a 2795      		ror r18
 443 016c 8A95      		dec r24
 444 016e E1F7      		brne 1b
 445 0170 C901      		movw r24,r18
 446 0172 AA27      		clr r26
 447 0174 97FD      		sbrc r25,7
 448 0176 A095      		com r26
 449 0178 BA2F      		mov r27,r26
 450 017a BC01      		movw r22,r24
 451 017c CD01      		movw r24,r26
 452 017e 0E94 0000 		call __floatsisf
 453               	.L51:
 101:AD.c          **** 	ad0_result=ad0_average;
 455               	.LM49:
 456 0182 0E94 0000 		call __fixunssfsi
 457 0186 DC01      		movw r26,r24
 458 0188 CB01      		movw r24,r22
 459 018a 9093 0000 		sts (ad0_result)+1,r25
 460 018e 8093 0000 		sts ad0_result,r24
 102:AD.c          **** }
 462               	.LM50:
 463               	.LBE4:
 464               	/* epilogue: frame size=20 */
 465 0192 6496      		adiw r28,20
 466 0194 0FB6      		in __tmp_reg__,__SREG__
 467 0196 F894      		cli
 468 0198 DEBF      		out __SP_H__,r29
 469 019a 0FBE      		out __SREG__,__tmp_reg__
 470 019c CDBF      		out __SP_L__,r28
 471 019e DF91      		pop r29
 472 01a0 CF91      		pop r28
 473 01a2 1F91      		pop r17
 474 01a4 0F91      		pop r16
 475 01a6 FF90      		pop r15
 476 01a8 EF90      		pop r14
 477 01aa 0895      		ret
 478               	/* epilogue end (size=13) */
 479               	/* function AD0_RESULT_FILTER size 159 (132) */
 491               	.Lscope4:
 494               	.global	main
 496               	main:
 103:AD.c          **** //主程序
 104:AD.c          **** int main(void)
 105:AD.c          **** { for(;;)
 498               	.LM51:
 499               	/* prologue: frame size=0 */
 500 01ac C0E0      		ldi r28,lo8(__stack - 0)
 501 01ae D0E0      		ldi r29,hi8(__stack - 0)
 502 01b0 DEBF      		out __SP_H__,r29
 503 01b2 CDBF      		out __SP_L__,r28
 504               	/* prologue end (size=4) */
 505               	.L60:
 106:AD.c          **** 	{AD0_RESULT_FILTER();//读压力传感器并滤波,码值存入全局变量ad0_result
 507               	.LM52:
 508 01b4 0E94 0000 		call AD0_RESULT_FILTER
 510               	.LM53:
 511 01b8 FDCF      		rjmp .L60
 107:AD.c          **** 	}
 108:AD.c          **** }...
 513               	.LM54:
 514               	/* epilogue: frame size=0 */
 515               	/* epilogue: noreturn */
 516               	/* epilogue end (size=0) */
 517               	/* function main size 7 (3) */
 519               	.Lscope5:
 521               		.comm ad0_result,2,1
 523               		.text
 525               	Letext:
 526               	/* File "AD.c": code  222 = 0x00de ( 172), prologues  26, epilogues  24 */
DEFINED SYMBOLS
                            *ABS*:00000000 AD.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:92     .text:00000000 delay_us
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:121    .text:0000000a delay_ms
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:173    .text:00000038 delay_s
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:224    .text:00000066 AD0_SETTING_AND_START
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:248    .text:0000006e AD0_RESULT_FILTER
                            *COM*:00000002 ad0_result
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:496    .text:000001ac main
C:\DOCUME~1\HUANGJ~1\LOCALS~1\Temp/cc6Taaaa.s:525    .text:000001ba Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodhi4
__floatsisf
__addsf3
__fixunssfsi
__stack

⌨️ 快捷键说明

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