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

📄 main.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取TYPE A类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
 538 0158 8091 0000 		lds r24,em4094_data_valid
 539 015c 8535      		cpi r24,lo8(85)
 540 015e 91F7      		brne .L49
 256:main.c        ****         {
 257:main.c        ****     	      em4094_data_valid = 0x00;
 541               		.stabn 68,0,257,.LM64-main_receiver
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 15


 542               	.LM64:
 543 0160 1092 0000 		sts em4094_data_valid,__zero_reg__
 258:main.c        ****         	  Send_Card_ID( weigan_format , weigan_data );
 544               		.stabn 68,0,258,.LM65-main_receiver
 545               	.LM65:
 546 0164 60E0      		ldi r22,lo8(weigan_data)
 547 0166 70E0      		ldi r23,hi8(weigan_data)
 548 0168 8091 0000 		lds r24,weigan_format
 549 016c 0CD2      		rcall Send_Card_ID
 259:main.c        **** 
 260:main.c        ****         	  Set_GREEN_LED( );
 550               		.stabn 68,0,260,.LM66-main_receiver
 551               	.LM66:
 552 016e 9698      		cbi 50-0x20,6
 261:main.c        ****             Delayms( 150 );
 553               		.stabn 68,0,261,.LM67-main_receiver
 554               	.LM67:
 555 0170 86E9      		ldi r24,lo8(150)
 556 0172 90E0      		ldi r25,hi8(150)
 557 0174 DBD1      		rcall Delayms
 262:main.c        ****             Set_RED_LED( );
 558               		.stabn 68,0,262,.LM68-main_receiver
 559               	.LM68:
 560 0176 969A      		sbi 50-0x20,6
 263:main.c        ****             
 264:main.c        ****             if ( alarm_enable == 0x01 )
 561               		.stabn 68,0,264,.LM69-main_receiver
 562               	.LM69:
 563 0178 8091 0000 		lds r24,alarm_enable
 564 017c 8130      		cpi r24,lo8(1)
 565 017e 61F0      		breq .L51
 265:main.c        ****             {
 266:main.c        **** 	              if ( PINB & ( 1 << CYE ) )
 267:main.c        **** 	              {	  	         
 268:main.c        **** 	  	              beep_times = 2;
 269:main.c        **** 	  	              unauth_card_times++;
 270:main.c        **** 	              }
 271:main.c        **** 	              else
 272:main.c        **** 	              {
 273:main.c        **** 	  	               beep_times = 1;
 274:main.c        **** 	  	               unauth_card_times = 0;
 275:main.c        **** 	              }             
 276:main.c        ****                 Beep( beep_times );
 277:main.c        ****                 if ( unauth_card_times > 3 )
 278:main.c        ****                 {
 279:main.c        ****             	      unauth_card_times = 0x00;
 280:main.c        ****             	      uint8_t i;
 281:main.c        ****             	      for ( i = 0 ; i < alarm_time ; i++ )
 282:main.c        ****             	      {
 283:main.c        ****             	          cbi( PORTD , BEEP_PIN ); 
 284:main.c        ****             	          Delayms( 600 );
 285:main.c        ****             	          sbi( PORTD , BEEP_PIN );            	      
 286:main.c        ****             	      }
 287:main.c        ****                 }	  
 288:main.c        ****             }
 289:main.c        ****             else
 290:main.c        ****             {
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 16


 291:main.c        **** 	              if ( PINB & ( 1 << CYE ) )
 566               		.stabn 68,0,291,.LM70-main_receiver
 567               	.LM70:
 568 0180 B59B      		sbis 54-0x20,5
 569 0182 06C0      		rjmp .L44
 292:main.c        **** 	              {	  	         
 293:main.c        **** 	  	              beep_times = 2;
 570               		.stabn 68,0,293,.LM71-main_receiver
 571               	.LM71:
 572 0184 1093 0000 		sts beep_times,r17
 573               	.L45:
 294:main.c        **** 	              }
 295:main.c        **** 	              else
 296:main.c        **** 	              {
 297:main.c        **** 	  	              beep_times = 1;
 298:main.c        **** 	              }             
 299:main.c        ****                 Beep( beep_times );            	
 574               		.stabn 68,0,299,.LM72-main_receiver
 575               	.LM72:
 576 0188 8091 0000 		lds r24,beep_times
 577 018c B2D1      		rcall Beep
 578 018e DACF      		rjmp .L49
 579               	.L44:
 580               		.stabn 68,0,297,.LM73-main_receiver
 581               	.LM73:
 582 0190 81E0      		ldi r24,lo8(1)
 583 0192 8093 0000 		sts beep_times,r24
 584 0196 F8CF      		rjmp .L45
 585               		.stabn 68,0,266,.LM74-main_receiver
 586               	.LM74:
 587               	.L51:
 588 0198 B59B      		sbis 54-0x20,5
 589 019a 21C0      		rjmp .L35
 590               		.stabn 68,0,268,.LM75-main_receiver
 591               	.LM75:
 592 019c 1093 0000 		sts beep_times,r17
 593               		.stabn 68,0,269,.LM76-main_receiver
 594               	.LM76:
 595 01a0 8091 0000 		lds r24,unauth_card_times
 596 01a4 8F5F      		subi r24,lo8(-(1))
 597 01a6 8093 0000 		sts unauth_card_times,r24
 598               	.L36:
 599               		.stabn 68,0,276,.LM77-main_receiver
 600               	.LM77:
 601 01aa 8091 0000 		lds r24,beep_times
 602 01ae A1D1      		rcall Beep
 603               		.stabn 68,0,277,.LM78-main_receiver
 604               	.LM78:
 605 01b0 8091 0000 		lds r24,unauth_card_times
 606 01b4 8430      		cpi r24,lo8(4)
 607 01b6 30F2      		brlo .L49
 608               		.stabn 68,0,279,.LM79-main_receiver
 609               	.LM79:
 610               	.LBB3:
 611 01b8 1092 0000 		sts unauth_card_times,__zero_reg__
 612               		.stabn 68,0,281,.LM80-main_receiver
 613               	.LM80:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 17


 614 01bc C0E0      		ldi r28,lo8(0)
 615 01be 8091 0000 		lds r24,alarm_time
 616 01c2 C817      		cp r28,r24
 617 01c4 08F0      		brlo .+2
 618 01c6 BECF      		rjmp .L49
 619               	.L42:
 620               		.stabn 68,0,283,.LM81-main_receiver
 621               	.LM81:
 622 01c8 9798      		cbi 50-0x20,7
 623               		.stabn 68,0,284,.LM82-main_receiver
 624               	.LM82:
 625 01ca 88E5      		ldi r24,lo8(600)
 626 01cc 92E0      		ldi r25,hi8(600)
 627 01ce AED1      		rcall Delayms
 628               		.stabn 68,0,285,.LM83-main_receiver
 629               	.LM83:
 630 01d0 979A      		sbi 50-0x20,7
 631               		.stabn 68,0,281,.LM84-main_receiver
 632               	.LM84:
 633 01d2 CF5F      		subi r28,lo8(-(1))
 634 01d4 8091 0000 		lds r24,alarm_time
 635 01d8 C817      		cp r28,r24
 636 01da B0F3      		brlo .L42
 637 01dc B3CF      		rjmp .L49
 638               	.L35:
 639               		.stabn 68,0,273,.LM85-main_receiver
 640               	.LM85:
 641               	.LBE3:
 642 01de 8093 0000 		sts beep_times,r24
 643               		.stabn 68,0,274,.LM86-main_receiver
 644               	.LM86:
 645 01e2 1092 0000 		sts unauth_card_times,__zero_reg__
 646 01e6 E1CF      		rjmp .L36
 647               		.stabn 68,0,241,.LM87-main_receiver
 648               	.LM87:
 649               	.L50:
 650 01e8 1092 0000 		sts valid_data_flag,__zero_reg__
 651               		.stabn 68,0,242,.LM88-main_receiver
 652               	.LM88:
 653 01ec 85E5      		ldi r24,lo8(85)
 654 01ee 00D0      		rcall SendByte
 655               		.stabn 68,0,243,.LM89-main_receiver
 656               	.LM89:
 657 01f0 8AEA      		ldi r24,lo8(-86)
 658 01f2 00D0      		rcall SendByte
 659               		.stabn 68,0,244,.LM90-main_receiver
 660               	.LM90:
 661 01f4 81E0      		ldi r24,lo8(1)
 662 01f6 00D0      		rcall SendByte
 663               		.stabn 68,0,245,.LM91-main_receiver
 664               	.LM91:
 665 01f8 82E0      		ldi r24,lo8(2)
 666 01fa 00D0      		rcall SendByte
 667               		.stabn 68,0,246,.LM92-main_receiver
 668               	.LM92:
 669 01fc 81E0      		ldi r24,lo8(1)
 670 01fe 79D1      		rcall Beep
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 18


 671               		.stabn 68,0,247,.LM93-main_receiver
 672               	.LM93:
 673 0200 6091 0000 		lds r22,uart_in_param
 674 0204 8091 0000 		lds r24,uart_in_command
 675 0208 01D0      		rcall Parse_Command
 676 020a A4CF      		rjmp .L32
 300:main.c        ****             }
 301:main.c        ****         } 
 302:main.c        ****     }
 303:main.c        **** }
 677               		.stabn 68,0,303,.LM94-main_receiver
 678               	.LM94:
 679               	.LBE2:
 680               	/* epilogue: frame size=0 */
 681               	/* epilogue: noreturn */
 682               	/* epilogue end (size=0) */
 683               	/* function main_receiver size 124 (122) */
 684               		.size	main_receiver, .-main_receiver
 685               		.stabs	"i:r(4,2)",64,0,280,28
 686               		.stabn	192,0,0,.LBB3-main_receiver
 687               		.stabn	224,0,0,.LBE3-main_receiver
 688               	.Lscope3:
 689               		.stabs	"",36,0,0,.Lscope3-main_receiver
 690               		.stabs	"Parse_Command:F(0,20)",36,0,306,Parse_Command
 691               		.stabs	"cmd:P(4,2)",64,0,305,24
 692               		.stabs	"param:P(4,2)",64,0,305,28
 693               	.global	Parse_Command
 694               		.type	Parse_Command, @function
 695               	Parse_Command:
 304:main.c        **** 
 305:main.c        **** void Parse_Command( uint8_t cmd , uint8_t param )
 306:main.c        **** {
 696               		.stabn 68,0,306,.LM95-Parse_Command
 697               	.LM95:
 698               	/* prologue: frame size=0 */
 699 020c CF93      		push r28
 700               	/* prologue end (size=1) */
 701 020e C62F      		mov r28,r22
 307:main.c        **** //	  cli( );
 308:main.c        **** 	  switch ( cmd )
 702               		.stabn 68,0,308,.LM96-Parse_Command
 703               	.LM96:
 704 0210 9927      		clr r25
 705 0212 AA27      		clr r26
 706 0214 BB27      		clr r27
 707 0216 FC01      		movw r30,r24
 708 0218 3197      		sbiw r30,1
 709 021a E930      		cpi r30,9
 710 021c F105      		cpc r31,__zero_reg__
 711 021e 08F0      		brlo .+2
 712 0220 87C0      		rjmp .L52
 713 0222 E050      		subi r30,lo8(-(pm(.L116)))
 714 0224 F040      		sbci r31,hi8(-(pm(.L116)))
 715 0226 0994      		ijmp
 716               		.data
 717               		.section .progmem.gcc_sw_table, "ax", @progbits
 718               		.p2align 1
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 19


 719               	.L116:
 720 0000 00C0      		rjmp .L55
 721 0002 00C0      		rjmp .L62
 722 0004 00C0      		rjmp .L69
 723 0006 00C0      		rjmp .L75
 724 0008 00C0      		rjmp .L77
 725 000a 00C0      		rjmp .L87
 726 000c 00C0      		rjmp .L95
 727 000e 00C0      		rjmp .L102
 728 0010 00C0      		rjmp .L109
 729               		.text
 309:main.c        ****     {
 310:main.c        ****         case 0x01 :             //Modify ID number;
 311:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 730               		.stabn 68,0,311,.LM97-Parse_Command
 731               	.LM97:
 732               	.L55:
 733 0228 E199      		sbic 60-0x20,1
 734 022a FECF      		rjmp .L55
 312:main.c        ****         	  eeprom_wb( &ID , param );
 735               		.stabn 68,0,312,.LM98-Parse_Command
 736               	.LM98:
 737 022c 6C2F      		mov r22,r28
 738 022e 80E0      		ldi r24,lo8(ID)
 739 0230 90E0      		ldi r25,hi8(ID)
 740 0232 00D0      		rcall eeprom_write_byte
 313:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 741               		.stabn 68,0,313,.LM99-Parse_Command
 742               	.LM99:

⌨️ 快捷键说明

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