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