侯彤暉
遼寧錦州渤海大學(xué)工學(xué)院
基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
侯彤暉
遼寧錦州渤海大學(xué)工學(xué)院
隨著電子信息化時(shí)代的到來(lái),科學(xué)技術(shù)的發(fā)展,實(shí)現(xiàn)自動(dòng)化以及智能化已經(jīng)成為了社會(huì)的一種發(fā)展趨勢(shì),而卡是作為自動(dòng)化的發(fā)展產(chǎn)物,比如現(xiàn)實(shí)中的飯卡,以及智能公交卡,門禁卡等,都充分運(yùn)用到了自動(dòng)化,信息化的相關(guān)技術(shù)。本文設(shè)計(jì)的基于單片機(jī)的門禁系統(tǒng)。所選擇的單片機(jī)作為系統(tǒng)的核心部件,系統(tǒng)中的各個(gè)子模塊是通過(guò)單片機(jī)控制的,最終達(dá)到識(shí)別信息,存儲(chǔ)信息的目的。
單片機(jī) 門禁系統(tǒng) 信息存儲(chǔ)
門禁控制系統(tǒng)現(xiàn)今已經(jīng)走向了高科技技術(shù)的發(fā)展。本文的門禁系統(tǒng)通過(guò)軟件設(shè)計(jì)和硬件設(shè)計(jì)展開(kāi)。最近幾年門禁系統(tǒng)的應(yīng)用領(lǐng)域逐漸從銀行、重要機(jī)關(guān)部門走向了生活的小區(qū),而且門禁系統(tǒng)的應(yīng)用逐漸增強(qiáng)。門禁系統(tǒng)的發(fā)展趨勢(shì)已經(jīng)從單一向全面方向發(fā)展。通常針對(duì)小區(qū)中的門禁卡在設(shè)計(jì)方面實(shí)現(xiàn)起來(lái)比較簡(jiǎn)捷。
通常比較常見(jiàn)的門禁控制系統(tǒng)主要包括了IC卡門禁系統(tǒng)、指紋識(shí)別以及密碼識(shí)別門禁系統(tǒng)等。然而IC卡門禁系統(tǒng)的安全性比較高,而且使用起來(lái)十分方便,同時(shí)有著很好的性價(jià)比,因此IC卡門禁系統(tǒng)逐漸變?yōu)榱碎T禁系統(tǒng)的發(fā)展主干,將IC卡門禁系統(tǒng)應(yīng)用現(xiàn)實(shí)應(yīng)用中,能夠?qū)崿F(xiàn)管理方面更加地自動(dòng)化以及智能化,而且還能有利于控制管理應(yīng)用場(chǎng)所中的人員的出入詳情,從而對(duì)出入人員以及權(quán)限進(jìn)行驗(yàn)證處理,另外還能將出入人員的記錄保存起來(lái)。
2.1 鍵盤模塊電路的設(shè)計(jì)
本系統(tǒng)的鍵盤模塊中的功能主要分為兩個(gè):(1)使用者ID卡不在身邊的時(shí)候能夠通過(guò)在鍵盤中輸入密碼從而打開(kāi)門禁。(2)來(lái)訪者輸入門牌號(hào),同時(shí)將門鈴按鈕按下,從而進(jìn)入。所以本文設(shè)計(jì)的鍵盤模塊的按鈕設(shè)置如表1所示。
表1 鍵盤模塊按鈕設(shè)置表
表中的A和B表示的是上文中提到的兩種模式。A代表著的是使用者的密碼輸入,而B(niǎo)代表著的是來(lái)訪者的門牌號(hào)輸入。本系統(tǒng)中的硬件的組成模塊有鍵盤輸入模塊、顯示模塊以及地址選擇模塊。其中的地址選擇模塊的功能是設(shè)置刷卡機(jī)的地址,所選用的電路的地址范圍是從0000到1111變化,其中的地址0000代表著是PC端讀卡機(jī)地址。鍵盤輸入模塊的功能是為了實(shí)現(xiàn)門禁解除之前需要是使用者按下按鍵?;趩纹瑱C(jī)的門禁系統(tǒng)硬件電路圖如圖1所示。
圖1 基于單片機(jī)的門禁系統(tǒng)硬件電路圖
2.2 門禁管理模塊的設(shè)計(jì)
智能門禁系統(tǒng)的中心模塊就是門禁管理模塊,門禁管理模塊的子模塊包括了系統(tǒng)管理的主控模塊以及數(shù)據(jù)庫(kù)模塊。主控模塊中所涉及到的功能包括了卡管理管模塊,也就是所謂的發(fā)卡,卡的類型分為最高權(quán)限卡和一般用戶發(fā)卡,最高權(quán)限卡的用戶角色權(quán)限是管理員,管理員的操作權(quán)限是能夠掛失和解掛一般用戶發(fā)卡;并且還能夠查詢卡的信息等。但是數(shù)據(jù)庫(kù)模塊的功能是采集門禁數(shù)據(jù),并且更新查詢數(shù)據(jù)。門禁機(jī)控制框圖如圖2所示。
圖2 門禁機(jī)控制框圖
2.3 時(shí)鐘電路
系統(tǒng)的核心是單片機(jī),模塊中需要設(shè)置時(shí)鐘電路,該時(shí)鐘電路主要是顯示時(shí)鐘和日歷,并且能夠標(biāo)注記錄所發(fā)生的事件,實(shí)時(shí)時(shí)鐘芯片對(duì)于時(shí)間的顯示起到了很大的作用。以往的時(shí)鐘芯片的傳輸方式采用的方式是并行接口,近來(lái)的幾年在單片機(jī)系統(tǒng)的應(yīng)用中芯片方式大多采用的是串行接口,而且也出現(xiàn)了很多的串行接口的實(shí)時(shí)時(shí)鐘芯片,本文選擇的實(shí)時(shí)時(shí)鐘芯片是DS1302,從而該實(shí)時(shí)時(shí)鐘芯片和單片機(jī)之間的通信方式選擇的是同步串行,需要用到的端口線有三條,分別是I/O數(shù)據(jù)線、RST以及SCLK串行時(shí)鐘。
2.4 顯示電路
在顯示電路中需要用到串行輸入/輸出芯片。MAX7219的芯片中的器件主要由8×8靜態(tài)RAM、BCD譯碼器以及掃描控制器等。在電路的外部需要添加一個(gè)電阻,從而實(shí)現(xiàn)所有LED顯示器中相關(guān)的字段電流的設(shè)置。MAX7219與微處理器之間需要通過(guò)三根導(dǎo)線實(shí)現(xiàn)連接,而且顯示數(shù)字由微處理器寫(xiě)入一個(gè)地址。
2.5 數(shù)據(jù)傳輸模塊的設(shè)計(jì)
數(shù)據(jù)在傳輸?shù)倪^(guò)程中國(guó),所用到的方式能夠有多種,能夠是有線方式,也能夠是無(wú)線方式。比如局域、廣域網(wǎng)絡(luò)傳輸以及串行傳輸都是有線方式的傳輸方式。無(wú)線網(wǎng)絡(luò)傳輸方式是無(wú)線方式,本文設(shè)計(jì)的基于單片機(jī)的門禁系統(tǒng)選擇的傳輸方式是結(jié)合了有線方式和無(wú)線方式兩種傳輸方式,該傳輸方式能夠適應(yīng)多種用戶給出的需求。本系統(tǒng)中的網(wǎng)絡(luò)通信接口選擇的是無(wú)線方式的無(wú)線數(shù)據(jù)傳輸。在傳輸門禁系統(tǒng)中的數(shù)據(jù)是通過(guò)上位機(jī)和下位機(jī)實(shí)現(xiàn)的,其中PC機(jī)能夠進(jìn)行操作上位機(jī),而門禁讀寫(xiě)器操作下位機(jī)。
3.1 接收數(shù)據(jù)處理程序設(shè)計(jì)
系統(tǒng)設(shè)計(jì)中,上位機(jī)與下位機(jī)采用串口通信的通信方式。但是上位機(jī)和下位機(jī)之間通信的數(shù)據(jù)會(huì)很多,所以為了通信更加地方便因而設(shè)置了數(shù)據(jù)幀格式,數(shù)據(jù)幀中的第一個(gè)字節(jié)代表的是開(kāi)始發(fā)送數(shù)據(jù),也就是指起始幀,本文設(shè)計(jì)中的起始幀是用0xBB表示。第二個(gè)字節(jié)代表的是接收端與發(fā)送端的地址。另外第三個(gè)字節(jié)代表命令,第三個(gè)以后的n個(gè)字節(jié)代表著數(shù)據(jù),校驗(yàn)數(shù)據(jù)是用第n+4個(gè)字節(jié)表示的,停止字節(jié)是用最后一個(gè)字節(jié)表示,停止字節(jié)意味著結(jié)束發(fā)送數(shù)據(jù)。當(dāng)上位機(jī)的應(yīng)答命令被接收以后代表著就是上位機(jī)成功地接收發(fā)送的數(shù)據(jù),這個(gè)時(shí)候需要把數(shù)據(jù)的發(fā)送標(biāo)志位做清零的操作,從而使得數(shù)據(jù)不會(huì)發(fā)送。當(dāng)上位機(jī)的寫(xiě)卡命令被上位機(jī)接收到的時(shí)候,在寫(xiě)卡數(shù)據(jù)塊的數(shù)組中寫(xiě)入接收到的數(shù)據(jù)同時(shí)把寫(xiě)卡標(biāo)志位寫(xiě)成1,如果程序在進(jìn)行檢測(cè)的過(guò)程中發(fā)現(xiàn)寫(xiě)卡標(biāo)志位是等于1,則說(shuō)明寫(xiě)卡操作將開(kāi)始執(zhí)行。但是本文選擇的是全雙工數(shù)據(jù)的總線RS232,在總線數(shù)據(jù)傳送的過(guò)程中容易發(fā)生傳輸?shù)腻e(cuò)誤。
3.2 讀卡數(shù)據(jù)處理程序設(shè)計(jì)
本文基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)將絕對(duì)數(shù)據(jù)塊為4的數(shù)據(jù)存儲(chǔ)在Mifare1S50卡中,扇區(qū)是為1,塊為0中。在Mifare1S50卡塊4中總共的字節(jié)數(shù)目是16個(gè),本設(shè)計(jì)中的13個(gè)字節(jié)是用來(lái)存儲(chǔ)數(shù)據(jù)的,另外的3個(gè)字節(jié)空間默認(rèn)寫(xiě)入0,其中的第一個(gè)字節(jié)存儲(chǔ)的是關(guān)于存儲(chǔ)卡的狀態(tài)信息,當(dāng)寫(xiě)入0的時(shí)候代表著卡片的狀態(tài)是無(wú)效的,當(dāng)值是1的時(shí)候,代表著就是卡片的狀態(tài)是有效的,當(dāng)值是2的時(shí)候代表著是卡片的狀態(tài)是掛失。其中第二個(gè)字節(jié)到第四個(gè)字節(jié)的這三個(gè)字節(jié)和存儲(chǔ)的門禁刷卡權(quán)限是一一對(duì)應(yīng)的,如果值是1的時(shí)候代表著是有權(quán)限開(kāi)門,如果值是0代表著無(wú)權(quán)限開(kāi)門。從第五個(gè)字節(jié)到第十個(gè)字節(jié)一共有6個(gè)字節(jié),這字節(jié)中存儲(chǔ)的是漢字,代表著姓名,因此本文中所涉及到的漢字最多是三個(gè)。第11個(gè)字節(jié)到第13個(gè)字節(jié)中存儲(chǔ)的是使用者的編號(hào),使用者的編號(hào)的存儲(chǔ)空間一共有3個(gè)字符。在讀卡數(shù)據(jù)處理模塊中判斷這13個(gè)字節(jié),在進(jìn)行讀卡的時(shí)候就會(huì)把讀取到的數(shù)據(jù)信息顯示在LCD12864液晶上。
本文主要對(duì)門禁系統(tǒng)進(jìn)行了簡(jiǎn)單地介紹,隨著社會(huì)的發(fā)展,人們生活水平的提高,門禁卡系統(tǒng)逐漸地走向了高智能以及高集成的道路。本文主要圍繞著硬件與軟件進(jìn)行了設(shè)計(jì),其中硬件部分介紹了鍵盤模塊電路、顯示電路。軟件部分介紹了接收數(shù)據(jù)和讀卡數(shù)據(jù)處理程序。
[1]劉運(yùn)清.基于單片機(jī)的門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科技信息,2013(18):80-81
[2]蒲東兵,杜常瑞,明媚,等.基于DSP的人像識(shí)別門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[C]//青年學(xué)術(shù)會(huì)議.2005:397-399
[3]李英山,張星明,潘子浩.基于DM642的智能門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)新媒體技術(shù),2008(2):66-69
[4]朱超平.基于人臉識(shí)別的門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,28(4):390-393