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

📄 main.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取ISO15693类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
 542 01a2 C093 0000 		sts previous_delay,r28
 267:main.c        ****                 store_bit( 0, 1 );
 543               		.stabn 68,0,267,.LM60-__vector_5
 544               	.LM60:
 545 01a6 61E0      		ldi r22,lo8(1)
 546 01a8 80E0      		ldi r24,lo8(0)
 547 01aa 99DF      		rcall store_bit
 268:main.c        ****                 store_bit( 1 , 1 );
 548               		.stabn 68,0,268,.LM61-__vector_5
 549               	.LM61:
 550 01ac 61E0      		ldi r22,lo8(1)
 551 01ae 862F      		mov r24,r22
 552 01b0 6CC0      		rjmp .L45
 553               	.L26:
 269:main.c        ****             }                                        //pulsePerBit = 8 or 32;
 270:main.c        ****             else if ( ( sof == 0 ) && ( z >= ( uint8_t )( pulsesPerBit3 - TOLERANCE ) ) && ( z <= (
 554               		.stabn 68,0,270,.LM62-__vector_5
 555               	.LM62:
 556 01b2 8091 0000 		lds r24,sof
 557 01b6 8823      		tst r24
 558 01b8 59F4      		brne .L28
 559 01ba 9091 0000 		lds r25,pulsesPerBit3
 560 01be 892F      		mov r24,r25
 561 01c0 8350      		subi r24,lo8(-(-3))
 562 01c2 2817      		cp r18,r24
 563 01c4 28F0      		brlo .L28
 564 01c6 9D5F      		subi r25,lo8(-(3))
 565 01c8 9217      		cp r25,r18
 566 01ca 10F0      		brlo .L28
 271:main.c        ****                 sof = 1;              //SOF;
 567               		.stabn 68,0,271,.LM63-__vector_5
 568               	.LM63:
 569 01cc 81E0      		ldi r24,lo8(1)
 570 01ce 4CC0      		rjmp .L44
 571               	.L28:
 272:main.c        ****             else if ( sof == 1 ) 
 572               		.stabn 68,0,272,.LM64-__vector_5
 573               	.LM64:
 574 01d0 1091 0000 		lds r17,sof
 575 01d4 1130      		cpi r17,lo8(1)
 576 01d6 09F0      		breq .+2
 577 01d8 4AC0      		rjmp .L30
 273:main.c        ****             {        
 274:main.c        ****                 if ( ( z >= ( uint8_t )( pulsesPerBit2 - TOLERANCE ) ) && ( z <= ( uint8_t )( pulse
 578               		.stabn 68,0,274,.LM65-__vector_5
 579               	.LM65:
 580 01da 9091 0000 		lds r25,pulsesPerBit2
 581 01de 892F      		mov r24,r25
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 16


 582 01e0 8350      		subi r24,lo8(-(-3))
 583 01e2 2817      		cp r18,r24
 584 01e4 C0F0      		brlo .L31
 585 01e6 8A5F      		subi r24,lo8(-(6))
 586 01e8 8217      		cp r24,r18
 587 01ea A8F0      		brlo .L31
 275:main.c        ****                 {
 276:main.c        ****                     store_bit( 1 , 0 );
 588               		.stabn 68,0,276,.LM66-__vector_5
 589               	.LM66:
 590 01ec 60E0      		ldi r22,lo8(0)
 591 01ee 812F      		mov r24,r17
 592 01f0 76DF      		rcall store_bit
 277:main.c        ****                     store_bit( 0 , 0 );
 593               		.stabn 68,0,277,.LM67-__vector_5
 594               	.LM67:
 595 01f2 60E0      		ldi r22,lo8(0)
 596 01f4 862F      		mov r24,r22
 597 01f6 73DF      		rcall store_bit
 278:main.c        ****                     if ( capt < ( 2 * halfDataRate ) )
 598               		.stabn 68,0,278,.LM68-__vector_5
 599               	.LM68:
 600 01f8 8091 0000 		lds r24,halfDataRate
 601 01fc 9091 0000 		lds r25,(halfDataRate)+1
 602 0200 880F      		add r24,r24
 603 0202 991F      		adc r25,r25
 604 0204 C817      		cp r28,r24
 605 0206 D907      		cpc r29,r25
 606 0208 18F4      		brsh .L32
 279:main.c        ****                         bit_pos = 0;
 607               		.stabn 68,0,279,.LM69-__vector_5
 608               	.LM69:
 609 020a 1092 0000 		sts bit_pos,__zero_reg__
 610 020e 3EC0      		rjmp .L43
 611               	.L32:
 280:main.c        ****                     else
 281:main.c        ****                         bit_pos = 1;
 612               		.stabn 68,0,281,.LM70-__vector_5
 613               	.LM70:
 614 0210 1093 0000 		sts bit_pos,r17
 615 0214 3BC0      		rjmp .L43
 616               	.L31:
 282:main.c        ****                 }
 283:main.c        ****                 else if ( ( z >= ( uint8_t )( pulsesPerBit - TOLERANCE ) ) && ( z <= ( uint8_t )( p
 617               		.stabn 68,0,283,.LM71-__vector_5
 618               	.LM71:
 619 0216 832F      		mov r24,r19
 620 0218 8350      		subi r24,lo8(-(-3))
 621 021a 2817      		cp r18,r24
 622 021c A0F0      		brlo .L35
 623 021e 3D5F      		subi r19,lo8(-(3))
 624 0220 3217      		cp r19,r18
 625 0222 88F0      		brlo .L35
 284:main.c        ****                 {
 285:main.c        ****                     store_bit( bit_pos , 0 );      //0!
 626               		.stabn 68,0,285,.LM72-__vector_5
 627               	.LM72:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 17


 628 0224 60E0      		ldi r22,lo8(0)
 629 0226 8091 0000 		lds r24,bit_pos
 630 022a 59DF      		rcall store_bit
 286:main.c        ****                     if ( capt >= ( 2 * halfDataRate ) )
 631               		.stabn 68,0,286,.LM73-__vector_5
 632               	.LM73:
 633 022c 8091 0000 		lds r24,halfDataRate
 634 0230 9091 0000 		lds r25,(halfDataRate)+1
 635 0234 880F      		add r24,r24
 636 0236 991F      		adc r25,r25
 637 0238 C817      		cp r28,r24
 638 023a D907      		cpc r29,r25
 639 023c 38F1      		brlo .L43
 287:main.c        ****                         bit_pos = 1;
 640               		.stabn 68,0,287,.LM74-__vector_5
 641               	.LM74:
 642 023e 81E0      		ldi r24,lo8(1)
 643 0240 8093 0000 		sts bit_pos,r24
 644 0244 23C0      		rjmp .L43
 645               	.L35:
 288:main.c        ****                 }
 289:main.c        ****                 else if ( ( z >= ( uint8_t )( pulsesPerBit3 - TOLERANCE ) ) && ( z <= ( uint8_t )( 
 646               		.stabn 68,0,289,.LM75-__vector_5
 647               	.LM75:
 648 0246 8091 0000 		lds r24,pulsesPerBit3
 649 024a 8350      		subi r24,lo8(-(-3))
 650 024c 2817      		cp r18,r24
 651 024e 78F0      		brlo .L30
 652 0250 9D5F      		subi r25,lo8(-(3))
 653 0252 9217      		cp r25,r18
 654 0254 60F0      		brlo .L30
 655 0256 CA01      		movw r24,r20
 656 0258 880F      		lsl r24
 657 025a 991F      		rol r25
 658 025c 840F      		add r24,r20
 659 025e 951F      		adc r25,r21
 660 0260 8C17      		cp r24,r28
 661 0262 9D07      		cpc r25,r29
 662 0264 20F4      		brsh .L30
 290:main.c        ****                 {
 291:main.c        ****                     sof = 2; 
 663               		.stabn 68,0,291,.LM76-__vector_5
 664               	.LM76:
 665 0266 82E0      		ldi r24,lo8(2)
 666               	.L44:
 667 0268 8093 0000 		sts sof,r24
 668 026c 0FC0      		rjmp .L43
 669               	.L30:
 292:main.c        ****                 } 
 293:main.c        ****                 else 
 294:main.c        ****                 {
 295:main.c        ****                     if ( ( bit_pos == 1 ) && ( z >= ( uint8_t )( pulsesPerBit2 + TOLERANCE ) ) )
 296:main.c        ****                         store_bit( 1 , 0 );
 297:main.c        ****                     store_bit( 0 , 1 );
 298:main.c        ****                 }
 299:main.c        ****             } 
 300:main.c        ****             else 
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 18


 301:main.c        ****             {
 302:main.c        ****                 if ( ( bit_pos == 1 ) && ( z >= ( uint8_t )( pulsesPerBit2 + TOLERANCE ) ) )
 670               		.stabn 68,0,302,.LM77-__vector_5
 671               	.LM77:
 672 026e 9091 0000 		lds r25,bit_pos
 673 0272 9130      		cpi r25,lo8(1)
 674 0274 41F4      		brne .L42
 675 0276 8091 0000 		lds r24,pulsesPerBit2
 676 027a 8D5F      		subi r24,lo8(-(3))
 677 027c 2817      		cp r18,r24
 678 027e 18F0      		brlo .L42
 303:main.c        ****                     store_bit(1, 0);
 679               		.stabn 68,0,303,.LM78-__vector_5
 680               	.LM78:
 681 0280 60E0      		ldi r22,lo8(0)
 682 0282 892F      		mov r24,r25
 683 0284 2CDF      		rcall store_bit
 684               	.L42:
 304:main.c        ****                 store_bit(0, 1);
 685               		.stabn 68,0,304,.LM79-__vector_5
 686               	.LM79:
 687 0286 61E0      		ldi r22,lo8(1)
 688 0288 80E0      		ldi r24,lo8(0)
 689               	.L45:
 690 028a 29DF      		rcall store_bit
 691               	.L43:
 305:main.c        ****             }
 306:main.c        ****         } 
 307:main.c        ****         else 
 308:main.c        ****         {                          //raw capture , used to debug;
 309:main.c        ****             capt >>= 5;
 310:main.c        ****      // store_pulse(capt);              //x
 311:main.c        ****      // store_pulse(z);
 312:main.c        ****         }
 313:main.c        ****         old_capture = icr;
 692               		.stabn 68,0,313,.LM80-__vector_5
 693               	.LM80:
 694 028c F092 0000 		sts (old_capture)+1,r15
 695 0290 E092 0000 		sts old_capture,r14
 696               	.L24:
 314:main.c        ****     }
 315:main.c        ****     last_capture = icr;
 697               		.stabn 68,0,315,.LM81-__vector_5
 698               	.LM81:
 699 0294 F092 0000 		sts (last_capture)+1,r15
 700 0298 E092 0000 		sts last_capture,r14
 316:main.c        **** }
 701               		.stabn 68,0,316,.LM82-__vector_5
 702               	.LM82:
 703               	.LBE2:
 704               	/* epilogue: frame size=0 */
 705 029c FF91      		pop r31
 706 029e EF91      		pop r30
 707 02a0 DF91      		pop r29
 708 02a2 CF91      		pop r28
 709 02a4 BF91      		pop r27
 710 02a6 AF91      		pop r26
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 19


 711 02a8 9F91      		pop r25
 712 02aa 8F91      		pop r24
 713 02ac 7F91      		pop r23
 714 02ae 6F91      		pop r22
 715 02b0 5F91      		pop r21
 716 02b2 4F91      		pop r20
 717 02b4 3F91      		pop r19
 718 02b6 2F91      		pop r18
 719 02b8 1F91      		pop r17
 720 02ba FF90      		pop r15
 721 02bc EF90      		pop r14
 722 02be 0F90      		pop __tmp_reg__
 723 02c0 0FBE      		out __SREG__,__tmp_reg__
 724 02c2 0F90      		pop __tmp_reg__
 725 02c4 1F90      		pop __zero_reg__
 726 02c6 1895      		reti
 727               	/* epilogue end (size=22) */
 728               	/* function __vector_5 size 211 (167) */
 729               		.size	__vector_5, .-__vector_5
 730               		.stabs	"z:r(4,2)",64,0,248,18
 731               		.stabs	"capt:r(4,4)",64,0,249,28
 732               		.stabs	"icr:r(4,4)",64,0,250,14
 733               		.stabn	192,0,0,.LBB2-__vector_5
 734               		.stabn	224,0,0,.LBE2-__vector_5
 735               	.Lscope2:
 736               		.stabs	"",36,0,0,.Lscope2-__vector_5
 737               		.stabs	"Capture:F(0,20)",36,0,334,Capture
 738               		.stabs	"style:P(4,2)",64,0,333,17
 739               	.global	Capture
 740               		.type	Capture, @function
 741               	Capture:
 317:main.c        **** 
 318:main.c        **** 
 319:main.c        **** 
 320:main.c        **** // ==================================================================
 321:main.c        **** 
 322:main.c        **** //void dual_subcarrier_polling( void ) {
 323:main.c        **** 
 324:main.c        **** 
 325:main.c        **** //}
 326:main.c        **** 
 327:main.c        **** 
 328:main.c        **** // ==================================================================
 329:main.c        **** // Down Link setup function
 330:main.c        **** // Requires: maxCaptureTimeLow and maxCaptureTimeHi
 331:main.c        **** //   (located here instead of level2 because of register variables)
 332:main.c        **** 
 333:main.c        **** void Capture( uint8_t style ) 
 334:main.c        **** {
 742               		.stabn 68,0,334,.LM83-Capture
 743               	.LM83:
 744               	/* prologue: frame size=0 */
 745 02c8 1F93      		push r17

⌨️ 快捷键说明

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