唐瑞 于娟



摘 要:指紋識別電子密碼鎖系統將STC89C54單片機作為主控模塊,通過串口通信的方式來控制ZFM-60指紋模塊錄取和存儲指紋數據,然后通過LCD12864-BV2.0(帶字庫)液晶實時顯示。通常,該系統設有一般模式和管理員模式,采用矩陣鍵盤實現模式選擇和應急處理,用繼電器和LED指示燈模擬開鎖動作。
關鍵詞:單片機;指紋密碼鎖;系統設計;指紋模塊
中圖分類號:TP368.1;TP391.4 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.12.012
隨著科技的飛速發展,密碼鎖被廣泛應用于私人場所,而指紋密碼鎖成為人們的首選。世界上絕大部分物質都有其特征,人類也不例外。據科學統計,在全世界60億人口當中,除了幾十名生來就沒有指紋的特殊人物之外,沒有相同的指紋。而將指紋這種具有唯一性和穩定性特征的信息轉化為數字信息,然后再與之前采集的信息對比,逐漸形成了現在的指紋密碼鎖。
指紋識別技術的發展促進了現代電子集成制造技術和快速可靠算法的研究。現代電子集成制造技術使得我們可以制造出相當小的指紋圖像讀取設備,同時,飛速發展的計算機運算提供了在單片機上進行指紋比對運算的可能。
1 系統總體方案設計
1.1 一般模式
打開電源,電源指示燈點亮,液晶顯示“歡迎使用指紋門禁系統,請按手指開鎖”;按下按鍵后,液晶顯示“請按指紋”,同時,指紋模塊綠燈開始閃亮,執行指紋開鎖。如果指紋識別成功,繼電器工作(伴隨一聲“滴答”響),LED指示燈亮起,開鎖成功,人員可以進入,液晶顯示“門已打開”(還有指紋編號);如果指紋識別不成功,繼電器不工作,LED指示燈不亮,將不能開鎖,人員不能進入,液晶顯示“沒有搜索到指紋,請按任意鍵繼續”。
1.2 管理員模式
按下選項按鍵進入管理員模式,然后輸入6位密碼。密碼正確,可以進入管理員模式;密碼錯誤,則不能進入管理員模式。在管理員模式下,可以實現錄入指紋、刪除指紋、應急開鎖和修改密碼的功能。進入錄入指紋模式后,指紋模塊綠燈閃亮,將手指放到指紋頭上,錄入同一指紋兩次。此時,液晶顯示“指紋采集成功”。在刪除指紋模式下,液晶顯示“輸入刪除的指紋號”。輸入指紋后,按確認鍵即可完成指定指紋的刪除,同時液晶顯示“刪除指紋號成功”。在異常情況下,比如指紋模塊不好用或者緊急情況下,可以使用緊急開鎖功能。密碼修改功能是指可以修改并保存6位管理員密碼。
2 硬件設計部分
系統硬件設計如圖1所示。
2.1 指紋模塊電路
指紋密碼鎖系統設計選擇的指紋模塊型號為ZFM-60。該模塊性能較為穩定,指紋模塊接口電路如圖2所示。在ZFM-60指紋模塊內部,主要為DSP芯片(型號為AS606),與外圍封裝的CMOS芯片組合配套使用。CMOS芯片主要用于采集指紋,生成指紋特征,即數據資料。圖3所示為一個指紋模板,錄入兩次這樣的指紋特征就能生成一個指紋模板。具體的操作流程為掃描指紋(錄入圖像)→生成特征→合成模板(建立一個指紋庫文件,成功錄入一個指紋)。
用指紋模塊內的CMOS芯片采集一次指紋信息,然后進行模糊處理,生成“0”和“1”兩種記錄信息,存入指紋模塊的FLASH芯片中。當切換到識別模式時,指紋模塊就會先讓CMOS芯片采集一次指紋,然后與FLASH芯片的數據對比,看是否一致。如果一致,就可以返回指紋編號。這樣就能夠通過單片機識別指紋。
2.2 矩陣鍵盤
在本次設計中,我們采用逐行掃描法完成按鍵檢測。圖4所示為按鍵電路。依次將每根行線設置為輸出口,并輸出低電平(剩余行線輸出高電平),然后逐列檢查每根列線的電平狀態。如果某列為低電平,則該列線與設置為輸出低電平的行線交叉處的按鍵就是被按下的按鍵。確定按鍵位置后,要給矩陣鍵盤中的每個按鍵編號,也就是進行按鍵編碼。
2.3 液晶顯示
在本次設計中,采用帶字庫的12864液晶顯示器進行實時顯示。在軟件方面,使用串口通信方式;在硬件設計上,簡化了設計電路。圖5為12864LCD與單片機接口的連接情況。
顯示模塊主要實現數據的顯示功能。開始時,必須進行初始化,否則模塊無法正常顯示。在模塊接受指令前,必須確保單片機模塊內部處于非忙碌狀態,然后根據接收到的指令將相關內容顯示在屏幕上。
2.4 記憶存儲的設計
記憶存儲電路部分采用記憶存儲傳感器AT24C02進行記憶存儲。AT24C02是ATMEL公司的2 KB電可擦除存儲芯片,采用兩線串行的總線與單片機通信,電壓最低可達2.5 V,額定電流為1 mA,靜態電流為10 μA(5.5 V)。芯片內的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。AT24C02與單片機接口的連接如圖6所示。
2.5 系統電路
本次設計運用Altium Designer Summer 2009軟件設計。系統電路原理如圖7所示。設計中,大部分元件都使用高精度貼片元件,使整個系統不會因元件選用不當而出現誤差。
3 軟件設計部分
在ZFM-60指紋模塊程序的設計方面,先通過串口給指紋模塊發送命令,然后等待指紋模塊傳回數據;接著采用單片機進行數據處理,從而判斷命令有無執行(主要是指紋的采集和存儲,將采集到的指紋與之前存儲的指紋數據進行比對,得出結果)。在管理員模式下,需要進行修改密碼,增加、刪除指紋和手動開鎖等功能程序的設計。其中,密碼存儲在AT24C02存儲芯片中。在設計好所有子程序并且檢測無誤之后,再進行系統整理和修改,完善主程序。主程序設計流程如圖8所示。
4 系統聯調
系統程序需利用Keil 4軟件編寫調試。程序部分需要調試的主要有液晶顯示、矩陣鍵盤行列掃描、指紋模塊和I2C3部分。聯調結果如圖9所示。
5 結論
本文主要介紹了基于單片機的指紋密碼鎖系統的設計。該系統利用單片機、指紋模塊、矩陣鍵盤和液晶顯示,繼電器及LED指示燈用來提示是否完成指令。經過軟、硬件的調試,實現了指紋采集、存儲、比對判斷的功能,可以準確地識別指紋的ID。
參考文獻
[1]林立,張俊亮.單片機原理及其應用[M].北京:電子工業出版社,2009.
[2]陳光新.自動指紋識別技術及其應用[J].江蘇船舶,2004,21(3).
[3]張瑾,張偉.Protel 99SE 入門與提高[M].北京:人民郵電出版社,2007.
[4]趙玉蘭,姜春風,方修豐.指紋識別技術在煤礦門禁系統中的應用與實現[J].煤炭技術,2010,29(11).
[5]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2009.
作者簡介:唐瑞(1992—),男,四川閬中人,就讀于攀枝花學院電氣信息工程學院測控技術與儀器專業。于娟(1983—),女,四川宣漢人,實驗師,碩士,研究方向為控制理論與控制工程、電工電子技術。
〔編輯:劉曉芳〕