侯彤暉
遼寧錦州渤海大學工學院
基于單片機的門禁系統設計與實現
侯彤暉
遼寧錦州渤海大學工學院
隨著電子信息化時代的到來,科學技術的發展,實現自動化以及智能化已經成為了社會的一種發展趨勢,而卡是作為自動化的發展產物,比如現實中的飯卡,以及智能公交卡,門禁卡等,都充分運用到了自動化,信息化的相關技術。本文設計的基于單片機的門禁系統。所選擇的單片機作為系統的核心部件,系統中的各個子模塊是通過單片機控制的,最終達到識別信息,存儲信息的目的。
單片機 門禁系統 信息存儲
門禁控制系統現今已經走向了高科技技術的發展。本文的門禁系統通過軟件設計和硬件設計展開。最近幾年門禁系統的應用領域逐漸從銀行、重要機關部門走向了生活的小區,而且門禁系統的應用逐漸增強。門禁系統的發展趨勢已經從單一向全面方向發展。通常針對小區中的門禁卡在設計方面實現起來比較簡捷。
通常比較常見的門禁控制系統主要包括了IC卡門禁系統、指紋識別以及密碼識別門禁系統等。然而IC卡門禁系統的安全性比較高,而且使用起來十分方便,同時有著很好的性價比,因此IC卡門禁系統逐漸變為了門禁系統的發展主干,將IC卡門禁系統應用現實應用中,能夠實現管理方面更加地自動化以及智能化,而且還能有利于控制管理應用場所中的人員的出入詳情,從而對出入人員以及權限進行驗證處理,另外還能將出入人員的記錄保存起來。
2.1 鍵盤模塊電路的設計
本系統的鍵盤模塊中的功能主要分為兩個:(1)使用者ID卡不在身邊的時候能夠通過在鍵盤中輸入密碼從而打開門禁。(2)來訪者輸入門牌號,同時將門鈴按鈕按下,從而進入。所以本文設計的鍵盤模塊的按鈕設置如表1所示。

表1 鍵盤模塊按鈕設置表
表中的A和B表示的是上文中提到的兩種模式。A代表著的是使用者的密碼輸入,而B代表著的是來訪者的門牌號輸入。本系統中的硬件的組成模塊有鍵盤輸入模塊、顯示模塊以及地址選擇模塊。其中的地址選擇模塊的功能是設置刷卡機的地址,所選用的電路的地址范圍是從0000到1111變化,其中的地址0000代表著是PC端讀卡機地址。鍵盤輸入模塊的功能是為了實現門禁解除之前需要是使用者按下按鍵。基于單片機的門禁系統硬件電路圖如圖1所示。

圖1 基于單片機的門禁系統硬件電路圖
2.2 門禁管理模塊的設計
智能門禁系統的中心模塊就是門禁管理模塊,門禁管理模塊的子模塊包括了系統管理的主控模塊以及數據庫模塊。主控模塊中所涉及到的功能包括了卡管理管模塊,也就是所謂的發卡,卡的類型分為最高權限卡和一般用戶發卡,最高權限卡的用戶角色權限是管理員,管理員的操作權限是能夠掛失和解掛一般用戶發卡;并且還能夠查詢卡的信息等。但是數據庫模塊的功能是采集門禁數據,并且更新查詢數據。門禁機控制框圖如圖2所示。

圖2 門禁機控制框圖
2.3 時鐘電路
系統的核心是單片機,模塊中需要設置時鐘電路,該時鐘電路主要是顯示時鐘和日歷,并且能夠標注記錄所發生的事件,實時時鐘芯片對于時間的顯示起到了很大的作用。以往的時鐘芯片的傳輸方式采用的方式是并行接口,近來的幾年在單片機系統的應用中芯片方式大多采用的是串行接口,而且也出現了很多的串行接口的實時時鐘芯片,本文選擇的實時時鐘芯片是DS1302,從而該實時時鐘芯片和單片機之間的通信方式選擇的是同步串行,需要用到的端口線有三條,分別是I/O數據線、RST以及SCLK串行時鐘。
2.4 顯示電路
在顯示電路中需要用到串行輸入/輸出芯片。MAX7219的芯片中的器件主要由8×8靜態RAM、BCD譯碼器以及掃描控制器等。在電路的外部需要添加一個電阻,從而實現所有LED顯示器中相關的字段電流的設置。MAX7219與微處理器之間需要通過三根導線實現連接,而且顯示數字由微處理器寫入一個地址。
2.5 數據傳輸模塊的設計
數據在傳輸的過程中國,所用到的方式能夠有多種,能夠是有線方式,也能夠是無線方式。比如局域、廣域網絡傳輸以及串行傳輸都是有線方式的傳輸方式。無線網絡傳輸方式是無線方式,本文設計的基于單片機的門禁系統選擇的傳輸方式是結合了有線方式和無線方式兩種傳輸方式,該傳輸方式能夠適應多種用戶給出的需求。本系統中的網絡通信接口選擇的是無線方式的無線數據傳輸。在傳輸門禁系統中的數據是通過上位機和下位機實現的,其中PC機能夠進行操作上位機,而門禁讀寫器操作下位機。
3.1 接收數據處理程序設計
系統設計中,上位機與下位機采用串口通信的通信方式。但是上位機和下位機之間通信的數據會很多,所以為了通信更加地方便因而設置了數據幀格式,數據幀中的第一個字節代表的是開始發送數據,也就是指起始幀,本文設計中的起始幀是用0xBB表示。第二個字節代表的是接收端與發送端的地址。另外第三個字節代表命令,第三個以后的n個字節代表著數據,校驗數據是用第n+4個字節表示的,停止字節是用最后一個字節表示,停止字節意味著結束發送數據。當上位機的應答命令被接收以后代表著就是上位機成功地接收發送的數據,這個時候需要把數據的發送標志位做清零的操作,從而使得數據不會發送。當上位機的寫卡命令被上位機接收到的時候,在寫卡數據塊的數組中寫入接收到的數據同時把寫卡標志位寫成1,如果程序在進行檢測的過程中發現寫卡標志位是等于1,則說明寫卡操作將開始執行。但是本文選擇的是全雙工數據的總線RS232,在總線數據傳送的過程中容易發生傳輸的錯誤。
3.2 讀卡數據處理程序設計
本文基于單片機的門禁系統設計將絕對數據塊為4的數據存儲在Mifare1S50卡中,扇區是為1,塊為0中。在Mifare1S50卡塊4中總共的字節數目是16個,本設計中的13個字節是用來存儲數據的,另外的3個字節空間默認寫入0,其中的第一個字節存儲的是關于存儲卡的狀態信息,當寫入0的時候代表著卡片的狀態是無效的,當值是1的時候,代表著就是卡片的狀態是有效的,當值是2的時候代表著是卡片的狀態是掛失。其中第二個字節到第四個字節的這三個字節和存儲的門禁刷卡權限是一一對應的,如果值是1的時候代表著是有權限開門,如果值是0代表著無權限開門。從第五個字節到第十個字節一共有6個字節,這字節中存儲的是漢字,代表著姓名,因此本文中所涉及到的漢字最多是三個。第11個字節到第13個字節中存儲的是使用者的編號,使用者的編號的存儲空間一共有3個字符。在讀卡數據處理模塊中判斷這13個字節,在進行讀卡的時候就會把讀取到的數據信息顯示在LCD12864液晶上。
本文主要對門禁系統進行了簡單地介紹,隨著社會的發展,人們生活水平的提高,門禁卡系統逐漸地走向了高智能以及高集成的道路。本文主要圍繞著硬件與軟件進行了設計,其中硬件部分介紹了鍵盤模塊電路、顯示電路。軟件部分介紹了接收數據和讀卡數據處理程序。
[1]劉運清.基于單片機的門禁系統的設計與實現[J].中國科技信息,2013(18):80-81
[2]蒲東兵,杜常瑞,明媚,等.基于DSP的人像識別門禁系統設計與實現[C]//青年學術會議.2005:397-399
[3]李英山,張星明,潘子浩.基于DM642的智能門禁系統設計與實現[J].網絡新媒體技術,2008(2):66-69
[4]朱超平.基于人臉識別的門禁系統設計與實現[J].重慶工商大學學報(自然科學版),2011,28(4):390-393