劉艷
(河南建筑職業技術學院信息工程系,河南 鄭州450064)
本文主要介紹了該系統的結構組成、硬件設計和讀卡寫卡程序等部分軟件設計過程,最后通過系統的功能測試驗證了該門禁系統的可行性。
該IC 卡門禁系統主要由PC 機實時管理軟件和基于STC89C52 單片機的門禁控制器兩部分組成,并通過MAX232 芯片進行數據傳輸。PC 機實時管理軟件的功能主要是處理系統中IC 卡基本信息和進出人員信息的查詢、增加、刪除、修改等相關信息[1]。當持卡人進入射頻區域內時,射頻讀卡器將自動讀取IC 卡上的信息。讀卡器將讀取到的IC 卡信息傳輸給控制器,控制器通過PC 端RS-232 接口與PC 機實時管理軟件實現通信連接。
PC 機實時管理軟件通過查詢數據庫,比較IC 卡信息是否合法。若合法則返回合法信息,控制器打開;若不合法則控制器關閉[2]。
該系統的硬件設計主要由單片機ST89C52、MFRC500 讀卡器、MAX232 通信模塊、液晶顯示和報警等模塊。下圖是該系統的總框圖:

圖1 門禁系統的總框圖
該系統選用了單片機STC89C52 為主控模塊,LCD1602 液晶顯示屏,MCM500 讀卡器模塊,以及MAX232 通信芯片、顯示屏、蜂鳴器為外圍器件。當正確的IC 卡對著讀卡器的射頻區間內刷卡時,MCM500 會將IC 卡上的信息傳給主控芯片。主控芯片通過通信傳輸模塊完成串口通信,將信息上傳給PC 機。PC 機實時管理軟件通過查詢數據庫判斷IC 卡信息是否合法;若合法則將合法信息傳給主控芯片,主控芯片會控制蜂鳴器發出提示音[3]。此時LCD1602 顯示屏上會顯示持卡人信息以及驗證成功提示;而當以非法的IC 卡對著射頻模塊刷時,液晶顯示屏上會顯示非法闖入。以下簡單介紹主要硬件模塊:
單片機STC89C52 具有8Kb 的Flash、256 字節隨機存取存儲器、32 位輸入/輸出端口線、內置4KB 字節的帶電可擦可編程只讀存儲器、看門狗定時器、MAX810 復位電路、2 個數據指針、3 個16 位定時器/計數器、4 個外部中斷、1 個7 向量4 級中斷結構、全雙工串行口、片內晶振及時鐘電路[4]。
另外,STC89C52 可以0Hz 下支持兩種節電操作,其中一種為空閑模式,在此模式下CPU 不在執行進程但是隨機存取存儲器工作,另一種為掉電保護模式,在這種模式下只保存隨機存取存儲器的內容,其余部分進入斷電狀態。
該系統的讀卡器芯片選擇芯片MFRC500,該芯片集成了非接觸式IC 卡的通信協議和數據傳輸方式,具有高性能、高集成性的特點。芯片內部的發送器不需要外加電源就可以直接對近距離天線進行操作。因為MFRC500 內置有天線和數字處理電路,因此不需要外加接口電路,直接通過MFRC500 芯片的TX1、TX2、RX 引腳信號芯片選擇合適的電路進行信號的處理。
結合實際距離的需求,在單片機STC89C52 與PC 機之間的串口通信接口采用RS232 接口以及為RS232 接口設計的工作電壓為+5V 的MAX232 芯片。RS232 接口更適合短距離設備之間的點對點的通信。RS232 接口具有接口信號電平低不易損壞芯片、高傳輸速率、一根信號線和一根信號返回線更加安全、傳輸距離遠的優點[5]。
根據門禁系統的要求,持卡人手持IC 卡進入感應區間時需要在液晶顯示屏顯示IC 卡卡號、時間信息、姓名以及IC 卡信息驗證是否合格等提示信息。該系統選用的LCD1602 液晶顯示屏是一種點陣型液晶模塊,擁有16×2 點陣,可以用來顯示漢字、數字等。結合具體的漢字在漢字庫中的相應區位碼,就可以實現點陣上的亮點顯示出漢字。
該系統的報警模塊蜂鳴器主要功能是在讀卡和寫卡操作成功的時候發出指示音。單片機STC89C52 輸出通過驅動電平經過PNP 型晶體管組成晶體管驅動電路后再驅動蜂鳴器。
勒維斯之后,警方再也沒有發現新的嫌疑人。隨著時間流逝,找到真兇的機會越來越渺茫。但泰諾投毒案的影響不止于此。自從該案之后,類似案件愈演愈烈,時不時有人吃到了有毒的巧克力或是喝了含有殺蟲劑的果汁。僅在一年時間內,全美就發生了270起食品、藥品污染案,其中有36起被確認為故意投毒。
新的IC 卡完成注冊才能正常使用,注冊時需在信息管理模塊中填入個人的基本信息,點擊“生成卡號”。生成IC 卡號后將個人信息與生成的IC 卡編號寫入對應的數據庫。PC 機實時管理軟件通過MAX232 芯片將寫卡命令以及IC 卡號分別發送給單片機STC89C52,對空白IC 卡寫入IC 卡號,完成后返回成功提示。
通過實際過程中數據的分析使用SQL Server2000 軟件工具設計了數據庫door,選取如下幾項內容加以說明:
3.1.1 人員信息存儲表:儲存IC 卡個人的基本信息。其中,用戶編號和個人編號、IC 卡編號都是唯一且一一對應的。
3.1.2 IC 卡信息表:Card 表存儲了IC 卡的地區編號、密碼、類別等信息,通過對IC 卡編號的查詢可以和地區編號及其它表格進行互聯。
3.1.3 Inout 表(進出時間表):記錄了IC 卡的寫入時間,通過IC卡編號的查詢持卡人的信息,具體進出的時間等信息。
3.1.4 實時管理軟件用戶表:存儲的是使用實時管理軟件的人員信息以及使用時間等信息。
3.1.5 串口通信參數設置表:存儲了在串口數據通信過程中所使用的一些參數。
PC 端RS232 接口與MAX232 芯片進行串口通信的參數包括:通信端口的設置、波特率設置、停止位、奇偶校驗位和數據位等。其中,串口通信端口設置為COM1,波特率設置為9600[6]。
通過信息查詢模塊調用數據庫可以實現對持卡人的個人信息、IC 卡信息、進出信息等進行查詢。
當MAX232 芯片接收到寫卡指令后,讀卡器根據生成的IC 卡編號寫入新IC 卡中。寫卡模塊的部分代碼如下:

當IC 卡進入射頻工作范圍時,讀卡器自動讀取IC 卡信息后傳輸到PC 機,實時管理軟件通過查詢功能判斷IC 卡信息是否合法。讀卡模塊的部分代碼如下:

對門禁系統進行功能性測試以驗證該系統能否實現基本功能滿足實際需求。本次測試主要包括以下幾個過程:
4.1 對空白的IC 卡進行注冊。PC 機實時管理軟件輸入IC 卡編號、持卡人姓名等基本信息對空白的IC 卡進行注冊。
4.2 在實時管理軟件的信息管理界面輸入持卡人信息,生成卡號。
4.3 將門禁控制系統通電,系統進入工作狀態。將已注冊的IC卡放入讀卡器的工作區間,若IC 卡為已注冊的IC 卡,顯示屏上則顯示IC 卡的地區編號和持卡人信息,如圖2 所示:

圖2 顯示屏顯示驗證信息圖
上述的功能測試通過完成IC 卡的注冊和讀卡過程驗證了本文提出的簡易IC 卡系統的設計可行性,基本滿足了日常生活中人員的出入等安全方面的需求,具有一定的使用價值。
本文結合實際生活需求,提出了一種實現信息管理、實時查詢、液晶顯示、蜂鳴報警等功能的簡易IC 卡門禁系統。系統的硬件方面選取STC89C52 單片機作為主控模塊的芯片;非接觸式IC 卡的讀寫操作選用了MFRC500 芯片;通信模塊為完成PC 端和單片機之間的通信選用MAX232 芯片;在報警模塊中,采用由PNP 型晶體管組成晶體管驅動電路。在實時管理系統的軟件設計中簡單介紹了數據表設計、系統參數管理、信息管理、信息查詢、寫卡和讀卡等模塊,并給出了寫卡和讀卡的部分代碼。最后,系統的功能測試驗證了該門禁系統設計的可行性,基本滿足了日常生活中人員的出入等安全方面的需求,具有一定的使用價值。
隨著科技的快速發展,門禁系統也會向更智能化方向發展,尤其是以大數據為核心技術的門禁系統發展,如:人臉識別門禁系統、二維碼識別門禁系統、指紋識別門禁系統等[7]。隨著大數據技術的發展,智能化門禁系統將成為我們日常生活安全管理工作中重要的組成部分,而這些門禁系統將會更快捷更準確地識別人員的基本信息并將更好地服務社會。