中 文 名:EM4100卡存储容量:64bit工作频率:125KHZ读写距离:2-15cm产品名称:EM4100/EM4102卡芯片类型:μEM瑞士微电 EM4100/EM4102擦写寿命:读不限,只读外形尺寸:ISO标准卡/厚卡封装材料:PVC、ABS典型应用:身份识别、考勤系统、门禁系统、财物标识等详细资料:进口瑞士微电子EM4100/4102无线射频芯片,采用先进的芯片封装工艺,可作为非接触卡片应用的优良解决方案。同时提供优惠的印刷服务和适合应用环境的异形卡。可广泛用于身份识别,考勤系统,门禁系统,过程控制
EM4100卡命名的原因是该卡的核心芯片是由EM Microelectronic(瑞士微电)公司生产。
【数据格式】
EM4100存储64bits只读数据,其数据格式如下:
EM4100卡与RFID读卡器的交互过程中,按照以上数据格式循环传输,连续9个1表示一次传输的开始,每组5位中最后一位(P0~P9)是偶校验(每组5位中1的个数为偶数个),在进行数据校验的同时,确保了不会出现连续9个1与传输开始标志冲突。PC0~PC3位列校验位,S0位停止位。
以下为一次传输的数据情况,该卡的生厂商标志位为0x06,卡号为0x001259E3,但是为了便于人们理解,往往将卡号转换和进行一定变化后印刷在卡面上。例如上述卡,首先将低6位的“0x1259E3”转换成十进制“1202659”,再拆分成“0x12”和“0x59E3”分别转换成3位和5位的十进制数“018”和“23011”,因此印刷到卡片上的序列号为:0001202659 018,23011
单片机源程序如下:
- #include <REGX52.H>
- #include "LCD1602.h"
- #include "UART.h"
- #include "Buzzer.h"
- #define ON 0 //宏定义
- #define OFF 1
- //--定义全局变量数组--//
- unsigned char cdata[]="ID Card number:";
- unsigned char pwdata[]={0x30,0x30,0x32,0x34,0x33,0x46,0x30,0x37}; //00 24 3F 07四个字节卡号对应ASCII码
- unsigned char ldata[]="00243F07";
- unsigned char rdata[12]; //存放接收字节
- unsigned int time;
- //--位定义--//
- //sbit Beep=P2^7; //蜂鸣器引脚定义
- sbit LED1=P2^0; //LED引脚定义
- sbit LED8=P2^7; //LED引脚定义
- //主函数//
- void main()
- {
- unsigned char i;
- LCD_Init(); //初始化LCD液晶屏
- UART_Init(); //初始化串口
- LCD_ShowString(1,1,cdata); //显示标题
- P2=0xFF;
- while(1)
- {
- for(i=0;i<12;i++) //连续接收12个字节
- {
- while(!RI); //等待接收结束
- rdata[i]=SBUF; //转存接收数据
- RI=0; //清除标志位
- }
- if((pwdata[0]==rdata[1])&&(pwdata[1]==rdata[2])&&(pwdata[2]==rdata[3])&&(pwdata[3]==rdata[4])&&(pwdata[4]==rdata[5])&&(pwdata[5]==rdata[6])&&(pwdata[6]==rdata[7])&&(pwdata[7]==rdata[8]))
- { //对比正确合法卡
-
- LCD_ShowString(2,1,ldata); //显示ID卡号
- LED1=ON; //LED灯亮
- LED8=OFF;
- Buzzer_Time(300); //蜂鸣器短鸣
- }
- else
- {
- LCD_ShowString(2,1,"ERR"); //显示ID卡号
- LED8=ON;
- LED1=OFF; //绿灯亮
- Buzzer_Time(1000); //蜂鸣器短鸣
- }
- }
- }
复制代码
Keil代码下载:
低频读卡器.zip
(41.68 KB, 下载次数: 55)
|