李龍,陳飛鳳,岳梅,張婧婧(通訊作者)
(湖北文理學院物理與電子工程學院,湖北襄陽,441053)
現實生活中人們總是有各種鑰匙和門禁卡,一不小心就會忘記攜帶或丟失,從而造成了不必要的麻煩,影響人們正常的生活。國內從2000年左右就開始了基于指紋識別的門禁系統的研究[1],現如今5G通信技術的逐步成熟和物聯網的快速發展為基于指紋識別的門禁系統提供了良好的平臺,使基于指紋識別的門禁系統得以推廣應用。每個人的指紋特征都是惟一的,指紋的紋路、交叉點、斷點各不相同且具有穩定性。對比市面上現有指紋識別的門禁系統[2]后,本項目利用了指紋唯一性的特征設計了一個基于指紋識別的門禁系統。系統先進行指紋信息的采集、錄入和儲存,通過單片機將采集的用戶指紋與預先錄入的指紋對比來驗證用戶的真實身份。基于指紋識別的門禁系統利用人體本身手指的指紋作為開門的鑰匙,根據輸入指紋是否特性匹配來判斷是否開門,它提高了門禁系統的安全性,也為用戶帶來了極大的便利和更加人性化的體驗。
系統有兩種工作模式:(1)用戶訪問模式;(2)管理員模式。在用戶訪問模式下,用戶在使用本系統時,進行指紋采集和錄入,指紋匹配成功后,在面板區域可顯示狀態的LED指示燈亮起,然后會聽見“嗒”的一聲,此時繼電器會模仿門禁把鎖打開。反之,非授權用戶按下手指,系統采集到指紋,指紋數據庫中沒有與之相匹配的指紋模板,則蜂鳴器報警,門禁不打開,未經授權的用戶就不能進入。在管理員模式下,可以進行如指紋錄入、指紋刪除,緊急打開門禁和修改管理員登陸密碼之類的操作。
系統的開鎖方式有兩種:指紋開鎖和鍵盤開鎖。這兩種開鎖方式都可以打開門鎖,也可以設置鍵盤輸入正確和指紋識別都成功后系統再打開開鎖。
系統框架圖如圖1 所示。

圖1 指紋識別門禁系統框架圖
本系統由STC89C52 最小單片機模塊、4×4 矩陣按鍵模塊、AS608 指紋模塊、LCD12864 液晶顯示模塊、系統供電模塊、AT24C02 芯片儲存模塊、繼電器模塊、蜂鳴器報警模塊 8個模塊構成。STC89C52單片機是系統的控制核心,它協同調用各個功能模塊,從而達到控制整個門禁系統正常工作的目的。指紋模塊和鍵盤模塊之間通過串行通信進行數據的傳輸和接收,并在液晶顯示器的提示下進行用戶操作,從而達到打開門禁系統的目的。在系統硬件中,指紋模塊主要用于人體指紋的收集、錄入和識別;24C02 芯片儲存模塊用于密碼的儲存;LCD12864 主要用來用戶操作顯示和提示功能;4×4 矩陣按鍵用來實現各項功能指令的操作和發送。系統仿真電路圖如圖2所示。
系統采用了STC89C52單片機作為主控芯片,它協同調用各個功能模塊,從而達到控制整個門禁系統正常工作的目的。STC89C52是一款低功耗、高性能、抗干擾能力強的單片機。它具有以下標準功能:8k字節Flash,512字節RAM,32 位I/O 口線,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構,全雙工串行口,看門狗定時器。

圖2 指紋識別門禁系統電路原理圖
本系統的按鍵外觀設計如圖3所示。該系統功能鍵盤,從下往上的10個數字按鍵用于密碼輸入或者是其它系統選項卡的選擇;“*”號鍵則是“返回”功能;“#”號鍵代表“確認”功能;“A”則是在初始界面時,按下此按鍵,可訪問“管理員界面”。

圖3 4×4按鍵功能示意圖
該4×4矩陣按鍵鍵盤的接線如圖2所示。單片機的“P1.4-1.7”IO口,采用4條并列的行線進行連接,4條并列的列線則接在“P1.0-1.3”IO口上,這樣就增加了單片機IO口的利用率。單片機根據每個鍵盤開關高低電平的變化來判斷按鍵是否按下。
液晶顯示器(LCD)具有功耗低、體積小、質量輕、超薄和可編程驅動等其它顯示方式無法比擬的優點,不僅可以顯示數字、字符,還可以顯示各種圖形、曲線、及漢字,并且可實現屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能。本系統采用了LCD12864 液晶顯示器作為人機交互界面,其接線如圖2 所示。
系統采用了AT24C02 芯片實現密碼存儲,如圖2所示。AT24C02是一個2K位串行CMOS EEPROM,內部含有256個8位字節,CATALYST公司的先進CMOS技術實質上減少了器件的功耗。AT24C02有一個8字節頁寫緩沖器。該器件通過IIC總線接口進行操作,有一個專門的寫保護功能。AT24C02是運用IIC總線技術的非易失性 EEPROM存儲設備,可以在上次運行后的下一次運行中調用的芯片。其工作電壓為 1.8-6V。
系統的指紋模塊采用了ALIENTEK 發布的高性能光學指紋識別芯片AS608,主要實現用戶指紋的錄入和識別。該芯片具有內置的指紋識別算法,可以更快更有效地識別指紋。
AS608實物圖如圖4所示。
系統選用了繼電器來模擬門禁開鎖狀態,可更加直觀的觀察系統的運行狀態。繼電器模擬門禁開鎖電路如圖2所示。

圖4 AS608實物圖
本系統采用了蜂鳴器進行報警。當用戶的指紋信息匹配失敗時,系統會禁止未經授權的用戶訪問,蜂鳴器鳴響發出警報。蜂鳴器報警電路如圖2所示。

圖5 主程序流程圖

圖6 系統調試實物圖
軟件編程環境采用KeilC51編譯器集成開發環境μVision4作為C語言的開發環境。軟件程序開發采用了自頂向下的模塊化設計,即分別編寫指紋識別模塊程序、按鍵程序和LCD12864 液晶顯示程序。
在單片機上電之后,主程序即開始初始化,同時進行鍵盤按鍵檢測和 LCD 初始化工作,檢測到按下的按鍵后再調用其它子程序。系統的主程序流程圖如圖5所示。
將源程序編譯、下載好之后,開始調試系統,驗證系統的可行性和可靠性。系統調試畫面如圖6所示。
經簡單調試后,系統能實現基本功能,且系統運轉比較穩定。該指紋識別門禁系統主要實現了指紋錄入、指紋識別、指紋刪除、指紋開鎖、鍵盤開鎖、LCD顯示、非法用戶進入系統報警等功能。本系統相對于其他生物識別的門禁設計來說,成本較低、功耗較低、操作簡單便捷。本系統后繼也可進一步實現的擴展功能有:可在系統中增添“訪問日志”功能來管理訪客人員。