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

📄 fm1715_reg.h

📁 内容有FM1702对非接触IC卡的读写程序
💻 H
字号:
#ifndef _MAIN_INCLUDED_
#define _MAIN_INCLUDED_

//常量定义
#define FALSE  0
#define TRUE   1

//FM1715命令码

#define Transceive 	0x1E	//发送接收命令
#define Transmit   	0x1A	//发送命令
#define ReadE2     	0x03   	//读取FM1715 EEPROM命令
#define WriteE2    	0x01   	//写FM1715 EEPROM命令
#define Authent1   	0x0c   	//验证命令认证过程第1步
#define Authent2   	0x14   	//验证命令认证过程第2步
#define LoadKeyE2  	0x0B   	//将密钥从EEPROM复制到KEY缓存
#define LoadKey    	0x19   	//将密钥从FIFO memory复制到key memory

#define RF_TimeOut 	0xfff  	//send command delay 
#define Req        	0x01   
#define Sel	   	0x02

//Define data type
#define uchar unsigned char
#define uint  unsigned int

//Define card type
#define TYPEA_MODE	0	//type A mode
#define TYPEB_MODE	1	//type B mode
#define SHANGHAI_MODE	2	//shanghai mode

#define TM0_HIGH	0xf0	//timer0 high bit,4ms setting
#define TM0_LOW		0x60    //timer0 low bit
#define TIMEOUT		100	//Timer out ,4ms x100 =0.4s

//RF communication command 
#define	RF_CMD_REQUEST_STD	0x26
#define	RF_CMD_REQUEST_ALL	0x52
#define	RF_CMD_ANTICOL		0x93	//?????
#define	RF_CMD_SELECT		0x93	//?????
#define	RF_CMD_AUTH_LA		0x60
#define	RF_CMD_AUTH_LB		0x61
#define	RF_CMD_READ		0x30
#define	RF_CMD_WRITE		0xA0
#define	RF_CMD_INC		0xC1
#define	RF_CMD_DEC		0xC0
#define	RF_CMD_RESTORE		0xC2
#define	RF_CMD_TRANSFER		0xb0
#define	RF_CMD_HALT		0x50

//status Values
#define ALL			0x01
#define KEYB			0x04
#define KEYA			0x00
#define _AB			0x40	
#define CRC_A			1
#define CRC_B			2

#define CRC_OK			0
#define CRC_ERR			1

#define BBC_OK			0
#define BBC_ERR			1

//******************  Define Card Type *****************************
#define MIFARE_8K		0	// Mifare series 8KB card
#define MIFARE_TOKEN		1	// Mifare series 1KB TOKEN card
#define SHANGHAI_8K		2	// shanghai standard 8KB card
#define SHANGHAI_TOKEN		3	// shanghai standard 1KB TOKEN card

//******************  Function error code **************************
#define FM1715_OK		0	// Right
#define FM1715_NOTAGERR		1	// No card
#define FM1715_CRCERR		2	// card CRC error
#define FM1715_EMPTY		3	// data overflow error
#define FM1715_AUTHERR		4	// card Auth error
#define FM1715_PARITYERR	5	// card Parity error
#define FM1715_CODEERR		6	// card communication error(BCC verify error)

#define FM1715_SERNRERR		8	// card serieal number error(anti-collision error)
#define FM1715_SELECTERR	9	// card data length error(select error)
#define FM1715_NOTAUTHERR	10	// card didnt pass athu
#define FM1715_BITCOUNTERR	11	// Received bit counter error
#define FM1715_BYTECOUNTERR	12	// Received byte counter error
#define FM1715_RESTERR		13	// calling restore function error
#define FM1715_TRANSERR		14	// calling transfer function error
#define FM1715_WRITEERR		15	// calling write function error
#define FM1715_INCRERR		16	// calling increment function error
#define FM1715_DECRERR		17	// calling Decrement function error
#define FM1715_READERR		18	// calling read function error
#define FM1715_LOADKEYERR	19	// calling LOADKEY function error
#define FM1715_FRAMINGERR	20	// FM1715 Framing error
#define FM1715_REQERR		21	// calling Req function error
#define FM1715_SELERR		22	// calling Sel function error
#define FM1715_ANTICOLLERR	24	// calling anticoll function error
#define FM1715_INITVALERR	25	// calling init function error          与资料上有所改动
#define FM1715_READVALERR	26	// calling 高级读块值 function error
#define FM1715_DESELECTERR	27	// 
#define FM1715_CMD_ERR		28	// command error

//*************************** FM1715 Address define *******************
#define Page_Sel		XBYTE[0x7000]	//Page write register
#define Command			XBYTE[0x7001]	//Command register
#define FIFO			XBYTE[0x7002]	//64 bytes FIFO register
#define PrimaryStatus		XBYTE[0x7003]	//Sender,Receiver , FIFO status register
#define FIFO_Length		XBYTE[0x7004]	//Current FIFO byte count register	
#define SecondaryStatus		XBYTE[0x7005]	//each status register
#define InterruptEn		XBYTE[0x7006]	//Interrupt Enable/Disable register
#define Int_Req			XBYTE[0x7007]	//Int request flag register

#define Control 		XBYTE[0x7009]	//Control register
#define ErrorFlag		XBYTE[0x700A]	//Error Status register
#define CollPos			XBYTE[0x700B]   //Collision Detect register
#define TimerValue		XBYTE[0x700C]   //Current timer value

#define Bit_Frame		XBYTE[0x700F]   //bit frame adjust register

#define TxControl		XBYTE[0x7011]   //Transmit control register
#define CWConductance		XBYTE[0x7012]   //Select TX1 and TX2 发射天线 Impedence
#define ModConductance		XBYTE[0x7013]   //output driver impedence
#define CoderControl		XBYTE[0x7014]   //coder mode and clock frequency

#define TypeBFraming		XBYTE[0x7017]   //ISO14443B Framing format
#define DecoderControl		XBYTE[0x701a]   //Decoder control register
#define Rxcontrol2		XBYTE[0x701e]   //Decoder control and select receive source

#define RxWait			XBYTE[0x7021]   //select transmit and receive interval
#define ChannelRedundancy	XBYTE[0x7022]   //RF channel detect mode setting register
#define CRCPresetLSB		XBYTE[0x7023]   
#define CRCPresetMSB		XBYTE[0x7024]  
#define MFOUTSelect		XBYTE[0x7026]   //mfOUT configure register

#define TimerClock		XBYTE[0x702a]   //timer cycle setting register
#define TimerControl		XBYTE[0x702b]   //timer control register
#define TimerReload		XBYTE[0x702C]   //Timer init value register

#define TypeSH			XBYTE[0x7031]   //shanghai standard select register
#define TestDigiSelect		XBYTE[0x703d]   //Test pin configure register

extern uchar idata readdata[6];//	_at_ 0x0040;	//Read/write memory
extern uchar idata value[4];  // _at_ 0x0050;	//Inc/Dec value
extern uchar idata KeySet;							//password type
extern uchar idata tagtype[2];//_at_ 0x0096;	//card indentify character

extern uchar idata PRO_SendBuf[16];	//_at_ 0x0080;	//Send buffer
extern uchar idata PRO_RecvBuf[16];	//_at_ 0x0080;	//Receive buffer
extern uchar idata buffer[24];	//_at_ 0x0060;	//FM1715 command send/receive buffer
extern uchar idata UID[5];	//	_at_ 0x007a;	//User ID
extern uchar idata Secnr;	//	_at_ 0x0090;	//sector number
extern uchar idata keybuffer[6];					//key save buffer

sbit Red=P1^7;
sbit Green=P3^5;
sbit MFRST=P3^4;						//FM1715 Reset pin

#endif
//***************************** FM1715 varialbe define *********************



⌨️ 快捷键说明

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