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

📄 main.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取TYPE A类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
 743               	.L58:
 744 0234 E199      		sbic 60-0x20,1
 745 0236 FECF      		rjmp .L58
 314:main.c        ****         	  eeprom_wb( &ID_CHK , param );
 746               		.stabn 68,0,314,.LM100-Parse_Command
 747               	.LM100:
 748 0238 6C2F      		mov r22,r28
 749 023a 80E0      		ldi r24,lo8(ID_CHK)
 750 023c 90E0      		ldi r25,hi8(ID_CHK)
 751               	.L118:
 752 023e 00D0      		rcall eeprom_write_byte
 315:main.c        ****         	  
 316:main.c        ****         	  break;
 317:main.c        ****         	  
 318:main.c        ****         case 0x02 :             //Modify serial number;
 319:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 320:main.c        ****         	  eeprom_wb( &SERIAL_NUMBER , param );
 321:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 322:main.c        ****         	  eeprom_wb( &SERIAL_NUMBER_CHK , param );
 323:main.c        ****         	  
 324:main.c        ****         	  break;
 325:main.c        ****         	  
 326:main.c        ****         case 0x03 :             //Modify format of weigan output,( 1 -- 26, 2 -- 34, 3 -- 36, 4 -- 
 327:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 328:main.c        ****         	  eeprom_wb( &WEIGAN_FORMAT , param );
 329:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 330:main.c        ****         	  eeprom_wb( &WEIGAN_FORMAT_CHK , param ); 
 331:main.c        ****         	  weigan_format = param;       	
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 20


 332:main.c        ****         	 
 333:main.c        ****         	  break;   
 334:main.c        ****         	       	  
 335:main.c        ****         case 0x04 :             //Modify authentication code;
 336:main.c        ****         	  eeprom_wb( &AUTH_CODE , param );
 337:main.c        ****         	  eeprom_wb( &AUTH_CODE_CHK , param );        	           	
 338:main.c        ****         	  break;
 753               		.stabn 68,0,338,.LM101-Parse_Command
 754               	.LM101:
 755 0240 77C0      		rjmp .L52
 756               		.stabn 68,0,319,.LM102-Parse_Command
 757               	.LM102:
 758               	.L62:
 759 0242 E199      		sbic 60-0x20,1
 760 0244 FECF      		rjmp .L62
 761               		.stabn 68,0,320,.LM103-Parse_Command
 762               	.LM103:
 763 0246 6C2F      		mov r22,r28
 764 0248 80E0      		ldi r24,lo8(SERIAL_NUMBER)
 765 024a 90E0      		ldi r25,hi8(SERIAL_NUMBER)
 766 024c 00D0      		rcall eeprom_write_byte
 767               		.stabn 68,0,321,.LM104-Parse_Command
 768               	.LM104:
 769               	.L65:
 770 024e E199      		sbic 60-0x20,1
 771 0250 FECF      		rjmp .L65
 772               		.stabn 68,0,322,.LM105-Parse_Command
 773               	.LM105:
 774 0252 6C2F      		mov r22,r28
 775 0254 80E0      		ldi r24,lo8(SERIAL_NUMBER_CHK)
 776 0256 90E0      		ldi r25,hi8(SERIAL_NUMBER_CHK)
 777 0258 F2CF      		rjmp .L118
 778               		.stabn 68,0,327,.LM106-Parse_Command
 779               	.LM106:
 780               	.L69:
 781 025a E199      		sbic 60-0x20,1
 782 025c FECF      		rjmp .L69
 783               		.stabn 68,0,328,.LM107-Parse_Command
 784               	.LM107:
 785 025e 6C2F      		mov r22,r28
 786 0260 80E0      		ldi r24,lo8(WEIGAN_FORMAT)
 787 0262 90E0      		ldi r25,hi8(WEIGAN_FORMAT)
 788 0264 00D0      		rcall eeprom_write_byte
 789               		.stabn 68,0,329,.LM108-Parse_Command
 790               	.LM108:
 791               	.L72:
 792 0266 E199      		sbic 60-0x20,1
 793 0268 FECF      		rjmp .L72
 794               		.stabn 68,0,330,.LM109-Parse_Command
 795               	.LM109:
 796 026a 6C2F      		mov r22,r28
 797 026c 80E0      		ldi r24,lo8(WEIGAN_FORMAT_CHK)
 798 026e 90E0      		ldi r25,hi8(WEIGAN_FORMAT_CHK)
 799 0270 00D0      		rcall eeprom_write_byte
 800               		.stabn 68,0,331,.LM110-Parse_Command
 801               	.LM110:
 802 0272 C093 0000 		sts weigan_format,r28
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 21


 803               		.stabn 68,0,333,.LM111-Parse_Command
 804               	.LM111:
 805 0276 5CC0      		rjmp .L52
 806               	.L75:
 807               		.stabn 68,0,336,.LM112-Parse_Command
 808               	.LM112:
 809 0278 80E0      		ldi r24,lo8(AUTH_CODE)
 810 027a 90E0      		ldi r25,hi8(AUTH_CODE)
 811 027c 00D0      		rcall eeprom_write_byte
 812               		.stabn 68,0,337,.LM113-Parse_Command
 813               	.LM113:
 814 027e 6C2F      		mov r22,r28
 815 0280 80E0      		ldi r24,lo8(AUTH_CODE_CHK)
 816 0282 90E0      		ldi r25,hi8(AUTH_CODE_CHK)
 817 0284 DCCF      		rjmp .L118
 339:main.c        ****         	  
 340:main.c        ****         case 0x05 :             //Modify EEPROM check enable;
 341:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 818               		.stabn 68,0,341,.LM114-Parse_Command
 819               	.LM114:
 820               	.L77:
 821 0286 E199      		sbic 60-0x20,1
 822 0288 FECF      		rjmp .L77
 342:main.c        ****         	  eeprom_wb( &EEPROM_CHECK , param );
 823               		.stabn 68,0,342,.LM115-Parse_Command
 824               	.LM115:
 825 028a 6C2F      		mov r22,r28
 826 028c 80E0      		ldi r24,lo8(EEPROM_CHECK)
 827 028e 90E0      		ldi r25,hi8(EEPROM_CHECK)
 828 0290 00D0      		rcall eeprom_write_byte
 343:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 829               		.stabn 68,0,343,.LM116-Parse_Command
 830               	.LM116:
 831               	.L80:
 832 0292 E199      		sbic 60-0x20,1
 833 0294 FECF      		rjmp .L80
 344:main.c        ****         	  eeprom_wb( &EEPROM_CHECK_CHK , param ); 
 834               		.stabn 68,0,344,.LM117-Parse_Command
 835               	.LM117:
 836 0296 6C2F      		mov r22,r28
 837 0298 80E0      		ldi r24,lo8(EEPROM_CHECK_CHK)
 838 029a 90E0      		ldi r25,hi8(EEPROM_CHECK_CHK)
 839 029c 00D0      		rcall eeprom_write_byte
 345:main.c        ****         	  if ( param )
 840               		.stabn 68,0,345,.LM118-Parse_Command
 841               	.LM118:
 842 029e CC23      		tst r28
 843 02a0 09F4      		brne .+2
 844 02a2 46C0      		rjmp .L52
 346:main.c        ****         	  {
 347:main.c        ****         	  	  if ( Check_EEPROM( ) )
 845               		.stabn 68,0,347,.LM119-Parse_Command
 846               	.LM119:
 847 02a4 47D0      		rcall Check_EEPROM
 848 02a6 8823      		tst r24
 849 02a8 29F0      		breq .L84
 348:main.c        ****         	  	  {
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 22


 349:main.c        ****         	  	  	  SendByte( 'O' );
 850               		.stabn 68,0,349,.LM120-Parse_Command
 851               	.LM120:
 852 02aa 8FE4      		ldi r24,lo8(79)
 853 02ac 00D0      		rcall SendByte
 350:main.c        ****         	  	  	  SendByte( 'K' );
 854               		.stabn 68,0,350,.LM121-Parse_Command
 855               	.LM121:
 856 02ae 8BE4      		ldi r24,lo8(75)
 857               	.L117:
 858 02b0 00D0      		rcall SendByte
 351:main.c        ****         	  	  }
 352:main.c        ****         	  	  else
 353:main.c        ****         	  	  {
 354:main.c        ****         	  	  	  SendByte( 'E' );
 355:main.c        ****         	  	  }      	        
 356:main.c        ****         	  }
 357:main.c        ****         	  
 358:main.c        ****         	  break;
 859               		.stabn 68,0,358,.LM122-Parse_Command
 860               	.LM122:
 861 02b2 3EC0      		rjmp .L52
 862               	.L84:
 863               		.stabn 68,0,354,.LM123-Parse_Command
 864               	.LM123:
 865 02b4 85E4      		ldi r24,lo8(69)
 866 02b6 FCCF      		rjmp .L117
 359:main.c        ****         	  
 360:main.c        ****         case 0x06 :             //Recovery default value, 0 --not , 1 -- reset  to default value;
 361:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 867               		.stabn 68,0,361,.LM124-Parse_Command
 868               	.LM124:
 869               	.L87:
 870 02b8 E199      		sbic 60-0x20,1
 871 02ba FECF      		rjmp .L87
 362:main.c        ****         	  eeprom_wb( &RESET_DEFAULT , param );
 872               		.stabn 68,0,362,.LM125-Parse_Command
 873               	.LM125:
 874 02bc 6C2F      		mov r22,r28
 875 02be 80E0      		ldi r24,lo8(RESET_DEFAULT)
 876 02c0 90E0      		ldi r25,hi8(RESET_DEFAULT)
 877 02c2 00D0      		rcall eeprom_write_byte
 363:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 878               		.stabn 68,0,363,.LM126-Parse_Command
 879               	.LM126:
 880               	.L90:
 881 02c4 E199      		sbic 60-0x20,1
 882 02c6 FECF      		rjmp .L90
 364:main.c        ****         	  eeprom_wb( &RESET_DEFAULT_CHK , param ); 
 883               		.stabn 68,0,364,.LM127-Parse_Command
 884               	.LM127:
 885 02c8 6C2F      		mov r22,r28
 886 02ca 80E0      		ldi r24,lo8(RESET_DEFAULT_CHK)
 887 02cc 90E0      		ldi r25,hi8(RESET_DEFAULT_CHK)
 888 02ce 00D0      		rcall eeprom_write_byte
 365:main.c        ****         	  if ( param )
 889               		.stabn 68,0,365,.LM128-Parse_Command
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 23


 890               	.LM128:
 891 02d0 CC23      		tst r28
 892 02d2 71F1      		breq .L52
 366:main.c        ****         	  	  Reset_To_Default( );  
 893               		.stabn 68,0,366,.LM129-Parse_Command
 894               	.LM129:
 895 02d4 8AD0      		rcall Reset_To_Default
 367:main.c        ****         	  	    	        	
 368:main.c        ****         	  break;
 896               		.stabn 68,0,368,.LM130-Parse_Command
 897               	.LM130:
 898 02d6 2CC0      		rjmp .L52
 369:main.c        ****         	  
 370:main.c        ****         case 0x07 :             //Modify keybord enable, ( 0 -- low level alarm , 1 -- high level a
 371:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 899               		.stabn 68,0,371,.LM131-Parse_Command
 900               	.LM131:
 901               	.L95:
 902 02d8 E199      		sbic 60-0x20,1
 903 02da FECF      		rjmp .L95
 372:main.c        ****         	  eeprom_wb( &ALARM_LEVEL , param );
 904               		.stabn 68,0,372,.LM132-Parse_Command
 905               	.LM132:
 906 02dc 6C2F      		mov r22,r28
 907 02de 80E0      		ldi r24,lo8(ALARM_LEVEL)
 908 02e0 90E0      		ldi r25,hi8(ALARM_LEVEL)
 909 02e2 00D0      		rcall eeprom_write_byte
 373:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 910               		.stabn 68,0,373,.LM133-Parse_Command
 911               	.LM133:
 912               	.L98:
 913 02e4 E199      		sbic 60-0x20,1
 914 02e6 FECF      		rjmp .L98
 374:main.c        ****         	  eeprom_wb( &ALARM_LEVEL_CHK , param );
 915               		.stabn 68,0,374,.LM134-Parse_Command
 916               	.LM134:
 917 02e8 6C2F      		mov r22,r28
 918 02ea 80E0      		ldi r24,lo8(ALARM_LEVEL_CHK)
 919 02ec 90E0      		ldi r25,hi8(ALARM_LEVEL_CHK)
 920 02ee 00D0      		rcall eeprom_write_byte
 375:main.c        ****         	  alarm_level = param ;    
 921               		.stabn 68,0,375,.LM135-Parse_Command
 922               	.LM135:
 923 02f0 C093 0000 		sts alarm_level,r28
 376:main.c        ****         	       	
 377:main.c        ****         	  break;  
 924               		.stabn 68,0,377,.LM136-Parse_Command
 925               	.LM136:
 926 02f4 1DC0      		rjmp .L52
 378:main.c        ****         	  
 379:main.c        ****         case 0x08 :
 380:main.c        ****         	  while ( !eeprom_is_ready( ) ){};
 927               		.stabn 68,0,380,.LM137-Parse_Command
 928               	.LM137:
 929               	.L102:
 930 02f6 E199      		sbic 60-0x20,1
 931 02f8 FECF      		rjmp .L102
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccygaaaa.s 			page 24


 381:main.c        ****         	  eeprom_wb( &ALARM_TIME , param );
 932               		.stabn 68,0,381,.LM138-Parse_Command
 933               	.LM138:
 934 02fa 6C2F      		mov r22,r28
 9

⌨️ 快捷键说明

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