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

📄 master.lst

📁 avr单片机的一些实际应用源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 186 003c 94E8      		ldi r25,lo8(-124)
  62:master.c      **** 		
  63:master.c      **** 	if(ack)
 188               	.LM19:
 189 003e 6111      		cpse r22,__zero_reg__
  64:master.c      **** 		tmp|=_BV(TWEA); 	
 191               	.LM20:
 192 0040 94EC      		ldi r25,lo8(-60)
 193               	.L19:
  65:master.c      **** 	TWCR=tmp;
 195               	.LM21:
 196 0042 96BF      		out 86-0x20,r25
 197               	.L20:
  66:master.c      **** 	while ((TWCR & _BV(TWINT)) == 0) ;
 199               	.LM22:
 200 0044 06B6      		in __tmp_reg__,86-0x20
 201 0046 07FE      		sbrs __tmp_reg__,7
 202 0048 FDCF      		rjmp .L20
  67:master.c      **** 
  68:master.c      **** 	*c=TWDR;
 204               	.LM23:
 205 004a 83B1      		in r24,35-0x20
 206 004c 8083      		st Z,r24
  69:master.c      **** 
  70:master.c      **** 	return TW_STATUS;
 208               	.LM24:
 209 004e 81B1      		in r24,33-0x20
 210 0050 9927      		clr r25
  71:master.c      **** }
 212               	.LM25:
 213 0052 887F      		andi r24,lo8(248)
 214 0054 9070      		andi r25,hi8(248)
 215               	/* epilogue: frame size=0 */
 216 0056 0895      		ret
 217               	/* epilogue end (size=1) */
 218               	/* function twi_readbyte size 16 (15) */
 222               	.global	WaitKeyDown
 224               	WaitKeyDown:
  72:master.c      **** /*************主模式IIC操作部分*************结束**************/
  73:master.c      **** 
  74:master.c      **** //检测按键
  75:master.c      **** uchar WaitKeyDown(void)
  76:master.c      **** {
 226               	.LM26:
 227               	/* prologue: frame size=0 */
 228 0058 CF93      		push r28
 229               	/* prologue end (size=1) */
 230               	.L24:
  77:master.c      **** 	uchar key;
  78:master.c      **** 	
  79:master.c      **** 	while(1)
  80:master.c      **** 	{
  81:master.c      **** 		key=PIND & KEY;
  82:master.c      **** 		if(	key!=KEY)
 232               	.LM27:
 233 005a 8299      		sbic 48-0x20,2
 234 005c 08C0      		rjmp .L26
  83:master.c      **** 		{
  84:master.c      **** 			DelayMs(30);
 236               	.LM28:
 237 005e 8EE1      		ldi r24,lo8(30)
 238 0060 90E0      		ldi r25,hi8(30)
 239 0062 CEDF      		rcall DelayMs
  85:master.c      **** 			key=PIND & KEY;
 241               	.LM29:
 242 0064 80B3      		in r24,48-0x20
  86:master.c      **** 			if(key!=KEY)
 244               	.LM30:
 245 0066 C82F      		mov r28,r24
 246 0068 C470      		andi r28,lo8(4)
 247 006a 82FF      		sbrs r24,2
 248 006c 04C0      		rjmp .L25
 249               	.L26:
  87:master.c      **** 				break;
  88:master.c      **** 		}
  89:master.c      **** 		DelayMs(1);
 251               	.LM31:
 252 006e 81E0      		ldi r24,lo8(1)
 253 0070 90E0      		ldi r25,hi8(1)
 254 0072 C6DF      		rcall DelayMs
 255 0074 F2CF      		rjmp .L24
 256               	.L25:
  90:master.c      **** 	}
  91:master.c      **** 
  92:master.c      **** 	while((PIND & KEY)!=KEY)
  93:master.c      **** 		DelayMs(10);
 258               	.LM32:
 259 0076 8299      		sbic 48-0x20,2
 260 0078 05C0      		rjmp .L32
 261               	.L30:
 262 007a 8AE0      		ldi r24,lo8(10)
 263 007c 90E0      		ldi r25,hi8(10)
 264 007e C0DF      		rcall DelayMs
 265 0080 829B      		sbis 48-0x20,2
 266 0082 FBCF      		rjmp .L30
 267               	.L32:
  94:master.c      **** 		
  95:master.c      **** 	return key;
  96:master.c      **** }
 269               	.LM33:
 270 0084 8C2F      		mov r24,r28
 271 0086 9927      		clr r25
 272               	/* epilogue: frame size=0 */
 273 0088 CF91      		pop r28
 274 008a 0895      		ret
 275               	/* epilogue end (size=2) */
 276               	/* function WaitKeyDown size 26 (23) */
 280               	.global	main
 282               	main:
  97:master.c      **** 
  98:master.c      **** int main(void)
  99:master.c      **** {
 284               	.LM34:
 285               	/* prologue: frame size=0 */
 286 008c C0E0      		ldi r28,lo8(__stack - 0)
 287 008e D0E0      		ldi r29,hi8(__stack - 0)
 288 0090 DEBF      		out __SP_H__,r29
 289 0092 CDBF      		out __SP_L__,r28
 290               	/* prologue end (size=4) */
 100:master.c      **** 	uchar i;
 101:master.c      **** 	
 102:master.c      **** 	//便能SCL、SDA引脚内部上拉电阻
 103:master.c      **** 	DDRC=0;
 292               	.LM35:
 293 0094 14BA      		out 52-0x20,__zero_reg__
 104:master.c      **** 	PORTC=0X30;
 295               	.LM36:
 296 0096 80E3      		ldi r24,lo8(48)
 297 0098 85BB      		out 53-0x20,r24
 105:master.c      **** 	
 106:master.c      **** 	//
 107:master.c      **** 	DDRD=0;
 299               	.LM37:
 300 009a 11BA      		out 49-0x20,__zero_reg__
 108:master.c      **** 	PORTD=0;
 302               	.LM38:
 303 009c 12BA      		out 50-0x20,__zero_reg__
 109:master.c      **** 	
 110:master.c      **** 	TWBR=73;
 305               	.LM39:
 306 009e 89E4      		ldi r24,lo8(73)
 307 00a0 80B9      		out 32-0x20,r24
 308               	.L34:
 111:master.c      **** 	
 112:master.c      **** 	while(1)
 113:master.c      **** 	{
 114:master.c      **** 		WaitKeyDown();
 310               	.LM40:
 311 00a2 DADF      		rcall WaitKeyDown
 115:master.c      **** 	
 116:master.c      **** 		twi_start();
 313               	.LM41:
 314 00a4 BBDF      		rcall twi_start
 117:master.c      **** 		WAITPRINTDEBUG;
 316               	.LM42:
 317 00a6 84E6      		ldi r24,lo8(100)
 318 00a8 90E0      		ldi r25,hi8(100)
 319 00aa AADF      		rcall DelayMs
 118:master.c      **** 		twi_writebyte(TWI_ADDRESS|TW_WRITE);
 321               	.LM43:
 322 00ac 82E3      		ldi r24,lo8(50)
 323 00ae BDDF      		rcall twi_writebyte
 119:master.c      **** 		WAITPRINTDEBUG;
 325               	.LM44:
 326 00b0 84E6      		ldi r24,lo8(100)
 327 00b2 90E0      		ldi r25,hi8(100)
 328 00b4 A5DF      		rcall DelayMs
 120:master.c      **** 		for(i=0;i<10;i++)
 330               	.LM45:
 331 00b6 C0E0      		ldi r28,lo8(0)
 332               	.L39:
 121:master.c      **** 		{
 122:master.c      **** 			twi_writebyte(i);
 334               	.LM46:
 335 00b8 8C2F      		mov r24,r28
 336 00ba B7DF      		rcall twi_writebyte
 123:master.c      **** 			WAITPRINTDEBUG;
 338               	.LM47:
 339 00bc 84E6      		ldi r24,lo8(100)
 340 00be 90E0      		ldi r25,hi8(100)
 341 00c0 9FDF      		rcall DelayMs
 343               	.LM48:
 344 00c2 CF5F      		subi r28,lo8(-(1))
 345 00c4 CA30      		cpi r28,lo8(10)
 346 00c6 C0F3      		brlo .L39
 124:master.c      **** 		}
 125:master.c      **** 		twi_stop();
 348               	.LM49:
 349 00c8 A6DF      		rcall twi_stop
 350 00ca EBCF      		rjmp .L34
 351               	/* epilogue: frame size=0 */
 352               	/* epilogue: noreturn */
 353               	/* epilogue end (size=0) */
 354               	/* function main size 32 (28) */
 357               		.text
 359               	Letext:
 360               	/* File "master.c": code  107 = 0x006b (  96), prologues   5, epilogues   6 */
DEFINED SYMBOLS
                            *ABS*:00000000 master.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:55     .text:00000000 DelayMs
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:103    .text:00000016 twi_stop
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:120    .text:0000001c twi_start
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:147    .text:0000002a twi_writebyte
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:178    .text:0000003a twi_readbyte
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:224    .text:00000058 WaitKeyDown
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:282    .text:0000008c main
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccQfaaaa.s:359    .text:000000cc Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

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