成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

畢業(yè)設(shè)計 - 題目:基于RFID的門禁系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

dingda / 1479人閱讀

摘要:門禁系統(tǒng)可有效管理門的開啟關(guān)閉對出入人員進行監(jiān)控管理?;诘拈T禁系統(tǒng)通過對射頻卡的識別,保證那些持有相應(yīng)證件的人員能自由進出,阻止外來人員或無法提供證件的人員進入。


1 簡介

Hi,大家好,這里是丹成學(xué)長,今天向大家介紹一個 如何使用RFID技術(shù)構(gòu)建一個單片機門禁系統(tǒng)

基于RFID的門禁系統(tǒng)

大家可用于 課程設(shè)計 或 畢業(yè)設(shè)計

技術(shù)解答、畢設(shè)幫助、開題指導(dǎo)print("Q 746876041") 

本篇博客,學(xué)長先向大家介紹射頻識別技術(shù)的概念、 分類及工作原。然后介紹 本次使用的射頻芯片 MFRC522。

RFID 系統(tǒng)設(shè)計可分為硬件部分和軟件部分。

硬件部分以 MFRC522 射頻識別模塊為核心, 結(jié)合主控模塊 STC89C52 設(shè)計系統(tǒng)的外圍硬件電路, 實現(xiàn)對射頻卡的控制與 MCU 之間的互通。 軟件部分采用 C 語言進行系統(tǒng)的下位機程序的開發(fā), 完成與 IC 卡之間的通信, 實現(xiàn)數(shù)據(jù)交換功能。

2 緒論

2.1 課題背景與目的

門禁安全管理系統(tǒng)是新型現(xiàn)代化安全管理系統(tǒng), 它集自動識別技術(shù)和現(xiàn)代安全管理措施為一體。 門禁系統(tǒng)可有效管理門的開啟關(guān)閉, 對出入人員進行監(jiān)控管理。 基于RFID的門禁系統(tǒng)通過對射頻IC卡的識別, 保證那些持有相應(yīng)證件的人員能自由進出, 阻止外來人員或無法提供證件的人員進入。 還有些門禁是利用生物識別的技術(shù), 通過對人體某些部位(如眼睛、 指紋) 的識別來確認來人是否經(jīng)過授權(quán)。 這種門禁系統(tǒng)相對射頻識別的系統(tǒng)安全系數(shù)有很大提高, 但其成本較高, 在日 常生活中還未廣泛應(yīng)用。

3 射頻識別

3.1 射頻識別技術(shù)

射頻識別(Radio Frequency Identification, RFID) 技術(shù)是從八十年代逐漸走向成熟的一種自 動識別技術(shù), 它 是一項利用 射頻信號通過空間耦合(交變磁場或電磁場)實現(xiàn)無接觸信息傳遞并通過所傳遞的信息達到識別目 的的技術(shù)。

根據(jù)射頻卡讀寫方式的不同可分成可讀寫(RW) 卡、 一次寫入多次讀出(WORM) 卡和只讀(RO) 卡。 RW 卡成本較 WORM 卡和 RO 卡相比要高, 而且寫入數(shù)據(jù)所花費的時間要遠大于讀取數(shù)據(jù)所花費的時間。 用戶可以一次性將信息寫入 WORM 卡, 寫入后數(shù)據(jù)不能改變。 RO 卡存有一個唯一的號碼。 只可讀取, 不能修改, 雖然安全性較高, 但用途有限。

3.2 射頻識別模塊

3.2.1 RFID模塊

射頻識別「Radio Frequency IDentification,簡稱RFID」技術(shù),又稱為無線射頻識別,是一種通信技術(shù),可通過無線電訊號識別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識別系統(tǒng)與特定目標(biāo)之間建立機械或光學(xué)接觸,普遍應(yīng)用于企業(yè)/校園一卡通、公交儲值卡、高速公路收費、停車場、小區(qū)管理等。

RFID 技術(shù)利用無線射頻方式在閱讀器和射頻卡之間進行非接觸雙向數(shù)據(jù)傳輸,以達到目標(biāo)識別和數(shù)據(jù)交換的目的。

3.2.2 RFID模塊組成

  • 標(biāo)簽(Tag,即射頻卡),耦合元件及芯片組成,標(biāo)簽含有內(nèi)置天線,用于和射頻天線間進行通信。
  • 閱讀器:讀取(在讀寫卡中還可以寫入)標(biāo)簽信息的設(shè)備。
  • 天線:在標(biāo)簽和讀取器間傳遞射頻信號。

這里使用的RFID-RC522模塊采用MFRC522芯片,SPI通訊方式,支持Mifarel S50、S70 、Pro、Desfire等類型的卡,附帶的白卡和鑰匙扣是S50卡,每張卡都有自己的標(biāo)識(UID)。

4 系統(tǒng)設(shè)計

本系統(tǒng)的主要電路包括: 讀卡器數(shù)據(jù)采集電路、 串行 E 2 PROM 存儲電路、 LCD1602 顯示電路、 串口通訊電路、 報警電路、 門控電路、 鍵盤電路。

器件列表

    1. 主控芯片: AT89C52。
    1. 讀卡器: YHY502ATG。
    1. E 2 PROM: AT24C04。
    1. LCD 液晶: ZL1602C2。
    1. 串口通訊芯片: MAX232。
    1. 報警器: 1 個蜂鳴器加一個 LED 紅燈。
    1. 門控器件: 一個 LED 綠燈。

4.1 系統(tǒng)架構(gòu)

4.1.1 硬件部分

LCD1602 顯示電路設(shè)計

串口通訊電路設(shè)計

報警電路設(shè)計

4.1.2 軟件部分

在本系統(tǒng)中, 軟件的設(shè)計主要包括: 數(shù)據(jù)采集模塊、 存儲模塊、 顯示模塊、 門控模塊、 報警模塊、 鍵盤模塊和上位機軟件的設(shè)計幾個方面。 本系統(tǒng)的軟件結(jié)構(gòu)框圖如圖 4-1 所示。

    1. 數(shù)據(jù)采集模塊: 讀卡器 YHY502ATG 通過天線讀取 RFID 卡的數(shù)據(jù),然后將數(shù)據(jù)傳送出去。
    1. 存儲模塊: AT89C52 接收到數(shù)據(jù)后, 將數(shù)據(jù)傳送給 AT24C04 進行存儲。
    1. 顯示模塊: AT89C52 接收到數(shù)據(jù)后, 將數(shù)據(jù)與 AT24C04 里存儲的數(shù)據(jù)進行對比, 若兩者完全相同, 則液晶顯示正確的信息; 若不相同, 則液晶顯示錯誤的信息。
    1. 門控模塊: AT89C52 接收到數(shù)據(jù)后, 將數(shù)據(jù)與 AT24C04 里存儲的數(shù)據(jù)進行對比, 若兩者完全相同, 則進行開門操作; 若不相同, 則不開門。
    1. 報警模塊: AT89C52 接收到數(shù)據(jù)后, 將數(shù)據(jù)與 AT24C04 里存儲的數(shù)據(jù)進行對比, 若不相同則報警。
    1. 鍵盤模塊: 通過鍵盤輸入密碼, 并根據(jù)輸入密碼的有效性做相應(yīng)的操作。

4.2 軟件總體流程圖

系統(tǒng)的軟件總體流程圖如圖

4.3 密碼子程序

當(dāng)程序運行時, 會一直判斷是否有按鍵被按下, 當(dāng)有按鍵被按下時, 系統(tǒng)會確定鍵值, 關(guān)將鍵值存入到密碼數(shù)組里, 然后將輸入的密碼與本身的密碼做比較, 若相同, 則執(zhí)行開門和顯示正確信息的操作; 若不相同, 則執(zhí)行報警和顯示錯誤信息的操作。

核心代碼:

P1=0x0f;if(P1!=0x0f) compare(P1);for(n=0;n<10;n++)if(input[n]!=password[n]) break;if(n==10){ if(m<10) continue;WriteLcdCom(0x01);   //清屏WriteLcdCom(0x80);  //第一行數(shù)據(jù)指針地址for(s=0;s<16;s++) WriteLcdDat(str2[s]);LEDG=0;BUZ=0;delay_10ms(20);LEDG=1;BUZ=1;WriteLcdCom(0x01);input[0]=" "; }else if((n<10)&&(P1==0xbd)){ WriteLcdCom(0x01);   //清屏WriteLcdCom(0x80);  //第一行數(shù)據(jù)指針地址for(s=0;s<16;s++)WriteLcdDat(str4[s]);LEDR=0;for(s=0;s<5;s++){ BUZ=0;delay_10ms(20);BUZ=1;delay_10ms(20); }LEDR=1; }

4.4 數(shù)據(jù)采集子程序

執(zhí)行程序之前, 首先要設(shè)置串口波特率等相關(guān)串口參數(shù), 然后上位機通過串口向下位機發(fā)送命令, 并進入串口中斷。 下位機根據(jù)接收 SBUF 的值做相應(yīng)的處理。

核心程序

uchar uart_process(void){uchar cmd;uchar cStatus;cmd = g_cReceBuf[1];switch(cmd){case 0x20: // 尋卡, 防沖突, 選擇卡返回卡系列號(4 bytes)cStatus =IicSendHY502(g_cReceBuf);  // 發(fā)送尋卡命令cStatus =IicReadHY502(cp);   // 讀取卡號并存入到 cPif((cStatus==SUCCESS)&&(cp[1]==CARD_SN)){memcpy(&g_cReceBuf[0],&cp[2],4);eeprom();}}//將讀取到的卡序列號與 E 2 PROM 里存儲的進行比較return cStatus;}開始上位機發(fā)送讀卡命令YYNN有感應(yīng)卡 ?驗證感應(yīng)卡權(quán)限權(quán)限滿足?開門, 顯示正確信息報警, 顯示錯誤信息延時后, 自動關(guān)門結(jié)束

4.5 顯示子程序

顯示子程序的主要功能是對當(dāng)前的門控狀態(tài)進行顯示, 顯示函數(shù)首先判斷是寫命令操作還是寫數(shù)據(jù)操作, 若是寫命令操作, 則根據(jù)命令進行相應(yīng)的操作, 如清屏、 設(shè)置顯示模式等; 若是寫數(shù)據(jù)操作, 則在顯示器上顯示相應(yīng)數(shù)據(jù)。

核心程序

void LcdShowError(){ WriteLcdCom(0x38);  //顯示模式設(shè)置WriteLcdCom(0x0c);  //開顯示, 無光標(biāo), 光標(biāo)不閃爍WriteLcdCom(0x06);  //讀寫字符后地址指針加一設(shè)置WriteLcdCom(0x80); //第一行數(shù)據(jù)指針地址for(k=0;k<16;k++){WriteLcdDat(str3[k]);delay(20); }WriteLcdCom(0xc0); //第二行數(shù)據(jù)指針地址for(k=0;k<16;k++){ WriteLcdDat(str4[k]);delay(20);}WriteLcdCom(0x01);  }void WriteLcdCom(unsigned char c){ LCDRW =00;LCDRS=0;   //切換到寫命令P0=c;LCDE=1;LCDE=0;for(a=0;a<20;a++);}void WriteLcdDat(unsigned char d){ LCDRW =00;LCDRS=1;    //切換到寫數(shù)據(jù)P0=d;LCDE=1;LCDE=0;for(a=0;a<20;a++);}

4.6 存儲子程序

本設(shè)計中數(shù)據(jù)的存儲芯片選用的是 AT24C04, 該芯片是串行的 E 2 PROM,支持 I 2 C 總線數(shù)據(jù)傳送協(xié)議。

核心程序

void eeprom(){write_byte(0,0x1e);write_byte(1,0xda); write_byte(2,0x62); write_byte(3,0xb6);write_byte(4,0x25); write_byte(5,0xee); write_byte(6,0xde);write_byte(7,0xb6); write_byte(8,0x05); write_byte(9,0xc8);write_byte(10,0x43);write_byte(11,0xb8);write_byte(12,0x3a);write_byte(13,0x04);write_byte(14,0x5d);write_byte(15,0xb6);}bit shout(uchar write_data)// 從 MCU 移出數(shù)據(jù)到 AT24C04{uchar i; bit ack_bit;for(i = 0; i < 8; i++) // 循環(huán)移入 8 個位{SDA1 = (bit)(write_data & 0x80);_nop_();SCL1 = 1;delayNOP();SCL1 = 0;write_data <<= 1; }SDA1 = 1;  // 讀取應(yīng)答delayNOP();SCL1 = 1;delayNOP();ack_bit = SDA1;SCL1 = 0;return ack_bit;  // 返回 AT24C04 應(yīng)答位}void  write_byte(uchar  addr,  uchar write_data)  //  在 指 定 地 址 addr 處寫入數(shù)據(jù) write_data{ start();shout(OP_WRITE);shout(addr);shout(write_data);stop();delay_10ms(1); }

5 實現(xiàn)效果

我們還可以把系統(tǒng)裝到盒子里

6 最后

單片機畢設(shè)項目大全:
https://blog.csdn.net/huawei123444/article/details/119822845

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123449.html

相關(guān)文章

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<