分享一個51單片機做的門禁系統,資料齊全,親測可用
Altium Designer畫的RFID密碼鎖門禁系統電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)
設計文檔內容截圖:
本設計采用STC89C52作為主控芯片,專用讀卡器模塊用來讀射頻卡的信息,當有卡進入到讀卡器讀卡的范圍內時就會讀取到相應的卡序列號,并根據得到的卡序列號做出相應的操作。若正確則開門,若不正確則報警并顯示錯誤信息。本設計實現了自動、準確的識別卡序列號,對門禁系統起著重要的作用EEPROM采用AT24C04芯片,掉電后可以存儲密碼,從而保證了系統的安全性。人機交互通道部分采用了4×4矩陣鍵盤輸入以及LCD12864標準字符型液晶顯示。針對于用按鍵輸入密碼,根據密碼的正確與否來進行相應的操作,管理員可以自行設定和修改密碼;輸出系統部分包括驅動開鎖電路和報警電路;其中,在本系統設計中,驅動開鎖電路用發光二極管表示,而報警電路則使用蜂鳴器。
2、研究方案
本系統的主要電路包括:讀卡器數據采集電路、串行E2PROM存儲電路、LCD12864顯示電路、報警電路、門控電路、鍵盤電路。
(1)數據采集:讀卡器YHY502ATG通過天線讀取RFID卡的數據,然后將數據傳送出去。但這部分還只是設計階段沒有真正的實現,該系統還需要在今后的工作中進一步的研究和改善。所以在仿真中簡單的用一個開關按鈕代替讀卡器正確信號的輸入。
(2)數據分析:AT89C52接收到數據后,將數據傳送給AT24C04或上位機,AT24C04或上位機對數據進行分析,從而判斷數據的有效性。
(3)數據處理:針對數據的采集和分析的結果做出相應的處理,例如顯示、報警、門控等。
(4)密碼輸入模塊:(a)針對于用按鍵輸入密碼,根據密碼的正確與否來進行相應的操作;(b)管理員可以自行設定和修改密碼; (c)友好的人機界面;(d)輸入正確的密碼后,驅動開鎖電路。
(5)報警機制模塊:當出現非法卡或輸入的密碼不正確時產生報警。
3. 擬解決的關鍵問題
(1)系統總方案的論證
(2)系統硬件設計
(3)程序軟件設計
五、已進行的科研工作基礎和已具備的科學研究條件(包括已經取得的科研成果、已經完成的科學實驗及調查研究、具備的主要儀器設備及資料與數據等),以及可行性分析
1. 已進行的科研工作基礎和已具備的科學研究條件
在大學期間,我們開設了單片機的,對整個單片機的控制比較熟悉,做過相關的單片機設計的實驗,目前我校圖書庫里有很多較好的相關資料,在這個過程中我們查閱相關資料,文獻,熟悉單片機的仿真軟件環,具備相關科研工作基礎與條件。
近年來,門禁系統因其獨特的優越性作為安全防范系統中的一個分支得到了飛速的發展和較廣泛的應用。門禁系統之所以能在眾多安防產品中脫穎而出,是因為它變以往安防產品(如閉路監控、 防盜報警等)的被動安防方式為主動控制方式。射頻識別技術是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數據,識別工作無須人工干預,作為條形碼的無線版本,RFID技術具有條形碼所不具備的防水、防磁、耐高溫、使用壽命長、讀取距離大、標簽上數據可以加密、存儲數據容量更大、存儲信息更改自如等優點,其應用將給零售、物流等產業帶來革命性變化。同時,經濟水平的高速發展讓人們越來越關心建筑內部的安全性。為了適應信息時代的需要,保證小區內部的安全性,滿足用戶當時的各種需求,智能門禁系統應運而生。智能門禁系統集計算機技術、電子技術、機械技術、磁電技術和射頻識別技術于一體,使卡與鎖之間實現完整“對話”功能,以智能卡來控制門鎖的開啟,開創了門禁管理的新概念,它不僅給管理者提供了更安全、更快捷、更自動化的管理模式,而且也給使用者帶來了極大的方便。本文研究的基于射頻識別技術的門禁系統就是這樣的一種系統。
2.可行性分析
我查閱了相關資料,也了解到目前已經具備進行這個實驗的基礎,并且實用性很強,很多人都進行過相關研究,這個實驗是可行的。
首先規劃出了系統的硬件功能模塊和軟件功能模塊,以及在此分析基礎上設計出的具體的、可以滿足本系統全部需求和要求的子模塊,并在整個的設計中可以進行模塊化設計,為以后的設計帶來方便。所以此設計是可行的。
元器件清單:
規格 | 規格 | 位號 | 數量 | 電解電容 | 10uF | C1 | 1 | 瓷片電容 | 22pF | C2, C3 | 2 | 瓷片電容 | 0.1uF | C17, C18 | 2 | 二極管 | IN4148 | D2 | 1 | 晶振 | 12MHZ | J1 | 1 | 燈 | LED | LED4 | 1 | 金屬膜電阻 | 10K | R1, R3, R4 | 3 | 金屬膜電阻 | 1K | R5, R7, R10 | 3 | 電位器 | 10k | RT1 | 1 | 單片機 | ST89C52 | U1 | 1 | 排阻 | 4.7K | U3 | 1 | 開關 | SWITCH | U4 | 1 | 電源接口 | POW | U5 | 1 | 排針 |
| U6 | 1 | 三極管 | S8550 | U7 | 1 | 蜂鳴器 | BELL | U8 | 1 | 存儲器 | AT24C02 | U9 | 1 | RC522 | CON8 | U12, U28 | 2 | 排針 | CON2 | U13 | 1 | 三極管 | 'S8550 | U14 | 1 | 繼電器 | JDQ-5 | U15 | 1 | 穩壓管 | LM1117 | U22 | 1 | 液晶 | LCD12864 | U23 | 1 |
單片機源程序如下:
- #include "reg52.h"
- #include "main.h"
- #include "uart.h"
- #include "timer.h"
- #include "rc522.h"
- #include "ctrl.h"
- #include "lcd12864.h"
- #include "beep.h"
- #include "key.h"
- #include "EEPROM.h"
-
- void init_all(void) //初始化
- {
- EA = 0; //關總中斷
- init_timer(); //定時器初始化
- init_uart(); //串口初始化
- init_rc522(); //RC522初始化
- lcd_init(); //LCD初始化
- EEPROM_READ(0,Card_SN_BUF,4);//EEPROM初始化,取出記錄的卡號
- EEPROM_READ(7,KEY_BUF,8);//EEPROM初始化,取出記錄的密碼
-
- send_bytes(Card_SN_BUF,4);
- EA = 1; //開總中斷
- }
- void main(void) //主函數
- {
- INT8U key;
- Delay_ms(50); //讓硬件穩定
- init_all(); //執行初始化函數
- relay_OFF(); //關繼電器
- LED_BLINK_1(); //led test
- beep1(); //beep test
- display(0,0,0); //顯示初始化
- while(1)
- {
- key=key_scan(); //按鍵操作
- if(key==12) if(states>0) states--;
- else states=0; //上一功能
-
- if(key==13) if(++states>3) states=3; //下一功能
- ctrl_process(); //進入RC522操作
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
代碼+原理圖+文檔:
RFID門禁.7z
(11.79 MB, 下載次數: 3160)
2021-12-16 03:32 上傳
點擊文件名下載附件
|