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

📄 zlg500b.#1

📁 RFID 使用C8051F020和周立功RC500开发模块
💻 #1
字号:
#ifdef __SRC
 #define EXTERN
#else
 #define EXTERN		extern
#endif

#ifdef __SRC
	#define mifs_request_en			1
	#define mifs_anticoll_en		0
	#define	mifs_anticoll2_en		0
	#define mifs_cascanticoll_en	1
	#define mifs_select_en			0
	#define mifs_cascselect_en		1
	#define mifs_authentication_en	1
	#define mifs_authentication2_en	1
	#define mifs_authKey_en			1
	#define mifs_halt_en			1
	#define mifs_read_en			1
	#define mifs_write_en			1
	#define mifs_ULwrite_en			1
	#define mifs_increment_en		0
	#define mifs_decrement_en		0
	#define mifs_restore_en			0
	#define mifs_transfer_en		0
	#define mifs_value_en			1
	#define mifs_valuedebit_en		1
	#define mifs_load_key_en		1
	#define mifs_reset_en			0
	#define mifs_close_en			0
	#define mifs_config_en			0
	#define mifs_get_info_en		1
	#define mifs_check_write_en		0
	#define mifs_set_control_bit_en	1
	#define mifs_clr_control_bit_en	1
	#define mifs_buzzer_en			1
	#define mifs_read_E2_en			0
	#define mifs_write_E2_en		0
	#define mifs_write_reg_en		1
	#define mifs_read_reg_en		1
#endif

//PICC Command							//模式常量
#define IDLE			0x00			//在选卡时HALT状态的卡除外
#define ALL				0x01			//
#define ANTICOLL1     	0x93			// anticollision level 1
#define ANTICOLL2     	0x95			// anticollision level 2
#define ANTICOLL3     	0x97			// anticollision level 3 
#define KEYA			0x00
#define KEYB			0x04
#define PICC_DECREMENT	0xC0
#define PICC_INCREMENT	0xC1
#define PICC_RESTORE	0xC2

//定义通信帧常量
#define STX		0x20
#define ACK		0x06
#define NAK		0x15
#define ETX		0x03

//数据缓冲区的索引常量
#define SEQNR		0
#define COMMAND		1	
#define STATUS		1
#define LENGTH		2		
#define DATA		3

//Communication Error
#define COMM_OK			0x00
#define COMM_ERR		0xff

EXTERN uchar ser_buffer[30];		//数据发送与接收缓冲区
EXTERN bit bdata newdata;			//全局的状态变量
sbit CON_485=P1^4;           	    //我们这里没有485控制



EXTERN uchar senddata();
EXTERN uchar mifs_request(uchar _Mode,uchar idata *_TagType);
EXTERN uchar mifs_anticoll(uchar _Bcnt,uchar idata *_SNR);
EXTERN uchar mifs_anticoll2(uchar _Encoll,uchar _Bcnt,uchar idata *_SNR);
EXTERN uchar mifs_cascanticoll(uchar _Select_code,uchar _Bcnt,uchar *_SNR);
EXTERN uchar mifs_select(uchar idata *_SNR,uchar idata *_Size);
EXTERN uchar mifs_cascselect(uchar _Select_code,uchar *_SNR,uchar *_Sak);
EXTERN uchar mifs_authentication(uchar _Mode,uchar _SecNr);
EXTERN uchar mifs_authentication2(uchar _Mode,uchar _SecNr,uchar _KeyNr);
EXTERN uchar mifs_authKey(uchar _Mode,uchar _SecNr,uchar *_Key);
EXTERN uchar mifs_halt(void);
EXTERN uchar mifs_read(uchar _Adr,uchar idata *_Data);
EXTERN uchar mifs_write(uchar _Adr,uchar idata *_Data);
EXTERN uchar mifs_ULwrite(uchar _Adr,uchar *_Data);
EXTERN uchar mifs_increment(uchar _Adr,long idata *_Value);
EXTERN uchar mifs_decrement(uchar _Adr,long idata *_Value);
EXTERN uchar mifs_restore(uchar _Adr);
EXTERN uchar mifs_transfer(uchar _Adr);
EXTERN uchar mifs_value(uchar _Mode,uchar _Adr,long idata *_Value,uchar _Trans_Adr);
EXTERN uchar mifs_valuedebit(uchar _Mode,uchar _Adr,long idata *_Value);
EXTERN uchar mifs_load_key(uchar _Mode,uchar _SecNr,uchar *_Nkey);
EXTERN uchar mifs_reset(uchar _Msec);
EXTERN uchar mifs_close(void);
EXTERN uchar mifs_config(void);
EXTERN uchar mifs_get_info(uchar idata *_Info);
EXTERN uchar mifs_check_write(uchar idata *_SNR,uchar _Authmode,uchar _Adr,uchar idata *_Data);
EXTERN uchar mifs_set_control_bit();
EXTERN uchar mifs_clr_control_bit();
EXTERN uchar mifs_buzzer(uchar _Frquence,uchar _Opentm,uchar _Closetm,uchar _Repcnt);
EXTERN uchar mifs_read_E2(uchar _Adr,uchar _Length,uchar idata *_Data);
EXTERN uchar mifs_write_E2(uchar _Adr,uchar _Length,uchar idata *_Data);
EXTERN uchar mifs_write_reg(uchar _Reg,uchar _Value);
EXTERN uchar mifs_read_reg(uchar _Reg,uchar *_Value);

//mifare error
#define MI_OK				0
#define MI_NOTAGERR         1
#define MI_CRCERR           2
#define MI_EMPTY			3
#define MI_AUTHERR			4
#define MI_PARITYERR		5
#define MI_CODEERR			6

#define MI_SERNRERR			8
#define MI_NOTAUTHERR		10
#define MI_BITCOUNTERR		11
#define MI_BYTECOUNTERR		12
#define MI_TRANSERR			14
#define MI_WRITEERR			15
#define MI_INCRERR			16
#define MI_DECRERR			17
#define MI_READERR			18
#define MI_QUIT				30

//check write Error
#define MIS_CHK_OK          0
#define MIS_CHK_FAILED      1
#define MIS_CHK_COMPERR     2

#undef EXTERN

⌨️ 快捷键说明

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