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

📄 main.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取TYPE B类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
 548 0168 80EA      		ldi r24,lo8(4000)
 549 016a 9FE0      		ldi r25,hi8(4000)
 550 016c 00D0      		rcall Wait
 255:main.c        **** 
 256:main.c        ****     while ( 1 ) 
 551               		.stabn 68,0,256,.LM59-Main_Receiver
 552               	.LM59:
 553 016e 12E0      		ldi r17,lo8(2)
 554               	.L51:
 257:main.c        ****     {                              // infinite loop 
 258:main.c        ****     	   wdt_reset( );
 555               		.stabn 68,0,258,.LM60-Main_Receiver
 556               	.LM60:
 557               	/* #APP */
 558 0170 A895      		wdr
 259:main.c        **** 
 260:main.c        **** #ifdef WDT
 261:main.c        ****          WatchDog_Feed( );
 559               		.stabn 68,0,261,.LM61-Main_Receiver
 560               	.LM61:
 561               	/* #NOAPP */
 562 0172 5DD0      		rcall WatchDog_Feed
 262:main.c        **** #endif    	   
 263:main.c        ****     	  cbi( PORTC , TEN_485 ); 
 563               		.stabn 68,0,263,.LM62-Main_Receiver
 564               	.LM62:
 565 0174 AD98      		cbi 53-0x20,5
 264:main.c        ****    
 265:main.c        ****         if ( valid_data_flag == 0 )
 566               		.stabn 68,0,265,.LM63-Main_Receiver
 567               	.LM63:
 568 0176 8091 0000 		lds r24,valid_data_flag
 569 017a 8823      		tst r24
 570 017c 09F0      		breq .+2
 571 017e 45C0      		rjmp .L52
 572               	.L34:
 266:main.c        ****         { }
 267:main.c        ****         else
 268:main.c        ****         { 
 269:main.c        ****        	    valid_data_flag = 0x00;
 270:main.c        ****       	    SendByte( 0x55 );                  //response to PC;
 271:main.c        ****       	    SendByte( 0xAA );
 272:main.c        ****       	    SendByte( 0x01 );
 273:main.c        ****       	    SendByte( 0x02 );
 274:main.c        ****       	    Beep( 1 );
 275:main.c        ****       	    Parse_Command( uart_in_command , uart_in_param ); 
 276:main.c        ****         }
 277:main.c        **** 
 278:main.c        ****         Alarm_Check_And_Process( );   
 573               		.stabn 68,0,278,.LM64-Main_Receiver
 574               	.LM64:
 575 0180 4AD2      		rcall Alarm_Check_And_Process
 279:main.c        ****  
 280:main.c        ****         if ( Read_TypeB_Card( ) )
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciWbaaa.s 			page 16


 576               		.stabn 68,0,280,.LM65-Main_Receiver
 577               	.LM65:
 578 0182 00D0      		rcall Read_TypeB_Card
 579 0184 8823      		tst r24
 580 0186 A1F3      		breq .L51
 281:main.c        ****         {        
 282:main.c        ****             Send_Card_ID( weigan_format , weigan_data );
 581               		.stabn 68,0,282,.LM66-Main_Receiver
 582               	.LM66:
 583 0188 60E0      		ldi r22,lo8(weigan_data)
 584 018a 70E0      		ldi r23,hi8(weigan_data)
 585 018c 8091 0000 		lds r24,weigan_format
 586 0190 5CD0      		rcall Send_Card_ID
 283:main.c        **** 
 284:main.c        **** 	          Set_GREEN_LED( );
 587               		.stabn 68,0,284,.LM67-Main_Receiver
 588               	.LM67:
 589 0192 9698      		cbi 50-0x20,6
 285:main.c        ****             Delayms( 150 );    //200
 590               		.stabn 68,0,285,.LM68-Main_Receiver
 591               	.LM68:
 592 0194 86E9      		ldi r24,lo8(150)
 593 0196 90E0      		ldi r25,hi8(150)
 594 0198 EED1      		rcall Delayms
 286:main.c        ****             Set_RED_LED( ); 
 595               		.stabn 68,0,286,.LM69-Main_Receiver
 596               	.LM69:
 597 019a 969A      		sbi 50-0x20,6
 287:main.c        ****              
 288:main.c        ****             if ( alarm_enable == 0x01 )
 598               		.stabn 68,0,288,.LM70-Main_Receiver
 599               	.LM70:
 600 019c 8091 0000 		lds r24,alarm_enable
 601 01a0 8130      		cpi r24,lo8(1)
 602 01a2 61F0      		breq .L53
 289:main.c        ****             {
 290:main.c        **** 	              if ( PINB & ( 1 << CYE ) )
 291:main.c        **** 	              {	  	         
 292:main.c        **** 	  	              beep_times = 2;
 293:main.c        **** 	  	              unauth_card_times++;
 294:main.c        **** 	              }
 295:main.c        **** 	              else
 296:main.c        **** 	              {
 297:main.c        **** 	  	               beep_times = 1;
 298:main.c        **** 	  	               unauth_card_times = 0;
 299:main.c        **** 	              }             
 300:main.c        ****                 Beep( beep_times );
 301:main.c        ****                 if ( unauth_card_times > 3 )
 302:main.c        ****                 {
 303:main.c        ****             	      unauth_card_times = 0x00;
 304:main.c        ****             	      uint8_t i;
 305:main.c        ****             	      for ( i = 0 ; i < alarm_time ; i++ )
 306:main.c        ****             	      {
 307:main.c        ****             	          cbi( PORTD , BEEP_PIN ); 
 308:main.c        ****             	          Delayms( 600 );
 309:main.c        ****             	          sbi( PORTD , BEEP_PIN );            	      
 310:main.c        ****             	      }
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciWbaaa.s 			page 17


 311:main.c        ****                 }	  
 312:main.c        ****             }
 313:main.c        ****             else
 314:main.c        ****             {
 315:main.c        **** 	              if ( PINB & ( 1 << CYE ) )
 603               		.stabn 68,0,315,.LM71-Main_Receiver
 604               	.LM71:
 605 01a4 B59B      		sbis 54-0x20,5
 606 01a6 06C0      		rjmp .L46
 316:main.c        **** 	              {	  	         
 317:main.c        **** 	  	              beep_times = 2;
 607               		.stabn 68,0,317,.LM72-Main_Receiver
 608               	.LM72:
 609 01a8 1093 0000 		sts beep_times,r17
 610               	.L47:
 318:main.c        **** 	              }
 319:main.c        **** 	              else
 320:main.c        **** 	              {
 321:main.c        **** 	  	              beep_times = 1;
 322:main.c        **** 	              }             
 323:main.c        ****                 Beep( beep_times );            	
 611               		.stabn 68,0,323,.LM73-Main_Receiver
 612               	.LM73:
 613 01ac 8091 0000 		lds r24,beep_times
 614 01b0 15D2      		rcall Beep
 615 01b2 DECF      		rjmp .L51
 616               	.L46:
 617               		.stabn 68,0,321,.LM74-Main_Receiver
 618               	.LM74:
 619 01b4 81E0      		ldi r24,lo8(1)
 620 01b6 8093 0000 		sts beep_times,r24
 621 01ba F8CF      		rjmp .L47
 622               		.stabn 68,0,290,.LM75-Main_Receiver
 623               	.LM75:
 624               	.L53:
 625 01bc B59B      		sbis 54-0x20,5
 626 01be 20C0      		rjmp .L37
 627               		.stabn 68,0,292,.LM76-Main_Receiver
 628               	.LM76:
 629 01c0 1093 0000 		sts beep_times,r17
 630               		.stabn 68,0,293,.LM77-Main_Receiver
 631               	.LM77:
 632 01c4 8091 0000 		lds r24,unauth_card_times
 633 01c8 8F5F      		subi r24,lo8(-(1))
 634 01ca 8093 0000 		sts unauth_card_times,r24
 635               	.L38:
 636               		.stabn 68,0,300,.LM78-Main_Receiver
 637               	.LM78:
 638 01ce 8091 0000 		lds r24,beep_times
 639 01d2 04D2      		rcall Beep
 640               		.stabn 68,0,301,.LM79-Main_Receiver
 641               	.LM79:
 642 01d4 8091 0000 		lds r24,unauth_card_times
 643 01d8 8430      		cpi r24,lo8(4)
 644 01da 50F2      		brlo .L51
 645               		.stabn 68,0,303,.LM80-Main_Receiver
 646               	.LM80:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciWbaaa.s 			page 18


 647               	.LBB3:
 648 01dc 1092 0000 		sts unauth_card_times,__zero_reg__
 649               		.stabn 68,0,305,.LM81-Main_Receiver
 650               	.LM81:
 651 01e0 C0E0      		ldi r28,lo8(0)
 652 01e2 8091 0000 		lds r24,alarm_time
 653 01e6 C817      		cp r28,r24
 654 01e8 18F6      		brsh .L51
 655               	.L44:
 656               		.stabn 68,0,307,.LM82-Main_Receiver
 657               	.LM82:
 658 01ea 9798      		cbi 50-0x20,7
 659               		.stabn 68,0,308,.LM83-Main_Receiver
 660               	.LM83:
 661 01ec 88E5      		ldi r24,lo8(600)
 662 01ee 92E0      		ldi r25,hi8(600)
 663 01f0 C2D1      		rcall Delayms
 664               		.stabn 68,0,309,.LM84-Main_Receiver
 665               	.LM84:
 666 01f2 979A      		sbi 50-0x20,7
 667               		.stabn 68,0,305,.LM85-Main_Receiver
 668               	.LM85:
 669 01f4 CF5F      		subi r28,lo8(-(1))
 670 01f6 8091 0000 		lds r24,alarm_time
 671 01fa C817      		cp r28,r24
 672 01fc B0F3      		brlo .L44
 673 01fe B8CF      		rjmp .L51
 674               	.L37:
 675               		.stabn 68,0,297,.LM86-Main_Receiver
 676               	.LM86:
 677               	.LBE3:
 678 0200 8093 0000 		sts beep_times,r24
 679               		.stabn 68,0,298,.LM87-Main_Receiver
 680               	.LM87:
 681 0204 1092 0000 		sts unauth_card_times,__zero_reg__
 682 0208 E2CF      		rjmp .L38
 683               		.stabn 68,0,269,.LM88-Main_Receiver
 684               	.LM88:
 685               	.L52:
 686 020a 1092 0000 		sts valid_data_flag,__zero_reg__
 687               		.stabn 68,0,270,.LM89-Main_Receiver
 688               	.LM89:
 689 020e 85E5      		ldi r24,lo8(85)
 690 0210 00D0      		rcall SendByte
 691               		.stabn 68,0,271,.LM90-Main_Receiver
 692               	.LM90:
 693 0212 8AEA      		ldi r24,lo8(-86)
 694 0214 00D0      		rcall SendByte
 695               		.stabn 68,0,272,.LM91-Main_Receiver
 696               	.LM91:
 697 0216 81E0      		ldi r24,lo8(1)
 698 0218 00D0      		rcall SendByte
 699               		.stabn 68,0,273,.LM92-Main_Receiver
 700               	.LM92:
 701 021a 82E0      		ldi r24,lo8(2)
 702 021c 00D0      		rcall SendByte
 703               		.stabn 68,0,274,.LM93-Main_Receiver
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciWbaaa.s 			page 19


 704               	.LM93:
 705 021e 81E0      		ldi r24,lo8(1)
 706 0220 DDD1      		rcall Beep
 707               		.stabn 68,0,275,.LM94-Main_Receiver
 708               	.LM94:
 709 0222 6091 0000 		lds r22,uart_in_param
 710 0226 8091 0000 		lds r24,uart_in_command
 711 022a 35D0      		rcall Parse_Command
 712 022c A9CF      		rjmp .L34
 324:main.c        ****             }        
 325:main.c        ****         }        
 326:main.c        ****     }
 327:main.c        **** }
 713               		.stabn 68,0,327,.LM95-Main_Receiver
 714               	.LM95:
 715               	.LBE2:
 716               	/* epilogue: frame size=0 */
 717               	/* epilogue: noreturn */
 718               	/* epilogue end (size=0) */
 719               	/* function Main_Receiver size 125 (123) */
 720               		.size	Main_Receiver, .-Main_Receiver
 721               		.stabs	"i:r(4,2)",64,0,304,28
 722               		.stabn	192,0,0,.LBB3-Main_Receiver
 723               		.stabn	224,0,0,.LBE3-Main_Receiver
 724               	.Lscope3:
 725               		.stabs	"",36,0,0,.Lscope3-Main_Receiver
 726               		.stabs	"WatchDog_Feed:F(0,20)",36,0,331,WatchDog_Feed
 727               	.global	WatchDog_Feed
 728               		.type	WatchDog_Feed, @function
 729               	WatchDog_Feed:
 328:main.c        **** 
 329:main.c        **** 
 330:main.c        **** void WatchDog_Feed( void )                       //Feed watchdog of the MAX705;
 331:main.c        **** {
 730               		.stabn 68,0,331,.LM96-WatchDog_Feed
 731               	.LM96:
 732               	/* prologue: frame size=0 */
 733               	/* prologue end (size=0) */
 332:main.c        **** 	  if ( watchdog_feed_flag == 0 )
 734               		.stabn 68,0,332,.LM97-WatchDog_Feed
 735               	.LM97:
 736 022e 8091 0000 		lds r24,watchdog_feed_flag
 737 0232 8823      		tst r24
 738 0234 29F4      		brne .L55
 333:main.c        **** 	  {

⌨️ 快捷键说明

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