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

📄 displayandkey.lst

📁 建立在AVR基础上的测试LED数码管电压表
💻 LST
📖 第 1 页 / 共 2 页
字号:
 103:DisplayAndKey.c **** 
 104:DisplayAndKey.c **** 
 105:DisplayAndKey.c **** /*============================================================
 106:DisplayAndKey.c **** FUNCTION: VFD KEY DATA IN
 107:DisplayAndKey.c **** 
 108:DisplayAndKey.c **** 
 109:DisplayAndKey.c **** ============================================================*/
 110:DisplayAndKey.c **** unsigned char V_Kay_Scan(void)
 111:DisplayAndKey.c **** 	{
 280               	.LM30:
 281               	/* prologue: frame size=0 */
 282               	/* prologue end (size=0) */
 112:DisplayAndKey.c **** 	
 113:DisplayAndKey.c **** 	unsigned char i;
 114:DisplayAndKey.c **** 	unsigned char data;	
 115:DisplayAndKey.c **** 	PORTB &= ~(1<<STB);
 284               	.LM31:
 285 0072 C098      		cbi 56-0x20,0
 116:DisplayAndKey.c **** 	
 117:DisplayAndKey.c **** 	//send Key value read command	
 118:DisplayAndKey.c **** 	V_SPI_SEND(Vfd_Display_DataIn);
 287               	.LM32:
 288 0074 82E4      		ldi r24,lo8(66)
 289 0076 C4DF      		rcall V_SPI_SEND
 119:DisplayAndKey.c **** 	data = 0xFF;
 291               	.LM33:
 292 0078 8FEF      		ldi r24,lo8(-1)
 120:DisplayAndKey.c **** 	//read key value
 121:DisplayAndKey.c **** 	DDRB &= ~(1<<DATA);
 294               	.LM34:
 295 007a B998      		cbi 55-0x20,1
 122:DisplayAndKey.c **** 	for(i=0;	i<40;i++	)
 297               	.LM35:
 298 007c 20E0      		ldi r18,lo8(0)
 299               	.L30:
 123:DisplayAndKey.c **** 		{
 124:DisplayAndKey.c **** 			PORTB &= ~(1<<SCK);
 301               	.LM36:
 302 007e C298      		cbi 56-0x20,2
 125:DisplayAndKey.c **** 			PORTB &= ~(1<<SCK);			
 304               	.LM37:
 305 0080 C298      		cbi 56-0x20,2
 126:DisplayAndKey.c **** 			PORTB |= (1<<SCK);
 307               	.LM38:
 308 0082 C29A      		sbi 56-0x20,2
 127:DisplayAndKey.c **** 			PORTB |= (1<<SCK);		
 310               	.LM39:
 311 0084 C29A      		sbi 56-0x20,2
 128:DisplayAndKey.c **** 			if(PINB & (1<<DATA))
 313               	.LM40:
 314 0086 B199      		sbic 54-0x20,1
 129:DisplayAndKey.c **** 				{
 130:DisplayAndKey.c **** 				data = i;
 316               	.LM41:
 317 0088 822F      		mov r24,r18
 318               	.L28:
 320               	.LM42:
 321 008a 2F5F      		subi r18,lo8(-(1))
 322 008c 2832      		cpi r18,lo8(40)
 323 008e B8F3      		brlo .L30
 131:DisplayAndKey.c **** 				}
 132:DisplayAndKey.c **** 		}
 133:DisplayAndKey.c **** 
 134:DisplayAndKey.c **** 	DDRB |= (1<<DATA);
 325               	.LM43:
 326 0090 B99A      		sbi 55-0x20,1
 135:DisplayAndKey.c **** 	PORTB|= (1<<STB);
 328               	.LM44:
 329 0092 C09A      		sbi 56-0x20,0
 136:DisplayAndKey.c **** 	return data;
 137:DisplayAndKey.c **** 	}
 331               	.LM45:
 332 0094 9927      		clr r25
 333               	/* epilogue: frame size=0 */
 334 0096 0895      		ret
 335               	/* epilogue end (size=1) */
 336               	/* function V_Kay_Scan size 20 (19) */
 342               	.Lscope2:
 345               	.global	Display
 347               	Display:
 138:DisplayAndKey.c **** /*============================================================
 139:DisplayAndKey.c **** 
 140:DisplayAndKey.c **** ============================================================*/
 141:DisplayAndKey.c **** void Display (char *Keydata)
 142:DisplayAndKey.c **** {
 349               	.LM46:
 350               	/* prologue: frame size=0 */
 351               	/* prologue end (size=0) */
 352 0098 B92F      		mov r27,r25
 353 009a A82F      		mov r26,r24
 354               	.LBB2:
 143:DisplayAndKey.c **** Display_data[9]=pgm_read_byte(Display_Code+((*(Keydata+0)) -0x30));
 356               	.LM47:
 357 009c 8C91      		ld r24,X
 358 009e 20E0      		ldi r18,lo8(Display_Code-48)
 359 00a0 30E0      		ldi r19,hi8(Display_Code-48)
 360 00a2 F32F      		mov r31,r19
 361 00a4 E22F      		mov r30,r18
 362 00a6 E80F      		add r30,r24
 363 00a8 F11D      		adc r31,__zero_reg__
 364               	/* #APP */
 365 00aa C895      		lpm
 366 00ac 802D      		mov r24, r0
 367               		
 368               	/* #NOAPP */
 369               	.LBE2:
 370 00ae 8093 0000 		sts Display_data+9,r24
 371               	.LBB3:
 144:DisplayAndKey.c **** Display_data[8]=pgm_read_byte(Display_Code+((*(Keydata+1)) -0x30));
 373               	.LM48:
 374 00b2 FB2F      		mov r31,r27
 375 00b4 EA2F      		mov r30,r26
 376 00b6 8181      		ldd r24,Z+1
 377 00b8 F32F      		mov r31,r19
 378 00ba E22F      		mov r30,r18
 379 00bc E80F      		add r30,r24
 380 00be F11D      		adc r31,__zero_reg__
 381               	/* #APP */
 382 00c0 C895      		lpm
 383 00c2 802D      		mov r24, r0
 384               		
 385               	/* #NOAPP */
 386               	.LBE3:
 387 00c4 8093 0000 		sts Display_data+8,r24
 388               	.LBB4:
 145:DisplayAndKey.c **** Display_data[7]=pgm_read_byte(Display_Code+((*(Keydata+2)) -0x30));
 390               	.LM49:
 391 00c8 FB2F      		mov r31,r27
 392 00ca EA2F      		mov r30,r26
 393 00cc 8281      		ldd r24,Z+2
 394 00ce F32F      		mov r31,r19
 395 00d0 E22F      		mov r30,r18
 396 00d2 E80F      		add r30,r24
 397 00d4 F11D      		adc r31,__zero_reg__
 398               	/* #APP */
 399 00d6 C895      		lpm
 400 00d8 802D      		mov r24, r0
 401               		
 402               	/* #NOAPP */
 403               	.LBE4:
 404 00da 8093 0000 		sts Display_data+7,r24
 405               	.LBB5:
 146:DisplayAndKey.c **** Display_data[0]=pgm_read_byte(Display_Code+((*(Keydata+3)) -0x30));
 407               	.LM50:
 408 00de FB2F      		mov r31,r27
 409 00e0 EA2F      		mov r30,r26
 410 00e2 8381      		ldd r24,Z+3
 411 00e4 F32F      		mov r31,r19
 412 00e6 E22F      		mov r30,r18
 413 00e8 E80F      		add r30,r24
 414 00ea F11D      		adc r31,__zero_reg__
 415               	/* #APP */
 416 00ec C895      		lpm
 417 00ee 802D      		mov r24, r0
 418               		
 419               	/* #NOAPP */
 420               	.LBE5:
 421 00f0 8093 0000 		sts Display_data,r24
 422               	.LBB6:
 147:DisplayAndKey.c **** Display_data[1]=pgm_read_byte(Display_Code+((*(Keydata+4)) -0x30));
 424               	.LM51:
 425 00f4 FB2F      		mov r31,r27
 426 00f6 EA2F      		mov r30,r26
 427 00f8 8481      		ldd r24,Z+4
 428 00fa F32F      		mov r31,r19
 429 00fc E22F      		mov r30,r18
 430 00fe E80F      		add r30,r24
 431 0100 F11D      		adc r31,__zero_reg__
 432               	/* #APP */
 433 0102 C895      		lpm
 434 0104 802D      		mov r24, r0
 435               		
 436               	/* #NOAPP */
 437               	.LBE6:
 438 0106 8093 0000 		sts Display_data+1,r24
 439               	.LBB7:
 148:DisplayAndKey.c **** Display_data[2]=pgm_read_byte(Display_Code+((*(Keydata+5)) -0x30));//AVR Flash 
 441               	.LM52:
 442 010a FB2F      		mov r31,r27
 443 010c EA2F      		mov r30,r26
 444 010e 8581      		ldd r24,Z+5
 445 0110 F32F      		mov r31,r19
 446 0112 E22F      		mov r30,r18
 447 0114 E80F      		add r30,r24
 448 0116 F11D      		adc r31,__zero_reg__
 449               	/* #APP */
 450 0118 C895      		lpm
 451 011a 802D      		mov r24, r0
 452               		
 453               	/* #NOAPP */
 454               	.LBE7:
 455 011c 8093 0000 		sts Display_data+2,r24
 456               	.LBB8:
 149:DisplayAndKey.c **** Display_data[3]=pgm_read_byte(Display_Code+((*(Keydata+6)) -0x30));
 458               	.LM53:
 459 0120 FB2F      		mov r31,r27
 460 0122 EA2F      		mov r30,r26
 461 0124 8681      		ldd r24,Z+6
 462 0126 F32F      		mov r31,r19
 463 0128 E22F      		mov r30,r18
 464 012a E80F      		add r30,r24
 465 012c F11D      		adc r31,__zero_reg__
 466               	/* #APP */
 467 012e C895      		lpm
 468 0130 802D      		mov r24, r0
 469               		
 470               	/* #NOAPP */
 471               	.LBE8:
 472 0132 8093 0000 		sts Display_data+3,r24
 473               	.LBB9:
 150:DisplayAndKey.c **** Display_data[4]=pgm_read_byte(Display_Code+((*(Keydata+7)) -0x30));
 475               	.LM54:
 476 0136 FB2F      		mov r31,r27
 477 0138 EA2F      		mov r30,r26
 478 013a 8781      		ldd r24,Z+7
 479 013c F32F      		mov r31,r19
 480 013e E22F      		mov r30,r18
 481 0140 E80F      		add r30,r24
 482 0142 F11D      		adc r31,__zero_reg__
 483               	/* #APP */
 484 0144 C895      		lpm
 485 0146 802D      		mov r24, r0
 486               		
 487               	/* #NOAPP */
 488               	.LBE9:
 489 0148 8093 0000 		sts Display_data+4,r24
 490               	.LBB10:
 151:DisplayAndKey.c **** Display_data[5]=pgm_read_byte(Display_Code+((*(Keydata+8)) -0x30));
 492               	.LM55:
 493 014c FB2F      		mov r31,r27
 494 014e EA2F      		mov r30,r26
 495 0150 8085      		ldd r24,Z+8
 496 0152 F32F      		mov r31,r19
 497 0154 E22F      		mov r30,r18
 498 0156 E80F      		add r30,r24
 499 0158 F11D      		adc r31,__zero_reg__
 500               	/* #APP */
 501 015a C895      		lpm
 502 015c 802D      		mov r24, r0
 503               		
 504               	/* #NOAPP */
 505               	.LBE10:
 506 015e 8093 0000 		sts Display_data+5,r24
 507               	/* epilogue: frame size=0 */
 508 0162 0895      		ret
 509               	/* epilogue end (size=1) */
 510               	/* function Display size 138 (137) */
 548               	.Lscope3:
 550               		.text
 552               	Letext:
 553               	/* File "DisplayAndKey.c": code  215 = 0x00d7 ( 211), prologues   0, epilogues   4 */
DEFINED SYMBOLS
                            *ABS*:00000000 DisplayAndKey.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:77     .progmem.data:00000000 Display_Code
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:126    .text:00000000 V_SPI_SEND
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:173    .text:0000001a V_DISPLAYDATA_SEND
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:278    .text:00000072 V_Kay_Scan
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:347    .text:00000098 Display
C:\DOCUME~1\WANGZH~1\LOCALS~1\Temp/ccy6aaaa.s:552    .text:00000164 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Display_data

⌨️ 快捷键说明

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