找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3134|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

EM4100 125k低頻RFID門(mén)禁系統(tǒng) 單片機(jī)程序設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
中 文 名:EM4100卡存儲(chǔ)容量:64bit工作頻率:125KHZ讀寫(xiě)距離:2-15cm產(chǎn)品名稱(chēng):EM4100/EM4102卡芯片類(lèi)型:μEM瑞士微電 EM4100/EM4102擦寫(xiě)壽命:讀不限,只讀外形尺寸:ISO標(biāo)準(zhǔn)卡/厚卡封裝材料:PVC、ABS典型應(yīng)用:身份識(shí)別、考勤系統(tǒng)、門(mén)禁系統(tǒng)、財(cái)物標(biāo)識(shí)等詳細(xì)資料:進(jìn)口瑞士微電子EM4100/4102無(wú)線射頻芯片,采用先進(jìn)的芯片封裝工藝,可作為非接觸卡片應(yīng)用的優(yōu)良解決方案。同時(shí)提供優(yōu)惠的印刷服務(wù)和適合應(yīng)用環(huán)境的異形卡?蓮V泛用于身份識(shí)別,考勤系統(tǒng),門(mén)禁系統(tǒng),過(guò)程控制

EM4100卡命名的原因是該卡的核心芯片是由EM Microelectronic(瑞士微電)公司生產(chǎn)。

【數(shù)據(jù)格式】

EM4100存儲(chǔ)64bits只讀數(shù)據(jù),其數(shù)據(jù)格式如下:
EM4100卡與RFID讀卡器的交互過(guò)程中,按照以上數(shù)據(jù)格式循環(huán)傳輸,連續(xù)9個(gè)1表示一次傳輸?shù)拈_(kāi)始,每組5位中最后一位(P0~P9)是偶校驗(yàn)(每組5位中1的個(gè)數(shù)為偶數(shù)個(gè)),在進(jìn)行數(shù)據(jù)校驗(yàn)的同時(shí),確保了不會(huì)出現(xiàn)連續(xù)9個(gè)1與傳輸開(kāi)始標(biāo)志沖突。PC0~PC3位列校驗(yàn)位,S0位停止位。

以下為一次傳輸?shù)臄?shù)據(jù)情況,該卡的生廠商標(biāo)志位為0x06,卡號(hào)為0x001259E3,但是為了便于人們理解,往往將卡號(hào)轉(zhuǎn)換和進(jìn)行一定變化后印刷在卡面上。例如上述卡,首先將低6位的“0x1259E3”轉(zhuǎn)換成十進(jìn)制“1202659”,再拆分成“0x12”和“0x59E3”分別轉(zhuǎn)換成3位和5位的十進(jìn)制數(shù)“018”和“23011”,因此印刷到卡片上的序列號(hào)為:0001202659 018,23011

單片機(jī)源程序如下:
  1. #include <REGX52.H>
  2. #include "LCD1602.h"
  3. #include "UART.h"
  4. #include "Buzzer.h"


  5. #define ON  0       //宏定義
  6. #define OFF 1


  7. //--定義全局變量數(shù)組--//
  8. unsigned char cdata[]="ID Card number:";
  9. unsigned char pwdata[]={0x30,0x30,0x32,0x34,0x33,0x46,0x30,0x37};  //00 24 3F 07四個(gè)字節(jié)卡號(hào)對(duì)應(yīng)ASCII碼
  10. unsigned char ldata[]="00243F07";

  11. unsigned char rdata[12];    //存放接收字節(jié)
  12. unsigned int time;


  13. //--位定義--//
  14. //sbit Beep=P2^7;             //蜂鳴器引腳定義
  15. sbit LED1=P2^0;            //LED引腳定義
  16. sbit LED8=P2^7;            //LED引腳定義


  17. //主函數(shù)//
  18. void main()
  19. {
  20.         unsigned char i;
  21.         LCD_Init();   //初始化LCD液晶屏
  22.         UART_Init();  //初始化串口
  23.         LCD_ShowString(1,1,cdata);       //顯示標(biāo)題
  24.         P2=0xFF;
  25.         while(1)
  26.         {
  27.                 for(i=0;i<12;i++)   //連續(xù)接收12個(gè)字節(jié)
  28.                 {

  29.                         while(!RI);     //等待接收結(jié)束
  30.                         rdata[i]=SBUF;  //轉(zhuǎn)存接收數(shù)據(jù)
  31.                         RI=0;                         //清除標(biāo)志位

  32.                 }
  33.                 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]))
  34.                 {                   //對(duì)比正確合法卡
  35.                         
  36.             LCD_ShowString(2,1,ldata);       //顯示ID卡號(hào)
  37.                         LED1=ON;       //LED燈亮
  38.                         LED8=OFF;
  39.                         Buzzer_Time(300);      //蜂鳴器短鳴
  40.                 }
  41.                 else
  42.                 {
  43.                         LCD_ShowString(2,1,"ERR");       //顯示ID卡號(hào)
  44.                         LED8=ON;
  45.                         LED1=OFF;       //綠燈亮
  46.                         Buzzer_Time(1000);      //蜂鳴器短鳴
  47.                 }
  48.         }
  49. }
復(fù)制代碼

Keil代碼下載:
低頻讀卡器.zip (41.68 KB, 下載次數(shù): 56)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表