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

📄 iic_avr.lst

📁 串口转发IIC程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 280 014a 9105      		cpc r25,__zero_reg__
 281 014c 09F4      		brne .+2
 282 014e A6C0      		rjmp .L8
 283 0150 2A81      		ldd r18,Y+2
 284 0152 3B81      		ldd r19,Y+3
 285 0154 2031      		cpi r18,16
 286 0156 3105      		cpc r19,__zero_reg__
 287 0158 09F4      		brne .+2
 288 015a A0C0      		rjmp .L8
 289 015c FFC1      		rjmp .L46
 290               	.L49:
 291 015e 8A81      		ldd r24,Y+2
 292 0160 9B81      		ldd r25,Y+3
 293 0162 8032      		cpi r24,32
 294 0164 9105      		cpc r25,__zero_reg__
 295 0166 09F4      		brne .+2
 296 0168 D6C0      		rjmp .L13
 297 016a 2A81      		ldd r18,Y+2
 298 016c 3B81      		ldd r19,Y+3
 299 016e 2832      		cpi r18,40
 300 0170 3105      		cpc r19,__zero_reg__
 301 0172 09F4      		brne .+2
 302 0174 A2C0      		rjmp .L10
 303 0176 F2C1      		rjmp .L46
 304               	.L48:
 305 0178 8A81      		ldd r24,Y+2
 306 017a 9B81      		ldd r25,Y+3
 307 017c 8834      		cpi r24,72
 308 017e 9105      		cpc r25,__zero_reg__
 309 0180 09F4      		brne .+2
 310 0182 8DC1      		rjmp .L34
 311 0184 2A81      		ldd r18,Y+2
 312 0186 3B81      		ldd r19,Y+3
 313 0188 2934      		cpi r18,73
 314 018a 3105      		cpc r19,__zero_reg__
 315 018c 6CF4      		brge .L50
 316 018e 8A81      		ldd r24,Y+2
 317 0190 9B81      		ldd r25,Y+3
 318 0192 8833      		cpi r24,56
 319 0194 9105      		cpc r25,__zero_reg__
 320 0196 09F4      		brne .+2
 321 0198 ECC0      		rjmp .L15
 322 019a 2A81      		ldd r18,Y+2
 323 019c 3B81      		ldd r19,Y+3
 324 019e 2034      		cpi r18,64
 325 01a0 3105      		cpc r19,__zero_reg__
 326 01a2 09F4      		brne .+2
 327 01a4 43C1      		rjmp .L30
 328 01a6 DAC1      		rjmp .L46
 329               	.L50:
 330 01a8 8A81      		ldd r24,Y+2
 331 01aa 9B81      		ldd r25,Y+3
 332 01ac 8835      		cpi r24,88
 333 01ae 9105      		cpc r25,__zero_reg__
 334 01b0 09F4      		brne .+2
 335 01b2 87C1      		rjmp .L35
 336 01b4 2A81      		ldd r18,Y+2
 337 01b6 3B81      		ldd r19,Y+3
 338 01b8 2935      		cpi r18,89
 339 01ba 3105      		cpc r19,__zero_reg__
 340 01bc 3CF4      		brge .L51
 341 01be 8A81      		ldd r24,Y+2
 342 01c0 9B81      		ldd r25,Y+3
 343 01c2 8035      		cpi r24,80
 344 01c4 9105      		cpc r25,__zero_reg__
 345 01c6 09F4      		brne .+2
 346 01c8 37C1      		rjmp .L31
 347 01ca C8C1      		rjmp .L46
 348               	.L51:
 349 01cc 2A81      		ldd r18,Y+2
 350 01ce 3B81      		ldd r19,Y+3
 351 01d0 2036      		cpi r18,96
 352 01d2 3105      		cpc r19,__zero_reg__
 353 01d4 09F4      		brne .+2
 354 01d6 EEC0      		rjmp .L21
 355 01d8 C1C1      		rjmp .L46
 356               	.L47:
 357 01da 8A81      		ldd r24,Y+2
 358 01dc 9B81      		ldd r25,Y+3
 359 01de 8839      		cpi r24,152
 360 01e0 9105      		cpc r25,__zero_reg__
 361 01e2 09F4      		brne .+2
 362 01e4 0FC1      		rjmp .L27
 363 01e6 2A81      		ldd r18,Y+2
 364 01e8 3B81      		ldd r19,Y+3
 365 01ea 2939      		cpi r18,153
 366 01ec 3105      		cpc r19,__zero_reg__
 367 01ee 2CF5      		brge .L52
 368 01f0 8A81      		ldd r24,Y+2
 369 01f2 9B81      		ldd r25,Y+3
 370 01f4 8038      		cpi r24,128
 371 01f6 9105      		cpc r25,__zero_reg__
 372 01f8 09F4      		brne .+2
 373 01fa E5C0      		rjmp .L23
 374 01fc 2A81      		ldd r18,Y+2
 375 01fe 3B81      		ldd r19,Y+3
 376 0200 2138      		cpi r18,129
 377 0202 3105      		cpc r19,__zero_reg__
 378 0204 6CF4      		brge .L53
 379 0206 8A81      		ldd r24,Y+2
 380 0208 9B81      		ldd r25,Y+3
 381 020a 8037      		cpi r24,112
 382 020c 9105      		cpc r25,__zero_reg__
 383 020e 09F4      		brne .+2
 384 0210 D1C0      		rjmp .L21
 385 0212 2A81      		ldd r18,Y+2
 386 0214 3B81      		ldd r19,Y+3
 387 0216 2837      		cpi r18,120
 388 0218 3105      		cpc r19,__zero_reg__
 389 021a 09F4      		brne .+2
 390 021c CBC0      		rjmp .L21
 391 021e 9EC1      		rjmp .L46
 392               	.L53:
 393 0220 8A81      		ldd r24,Y+2
 394 0222 9B81      		ldd r25,Y+3
 395 0224 8838      		cpi r24,136
 396 0226 9105      		cpc r25,__zero_reg__
 397 0228 09F4      		brne .+2
 398 022a ECC0      		rjmp .L27
 399 022c 2A81      		ldd r18,Y+2
 400 022e 3B81      		ldd r19,Y+3
 401 0230 2039      		cpi r18,144
 402 0232 3105      		cpc r19,__zero_reg__
 403 0234 09F4      		brne .+2
 404 0236 C7C0      		rjmp .L23
 405 0238 91C1      		rjmp .L46
 406               	.L52:
 407 023a 8A81      		ldd r24,Y+2
 408 023c 9B81      		ldd r25,Y+3
 409 023e 803B      		cpi r24,176
 410 0240 9105      		cpc r25,__zero_reg__
 411 0242 09F4      		brne .+2
 412 0244 7BC1      		rjmp .L43
 413 0246 2A81      		ldd r18,Y+2
 414 0248 3B81      		ldd r19,Y+3
 415 024a 213B      		cpi r18,177
 416 024c 3105      		cpc r19,__zero_reg__
 417 024e 6CF4      		brge .L54
 418 0250 8A81      		ldd r24,Y+2
 419 0252 9B81      		ldd r25,Y+3
 420 0254 803A      		cpi r24,160
 421 0256 9105      		cpc r25,__zero_reg__
 422 0258 09F4      		brne .+2
 423 025a D8C0      		rjmp .L28
 424 025c 2A81      		ldd r18,Y+2
 425 025e 3B81      		ldd r19,Y+3
 426 0260 283A      		cpi r18,168
 427 0262 3105      		cpc r19,__zero_reg__
 428 0264 09F4      		brne .+2
 429 0266 4BC1      		rjmp .L38
 430 0268 79C1      		rjmp .L46
 431               	.L54:
 432 026a 8A81      		ldd r24,Y+2
 433 026c 9B81      		ldd r25,Y+3
 434 026e 803C      		cpi r24,192
 435 0270 9105      		cpc r25,__zero_reg__
 436 0272 09F4      		brne .+2
 437 0274 63C1      		rjmp .L43
 438 0276 2A81      		ldd r18,Y+2
 439 0278 3B81      		ldd r19,Y+3
 440 027a 213C      		cpi r18,193
 441 027c 3105      		cpc r19,__zero_reg__
 442 027e 3CF4      		brge .L55
 443 0280 8A81      		ldd r24,Y+2
 444 0282 9B81      		ldd r25,Y+3
 445 0284 883B      		cpi r24,184
 446 0286 9105      		cpc r25,__zero_reg__
 447 0288 09F4      		brne .+2
 448 028a 3EC1      		rjmp .L39
 449 028c 67C1      		rjmp .L46
 450               	.L55:
 451 028e 2A81      		ldd r18,Y+2
 452 0290 3B81      		ldd r19,Y+3
 453 0292 283C      		cpi r18,200
 454 0294 3105      		cpc r19,__zero_reg__
 455 0296 09F4      		brne .+2
 456 0298 51C1      		rjmp .L43
 457 029a 60C1      		rjmp .L46
 458               	.L8:
  96:IIC_AVR.c     **** 	{
  97:IIC_AVR.c     **** 	case TW_START:	// A START has transmit to IIC bus
  98:IIC_AVR.c     **** 	case TW_REP_START:	//A REPEAT START has transmit to IIC bus
  99:IIC_AVR.c     **** 		ucIICMode=IIC_MODE_MASTER_TRANSMIT;
 460               	.LM23:
 461 029c 82E0      		ldi r24,lo8(2)
 462 029e 8093 0000 		sts ucIICMode,r24
 100:IIC_AVR.c     **** 		IIC_SLA;			//Send SLA+R/W to IIC bus
 464               	.LM24:
 465 02a2 8091 0000 		lds r24,IIC_Buffer_Out+18
 466 02a6 880F      		lsl r24
 467 02a8 8093 2300 		sts 35,r24
 468 02ac 8FEF      		ldi r24,lo8(-1)
 469 02ae 8093 0000 		sts ucIICTimeoutCount,r24
 101:IIC_AVR.c     **** //		cbi(TWCR,TWSTA);	//Clear TWSTA 
 102:IIC_AVR.c     **** 		TWCR=(_BV(TWEN)|_BV(TWEA)|_BV(TWIE)|_BV(TWINT));	
 471               	.LM25:
 472 02b2 85EC      		ldi r24,lo8(-59)
 473 02b4 8093 5600 		sts 86,r24
 103:IIC_AVR.c     **** 		break;
 475               	.LM26:
 476 02b8 54C1      		rjmp .L5
 477               	.L10:
 104:IIC_AVR.c     **** 	case TW_MT_SLA_ACK:	
 105:IIC_AVR.c     **** 	case TW_MT_DATA_ACK:	//Send data to Slave IIC device
 106:IIC_AVR.c     **** 		if(IIC_Buffer_Out.ucWriteP!=IIC_Buffer_Out.ucReadP)
 479               	.LM27:
 480 02ba 9091 0000 		lds r25,IIC_Buffer_Out+16
 481 02be 8091 0000 		lds r24,IIC_Buffer_Out+17
 482 02c2 9817      		cp r25,r24
 483 02c4 A1F0      		breq .L11
 107:IIC_AVR.c     **** 		{	// Data transmit not finish
 108:IIC_AVR.c     **** 			IIC_BUFFER_TO_BUS;
 485               	.LM28:
 486 02c6 A0E0      		ldi r26,lo8(IIC_Buffer_Out+17)
 487 02c8 B0E0      		ldi r27,hi8(IIC_Buffer_Out+17)
 488 02ca 2C91      		ld r18,X
 489 02cc 822F      		mov r24,r18
 490 02ce 9927      		clr r25
 491 02d0 FC01      		movw r30,r24
 492 02d2 E050      		subi r30,lo8(-(IIC_Buffer_Out))
 493 02d4 F040      		sbci r31,hi8(-(IIC_Buffer_Out))
 494 02d6 2F5F      		subi r18,lo8(-(1))
 495 02d8 2C93      		st X,r18
 496 02da 8081      		ld r24,Z
 497 02dc 8093 2300 		sts 35,r24
 498 02e0 8FEF      		ldi r24,lo8(-1)
 499 02e2 8093 0000 		sts ucIICTimeoutCount,r24
 109:IIC_AVR.c     **** 			TWCR=(_BV(TWEN)|_BV(TWEA)|_BV(TWIE)|_BV(TWINT));	
 501               	.LM29:
 502 02e6 85EC      		ldi r24,lo8(-59)
 503 02e8 8093 5600 		sts 86,r24
 110:IIC_AVR.c     **** 			break;
 505               	.LM30:
 506 02ec 3AC1      		rjmp .L5
 507               	.L11:
 111:IIC_AVR.c     **** 		}
 112:IIC_AVR.c     **** 		else
 113:IIC_AVR.c     **** 		{
 114:IIC_AVR.c     **** 			IIC_STOP;		//Data transmit finish,Release IIC bus
 509               	.LM31:
 510 02ee 8091 5600 		lds r24,86
 511 02f2 8569      		ori r24,lo8(-107)
 512 02f4 8093 5600 		sts 86,r24
 513 02f8 1092 0000 		sts ucIICTimeoutCount,__zero_reg__
 115:IIC_AVR.c     **** 			//Enable user program write a new command to IIC transmit buffer
 116:IIC_AVR.c     **** 			IIC_Buffer_Out.ucIICBufferStatus.bEnAccess=1;
 515               	.LM32:
 516 02fc 8091 0000 		lds r24,IIC_Buffer_Out+19
 517 0300 8160      		ori r24,lo8(1)
 518 0302 8093 0000 		sts IIC_Buffer_Out+19,r24
 117:IIC_AVR.c     **** 			IIC_Buffer_Out.ucReadP=0;
 520               	.LM33:
 521 0306 1092 0000 		sts IIC_Buffer_Out+17,__zero_reg__
 118:IIC_AVR.c     **** 			IIC_Buffer_Out.ucWriteP=0;
 523               	.LM34:
 524 030a 1092 0000 		sts IIC_Buffer_Out+16,__zero_reg__
 119:IIC_AVR.c     **** 			ucIICMode=IIC_MODE_SLAVE_RECEIVE;
 526               	.LM35:
 527 030e 81E0      		ldi r24,lo8(1)
 528 0310 8093 0000 		sts ucIICMode,r24
 120:IIC_AVR.c     **** 			break;
 530               	.LM36:
 531 0314 26C1      		rjmp .L5
 532               	.L13:
 121:IIC_AVR.c     **** 		}
 122:IIC_AVR.c     **** 	case TW_MT_SLA_NACK:	//Slave IIC device did not return a NACK during
 123:IIC_AVR.c     **** 							//address phase
 124:IIC_AVR.c     **** 		IIC_STOP;			//Slave address error,Release IIC bus
 534               	.LM37:
 535 0316 8091 5600 		lds r24,86
 536 031a 8569      		ori r24,lo8(-107)
 537 031c 8093 5600 		sts 86,r24
 538 0320 1092 0000 		sts ucIICTimeoutCount,__zero_reg__
 125:IIC_AVR.c     **** 		//Enable user program write a new command to IIC transmit buffer
 126:IIC_AVR.c     **** 		ucIICMode=IIC_MODE_SLAVE_RECEIVE;
 540               	.LM38:
 541 0324 81E0      		ldi r24,lo8(1)
 542 0326 8093 0000 		sts ucIICMode,r24
 127:IIC_AVR.c     **** 		ucIICError=IIC_ERROR_NOT_ACK_SLA;
 544               	.LM39:
 545 032a 81E8      		ldi r24,lo8(-127)
 546 032c 8093 0000 		sts ucIICError,r24
 128:IIC_AVR.c     **** 		IIC_Buffer_Out.ucIICBufferStatus.bEnAccess=1;
 548               	.LM40:
 549 0330 8091 0000 		lds r24,IIC_Buffer_Out+19
 550 0334 8160      		ori r24,lo8(1)
 551 0336 8093 0000 		sts IIC_Buffer_Out+19,r24
 129:IIC_AVR.c     **** 		IIC_Buffer_Out.ucReadP=0;
 553               	.LM41:
 554 033a 1092 0000 		sts IIC_Buffer_Out+17,__zero_reg__
 130:IIC_AVR.c     **** 		IIC_Buffer_Out.ucWriteP=0;
 556               	.LM42:
 557 033e 1092 0000 		sts IIC_Buffer_Out+16,__zero_reg__
 131:IIC_AVR.c     **** 		break;
 559               	.LM43:
 560 0342 0FC1      		rjmp .L5
 561               	.L14:
 132:IIC_AVR.c     **** 	case TW_MT_DATA_NACK:	//Slave IIC device did not return a NACK during 
 133:IIC_AVR.c     **** 							//data transfer phase

⌨️ 快捷键说明

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