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

📄 main.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取ISO15693类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 1


   1               		.file	"main.c"
   2               		.arch atmega8
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  10               		.stabs	"E:\\PROJECT_GCC\\ISO15693_OK/",100,0,0,.Ltext0
  11               		.stabs	"main.c",100,0,0,.Ltext0
  12               		.text
  13               	.Ltext0:
  14               		.stabs	"gcc2_compiled.",60,0,0,0
  15               		.stabs	"int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
  16               		.stabs	"char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0
  17               		.stabs	"long int:t(0,3)=@s32;r(0,3);0020000000000;0017777777777;",128,0,0,0
  18               		.stabs	"unsigned int:t(0,4)=r(0,4);0000000000000;0000000177777;",128,0,0,0
  19               		.stabs	"long unsigned int:t(0,5)=@s32;r(0,5);0000000000000;0037777777777;",128,0,0,0
  20               		.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,
  21               		.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,
  22               		.stabs	"short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
  23               		.stabs	"short unsigned int:t(0,9)=r(0,9);0000000000000;0000000177777;",128,0,0,0
  24               		.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
  25               		.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
  26               		.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,0,0
  27               		.stabs	"double:t(0,13)=r(0,1);4;0;",128,0,0,0
  28               		.stabs	"long double:t(0,14)=r(0,1);4;0;",128,0,0,0
  29               		.stabs	"complex int:t(0,15)=s4real:(0,1),0,16;imag:(0,1),16,16;;",128,0,0,0
  30               		.stabs	"complex float:t(0,16)=R3;8;0;",128,0,0,0
  31               		.stabs	"complex double:t(0,17)=R3;8;0;",128,0,0,0
  32               		.stabs	"complex long double:t(0,18)=R3;8;0;",128,0,0,0
  33               		.stabs	"__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0
  34               		.stabs	"_Bool:t(0,21)=@s8;-16;",128,0,0,0
  35               		.stabs	"main.c",130,0,0,0
  36               		.stabs	"C:/WinAVR/avr/include/avr/io.h",130,0,0,0
  37               		.stabs	"C:/WinAVR/avr/include/avr/sfr_defs.h",130,0,0,0
  38               		.stabs	"C:/WinAVR/avr/include/inttypes.h",130,0,0,0
  39               		.stabs	"int8_t:t(4,1)=(0,10)",128,0,67,0
  40               		.stabs	"uint8_t:t(4,2)=(0,11)",128,0,72,0
  41               		.stabs	"int16_t:t(4,3)=(0,1)",128,0,90,0
  42               		.stabs	"uint16_t:t(4,4)=(0,4)",128,0,95,0
  43               		.stabs	"int32_t:t(4,5)=(0,3)",128,0,106,0
  44               		.stabs	"uint32_t:t(4,6)=(0,5)",128,0,111,0
  45               		.stabs	"int64_t:t(4,7)=(0,6)",128,0,124,0
  46               		.stabs	"uint64_t:t(4,8)=(0,7)",128,0,129,0
  47               		.stabs	"intptr_t:t(4,9)=(4,3)",128,0,141,0
  48               		.stabs	"uintptr_t:t(4,10)=(4,4)",128,0,146,0
  49               		.stabn	162,0,0,0
  50               		.stabn	162,0,0,0
  51               		.stabs	"C:/WinAVR/avr/include/avr/iom8.h",130,0,0,0
  52               		.stabn	162,0,0,0
  53               		.stabs	"C:/WinAVR/avr/include/avr/portpins.h",130,0,0,0
  54               		.stabn	162,0,0,0
  55               		.stabn	162,0,0,0
  56               		.stabs	"C:/WinAVR/avr/include/avr/interrupt.h",130,0,0,0
  57               		.stabn	162,0,0,0
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 2


  58               		.stabs	"C:/WinAVR/avr/include/avr/signal.h",130,0,0,0
  59               		.stabn	162,0,0,0
  60               		.stabs	"C:/WinAVR/avr/include/avr/wdt.h",130,0,0,0
  61               		.stabn	162,0,0,0
  62               		.stabs	"C:/WinAVR/avr/include/avr/eeprom.h",130,0,0,0
  63               		.stabs	"C:/WinAVR/lib/gcc-lib/avr/3.3.2/include/stddef.h",130,0,0,0
  64               		.stabs	"size_t:t(11,1)=(0,4)",128,0,213,0
  65               		.stabn	162,0,0,0
  66               		.stabn	162,0,0,0
  67               		.stabs	"C:/WinAVR/avr/include/avr/pgmspace.h",130,0,0,0
  68               		.stabs	"C:/WinAVR/lib/gcc-lib/avr/3.3.2/include/stddef.h",130,0,0,0
  69               		.stabn	162,0,0,0
  70               		.stabs	"prog_void:t(12,1)=(12,2)=(12,2)",128,0,89,0
  71               		.stabs	"prog_char:t(12,3)=(12,4)=@s8;r(12,4);0;255;",128,0,90,0
  72               		.stabs	"prog_uchar:t(12,5)=(12,6)=@s8;r(12,6);0;255;",128,0,91,0
  73               		.stabs	"prog_int8_t:t(12,7)=(12,8)=(0,10)",128,0,93,0
  74               		.stabs	"prog_uint8_t:t(12,9)=(0,11)",128,0,94,0
  75               		.stabs	"prog_int16_t:t(12,10)=(12,11)=(0,1)",128,0,95,0
  76               		.stabs	"prog_uint16_t:t(12,12)=(12,13)=(0,4)",128,0,96,0
  77               		.stabs	"prog_int32_t:t(12,14)=(12,15)=(0,3)",128,0,98,0
  78               		.stabs	"prog_uint32_t:t(12,16)=(12,17)=(0,5)",128,0,99,0
  79               		.stabs	"prog_int64_t:t(12,18)=(12,19)=(0,6)",128,0,101,0
  80               		.stabs	"prog_uint64_t:t(12,20)=(12,21)=(0,7)",128,0,102,0
  81               		.stabn	162,0,0,0
  82               		.stabs	"level4.h",130,0,0,0
  83               		.stabn	162,0,0,0
  84               		.stabs	"level3.h",130,0,0,0
  85               		.stabn	162,0,0,0
  86               		.stabs	"level2.h",130,0,0,0
  87               		.stabs	"TCAPTURE:T(16,1)=s256capture_data:(16,2)=ar(16,3)=r(16,3);0000000000000;0000000177777;;0;1
  88               		.stabs	"TCAPTURE:t(16,4)=(16,1)",128,0,89,0
  89               		.stabn	162,0,0,0
  90               	.global	ID
  91               		.section	.eeprom,"aw",@progbits
  92               		.type	ID, @object
  93               		.size	ID, 1
  94               	ID:
  95 0000 01        		.byte	1
  96               	.global	SERIAL_NUMBER
  97               		.type	SERIAL_NUMBER, @object
  98               		.size	SERIAL_NUMBER, 1
  99               	SERIAL_NUMBER:
 100 0001 FF        		.byte	-1
 101               	.global	WEIGAN_FORMAT
 102               		.type	WEIGAN_FORMAT, @object
 103               		.size	WEIGAN_FORMAT, 1
 104               	WEIGAN_FORMAT:
 105 0002 01        		.byte	1
 106               	.global	AUTH_CODE
 107               		.type	AUTH_CODE, @object
 108               		.size	AUTH_CODE, 1
 109               	AUTH_CODE:
 110 0003 00        		.byte	0
 111               	.global	EEPROM_CHECK
 112               		.type	EEPROM_CHECK, @object
 113               		.size	EEPROM_CHECK, 1
 114               	EEPROM_CHECK:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 3


 115 0004 00        		.byte	0
 116               	.global	RESET_DEFAULT
 117               		.type	RESET_DEFAULT, @object
 118               		.size	RESET_DEFAULT, 1
 119               	RESET_DEFAULT:
 120 0005 00        		.byte	0
 121               	.global	ALARM_LEVEL
 122               		.type	ALARM_LEVEL, @object
 123               		.size	ALARM_LEVEL, 1
 124               	ALARM_LEVEL:
 125 0006 01        		.byte	1
 126               	.global	ALARM_TIME
 127               		.type	ALARM_TIME, @object
 128               		.size	ALARM_TIME, 1
 129               	ALARM_TIME:
 130 0007 05        		.byte	5
 131               	.global	ALARM_ENABLE
 132               		.type	ALARM_ENABLE, @object
 133               		.size	ALARM_ENABLE, 1
 134               	ALARM_ENABLE:
 135 0008 01        		.byte	1
 136               	.global	ID_CHK
 137               		.type	ID_CHK, @object
 138               		.size	ID_CHK, 1
 139               	ID_CHK:
 140 0009 01        		.byte	1
 141               	.global	SERIAL_NUMBER_CHK
 142               		.type	SERIAL_NUMBER_CHK, @object
 143               		.size	SERIAL_NUMBER_CHK, 1
 144               	SERIAL_NUMBER_CHK:
 145 000a FF        		.byte	-1
 146               	.global	WEIGAN_FORMAT_CHK
 147               		.type	WEIGAN_FORMAT_CHK, @object
 148               		.size	WEIGAN_FORMAT_CHK, 1
 149               	WEIGAN_FORMAT_CHK:
 150 000b 01        		.byte	1
 151               	.global	AUTH_CODE_CHK
 152               		.type	AUTH_CODE_CHK, @object
 153               		.size	AUTH_CODE_CHK, 1
 154               	AUTH_CODE_CHK:
 155 000c 00        		.byte	0
 156               	.global	EEPROM_CHECK_CHK
 157               		.type	EEPROM_CHECK_CHK, @object
 158               		.size	EEPROM_CHECK_CHK, 1
 159               	EEPROM_CHECK_CHK:
 160 000d 00        		.byte	0
 161               	.global	RESET_DEFAULT_CHK
 162               		.type	RESET_DEFAULT_CHK, @object
 163               		.size	RESET_DEFAULT_CHK, 1
 164               	RESET_DEFAULT_CHK:
 165 000e 00        		.byte	0
 166               	.global	ALARM_LEVEL_CHK
 167               		.type	ALARM_LEVEL_CHK, @object
 168               		.size	ALARM_LEVEL_CHK, 1
 169               	ALARM_LEVEL_CHK:
 170 000f 01        		.byte	1
 171               	.global	ALARM_TIME_CHK
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 4


 172               		.type	ALARM_TIME_CHK, @object
 173               		.size	ALARM_TIME_CHK, 1
 174               	ALARM_TIME_CHK:
 175 0010 05        		.byte	5
 176               	.global	ALARM_ENABLE_CHK
 177               		.type	ALARM_ENABLE_CHK, @object
 178               		.size	ALARM_ENABLE_CHK, 1
 179               	ALARM_ENABLE_CHK:
 180 0011 01        		.byte	1
 181               		.text
 182               		.stabs	"avr_ini:F(0,20)",36,0,118,avr_ini
 183               	.global	avr_ini
 184               		.type	avr_ini, @function
 185               	avr_ini:
   1:main.c        **** 
   2:main.c        **** 
   3:main.c        **** #include <avr/io.h>
   4:main.c        **** #include <inttypes.h>
   5:main.c        **** #include <avr/interrupt.h>
   6:main.c        **** #include <avr/signal.h>
   7:main.c        **** #include <avr/wdt.h>
   8:main.c        **** #include <avr/eeprom.h>
   9:main.c        **** #include <avr/pgmspace.h>
  10:main.c        **** 
  11:main.c        **** #include "level4.h"
  12:main.c        **** #include "level3.h"
  13:main.c        **** #include "level2.h"
  14:main.c        **** 
  15:main.c        **** //#define DEBUG 1
  16:main.c        **** // ==================================================================
  17:main.c        **** // capture variables
  18:main.c        **** 
  19:main.c        **** uint16_t halfDataRate;                //half period downlink data rate modul
  20:main.c        **** uint8_t pulsesPerBit;                 //8 pulses for low data rate, 32 for high
  21:main.c        **** uint8_t volatile sof;                 //sof and eof indication
  22:main.c        **** 
  23:main.c        **** uint8_t forward_link_type;            //forward link modulation type
  24:main.c        **** 
  25:main.c        **** uint8_t decode_number;                //decoder routine number
  26:main.c        **** void (*decode)(void);                 //decoder routine variable
  27:main.c        **** 
  28:main.c        **** uint16_t last_capture;                //counter1 is now reset at capture start, we make a differenc
  29:main.c        ****                                       //between current and last value
  30:main.c        **** register uint8_t currentMaxTimeHi asm ("r10");          //actual hi value of maximum capture time
  31:main.c        **** 
  32:main.c        **** uint16_t EM4006_bitRate;              //bit rate of EM4006 tag
  33:main.c        **** uint8_t EM4006_scale;                 //scale of EM4006 bit rate 
  34:main.c        **** 
  35:main.c        **** uint8_t watchdog_reset;               //watchdog activated
  36:main.c        **** 
  37:main.c        **** 
  38:main.c        **** uint8_t weigan_format;
  39:main.c        **** //uint8_t weigan_enable;
  40:main.c        **** //uint8_t keyboard_enable;              //keyboard enable, 1--keyboard scan, 0 -- not keyboard scan
  41:main.c        **** 
  42:main.c        **** uint8_t beep_times;
  43:main.c        **** uint8_t alarm_level;
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s 			page 5


  44:main.c        **** 
  45:main.c        **** 
  46:main.c        **** uint8_t ID __attribute__((section(".eeprom")))            = 0x01;
  47:main.c        **** uint8_t SERIAL_NUMBER __attribute__((section(".eeprom"))) = 0xFF;
  48:main.c        **** uint8_t WEIGAN_FORMAT __attribute__((section(".eeprom"))) = 0x01;
  49:main.c        **** //uint8_t WEIGAN_EN_485 __attribute__((section(".eeprom"))) = 0x02;
  50:main.c        **** //uint8_t KEYBORD_EN __attribute__((section(".eeprom")))    = 0x00;
  51:main.c        **** uint8_t AUTH_CODE __attribute__((section(".eeprom")))     = 0x00;
  52:main.c        **** uint8_t EEPROM_CHECK __attribute__((section(".eeprom")))  = 0x00;
  53:main.c        **** uint8_t RESET_DEFAULT __attribute__((section(".eeprom"))) = 0x00;
  54:main.c        **** uint8_t ALARM_LEVEL __attribute__((section(".eeprom")))   = 0x01;
  55:main.c        **** uint8_t ALARM_TIME __attribute__((section(".eeprom")))    = 0x05;
  56:main.c        **** uint8_t ALARM_ENABLE __attribute__((section(".eeprom")))  = 0x01;
  57:main.c        **** 
  58:main.c        **** uint8_t ID_CHK __attribute__((section(".eeprom")))            = 0x01;
  59:main.c        **** uint8_t SERIAL_NUMBER_CHK __attribute__((section(".eeprom"))) = 0xFF;
  60:main.c        **** uint8_t WEIGAN_FORMAT_CHK __attribute__((section(".eeprom"))) = 0x01;
  61:main.c        **** //uint8_t WEIGAN_EN_485_CHK __attribute__((section(".eeprom"))) = 0x02;
  62:main.c        **** //uint8_t KEYBORD_EN_CHK __attribute__((section(".eeprom")))    = 0x00;
  63:main.c        **** uint8_t AUTH_CODE_CHK __attribute__((section(".eeprom")))     = 0x00;
  64:main.c        **** uint8_t EEPROM_CHECK_CHK __attribute__((section(".eeprom")))  = 0x00;
  65:main.c        **** uint8_t RESET_DEFAULT_CHK __attribute__((section(".eeprom"))) = 0x00;
  66:main.c        **** uint8_t ALARM_LEVEL_CHK __attribute__((section(".eeprom")))   = 0x01;
  67:main.c        **** uint8_t ALARM_TIME_CHK __attribute__((section(".eeprom")))    = 0x05;
  68:main.c        **** uint8_t ALARM_ENABLE_CHK __attribute__((section(".eeprom")))  = 0x01;
  69:main.c        **** 
  70:main.c        **** uint8_t weigan_data[ 5 ] ;//= { 0x23 , 0x34 , 0x45 , 0x56 ,0x67 };
  71:main.c        **** uint8_t watchdog_feed_flag;
  72:main.c        **** 
  73:main.c        **** uint8_t unauth_card_times;
  74:main.c        **** uint8_t alarm_time;
  75:main.c        **** uint8_t alarm_enable;
  76:main.c        **** 
  77:main.c        **** // ==================================================================
  78:main.c        **** // level 1 local variables
  79:main.c        **** 
  80:main.c        **** register uint8_t captured_byte asm ("r6");      //store_bit current capture bits
  81:main.c        **** register uint8_t captured_valid asm ("r7");     //store_bit current capture valid bits
  82:main.c        **** register uint8_t capture_cnt asm ("r8");        //store_bit current capture byte index
  83:main.c        **** register uint8_t captured_bit_count asm ("r9"); //store_bit current capture bit counter
  84:main.c        **** 

⌨️ 快捷键说明

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