基于單片機(jī)的指紋密碼鎖的設(shè)計(jì)
Abstract — The paper designs a fingerprint identification combination lock based on Proteus and Keilc. Based on the STC89C52 MCU as the control core, the combination lock compares and distinguishes the fingerprint information collected by the fingerprint identification module with the fingerprint information in the storage module, displays the identification result through the LCD module, and controls the motor to realize the operations of unlocking, locking, alarming and so on.
Index Terms — IC application, Microprocessor, electronic code lock, fingerprint identification.
0 引言
現(xiàn)代社會(huì)科技不斷發(fā)展進(jìn)步,大眾對(duì)于生活品質(zhì)的要求也在日漸提升。就安全而言,鎖從古至今都是保護(hù)個(gè)人財(cái)產(chǎn)安全的屏障。數(shù)字密碼鎖雖然不需要用戶攜帶實(shí)體鑰匙,但也要求人們記住一串字符,也會(huì)有遺忘密碼以及密碼被竊取的可能。而指紋識(shí)別密碼鎖就能完美的解決上述鎖具的各種問題。指紋作為每個(gè)人特有且獨(dú)一無二的生物信息是完全可以成為一不會(huì)丟失不會(huì)被盜竊的鑰匙的。指紋密碼鎖所具備的無機(jī)械鑰匙、不需要數(shù)字密碼等優(yōu)點(diǎn)足以取代過去的鎖具,同時(shí)現(xiàn)代科技的電子集成技術(shù)與快速可靠算法也進(jìn)一步促進(jìn)指紋識(shí)別的發(fā)展。相信指紋識(shí)別鎖將會(huì)替代傳統(tǒng)的鎖具成為人們便捷生活的一部分。
1 指紋識(shí)別原理
指紋識(shí)別技術(shù)的核心自然需要由指紋說起。指紋其實(shí)是人類皮膚上因表皮凸起而產(chǎn)生的紋路。在人類基因遺傳的影響下,指紋成為絕對(duì)不會(huì)重復(fù)的一項(xiàng)身體信息。用以區(qū)別指紋的指紋特征可以分為局部特征以及總體特征兩個(gè)類別。指紋總體特征是指用人類通過觀察可以分辨的特征,包括指紋的基本紋型、核心點(diǎn)、紋數(shù)及式樣線等整體的特征。指紋上的節(jié)點(diǎn)則是指紋局部特征的判斷依據(jù)。也許會(huì)存在兩枚總體特征相同的指紋,但是其局部特征是絕對(duì)不會(huì)完全一致的[3]。所以我們?cè)谥讣y識(shí)別時(shí)更多地依據(jù)局部特征如小橋、三角點(diǎn)、分叉點(diǎn)以及端點(diǎn)等細(xì)節(jié)特征點(diǎn)來辨別。我們常用的指紋識(shí)別系統(tǒng)一般用到的也是局部特征里的端點(diǎn)和分叉點(diǎn)這兩項(xiàng)細(xì)節(jié)特征。而局部特征中其他的特征則可以通過分叉點(diǎn)和端點(diǎn)之間的組合表現(xiàn)出來。
光學(xué)式指紋采集設(shè)備、硅芯片式以及超聲波式這三種是目前被廣泛使用的指紋采集設(shè)備。本設(shè)計(jì)中使用到的就是光學(xué)式指紋采集設(shè)備。通過指紋識(shí)別模塊的光學(xué)組件,就可以取得一枚清晰的指紋。采集到的指紋圖像經(jīng)相應(yīng)的算法處理提取出指紋的局部特征就是用于存儲(chǔ)的指紋信息了。本設(shè)計(jì)中的指紋識(shí)別模塊提取出大小為 256 字節(jié)的指紋特征,將兩個(gè)指紋特征信息合成為一個(gè)完整的大小為512 字節(jié)的指紋模板文件來進(jìn)行后續(xù)指紋信息的存儲(chǔ)、對(duì)比以及查找等操作。
2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)工作流程
系統(tǒng)的設(shè)計(jì)圍繞單片機(jī)展開,該指紋密碼鎖使用 STC89C52 單片機(jī)作為控制核心,接收來自指紋模塊與按鍵模塊的信息后,通過控制繼電器來實(shí)現(xiàn)開鎖,鎖定等功能。同時(shí)液晶顯示模塊會(huì)根據(jù)單片機(jī)的反饋給出相應(yīng)的操作提示以幫助用戶更好的使用設(shè)備。
系統(tǒng)設(shè)計(jì)思路中將指紋密碼鎖的功能實(shí)現(xiàn)分到指紋識(shí)別模式以及管理員模式兩部分中。
進(jìn)入指紋識(shí)別模式后液晶顯示模塊會(huì)提示用戶:“按下按鍵 B 開始指紋認(rèn)證”,在接收到按鍵按下的信息后單片機(jī)控制液晶屏顯示:“開始指紋認(rèn)證”,此時(shí)就能按下手指開始識(shí)別指紋。當(dāng)指紋信息與指紋庫(kù)中信息比對(duì)成功后單片機(jī)控制繼電器動(dòng)作,成功開鎖。指紋識(shí)別不成功時(shí)單片機(jī)會(huì)控制顯示模塊反饋:“指紋識(shí)別錯(cuò)誤,按任意鍵繼續(xù)”繼電器不響應(yīng),開鎖失敗。
按下按鍵 A 后輸入管理員密碼,初次使用時(shí)未設(shè)置管理員密碼則輸入初始密碼在確認(rèn)密碼正確后就能進(jìn)入管理員模式了。管理員模式相當(dāng)于指紋密碼鎖的后臺(tái)管理系統(tǒng)。指紋庫(kù)中的指紋存入、指紋刪除以及管理員密碼的設(shè)置與修改等功能都需要在管理員模式里實(shí)現(xiàn)。
2.2 系統(tǒng)程序工作分析
系統(tǒng)的軟件設(shè)計(jì)分為兩部分,一部分針對(duì)指紋識(shí)別模塊的應(yīng)用程序設(shè)計(jì)另一部分是為液晶顯示模塊、按鍵模塊而設(shè)計(jì)。系統(tǒng)程序設(shè)計(jì)將分別就指紋識(shí)別模塊和按鍵模塊進(jìn)行 C 語(yǔ)言的編譯以建立相應(yīng)的子程序。在單片機(jī)軟件開發(fā)環(huán)境下對(duì)單片機(jī)進(jìn)行編譯,本設(shè)計(jì)使用的是 Keil5,它的優(yōu)點(diǎn)是由其編譯好的源程序可以和在 Proteus 中繪制的原理圖進(jìn)行聯(lián)合仿真。在需要調(diào)試時(shí)將編譯好的文件下載到單片機(jī)中。單片機(jī)上電后,主程序首先會(huì)進(jìn)行初始化工作,各個(gè)模塊的初始化工作完成后單片機(jī)開始監(jiān)測(cè)系統(tǒng)電路。當(dāng)有按鍵按下時(shí),檢測(cè)到電位變化的單片機(jī)會(huì)在確認(rèn)按鍵點(diǎn)位來執(zhí)行相應(yīng)的操作。
2.3 主程序流程
根據(jù)上述主程序需要完成的任務(wù)繪制主程序流程。
3 系統(tǒng)硬件電路設(shè)計(jì)
根據(jù)系統(tǒng)總體設(shè)計(jì)部分的對(duì)于指紋密碼鎖的構(gòu)思使用 Proteus 繪制出電子密碼的仿真原理。
3.1 指紋識(shí)別模塊電路設(shè)計(jì)
本設(shè)計(jì)使用的是型號(hào)為 ZFM-60 的指紋模塊。ZFM-60 指紋模塊主要由型號(hào)為 AS606 的 DSP 芯片和封裝在外圍的 CMOS 芯片以及光學(xué)頭、通信連接線、穩(wěn)壓芯片、Flash 芯片組成。
指紋模塊的具體工作流程:指紋錄入模式時(shí),首先由 CMOS 芯片采集指紋圖像,此過程為指紋掃描過程。之后使用相應(yīng)的算法將指紋圖像進(jìn)行模糊處理生成指紋信息,將指紋信息存入 Flash 芯片中保存指紋特征。指紋識(shí)別模式時(shí),指紋圖像掃描、生成指紋特征與錄入模式時(shí)相同,再將采集到的指紋特征與 Flash 芯片中儲(chǔ)存的數(shù)據(jù)對(duì)比,便能識(shí)別指紋是否正確。
3.2 存儲(chǔ)模塊電路設(shè)計(jì)
本設(shè)計(jì)的存儲(chǔ)模塊主要需要存儲(chǔ)的密碼有前文提到的指紋特征以及后面會(huì)出現(xiàn)的鍵盤輸入密碼。而指紋特征與管理員密碼則需要通過不同的設(shè)計(jì)來實(shí)現(xiàn)存儲(chǔ)。從指紋識(shí)別模塊獲取到的指紋特征信息在經(jīng)過整合以及相關(guān)程序的處理后就能傳到系統(tǒng)的存儲(chǔ)芯片中。
電子密碼鎖中存在的管理員模式則需要鍵盤輸入的管理員密碼來進(jìn)入,這里就需要針對(duì)性的設(shè)計(jì)鍵盤輸入密碼的存儲(chǔ)電路。在管理員密碼識(shí)別模式下,單片機(jī)會(huì)將鍵盤輸入的密碼信息與數(shù)據(jù)庫(kù)中記錄的密碼數(shù)據(jù)比對(duì)。
只有確認(rèn)密碼一致才能進(jìn)入管理員模式。系統(tǒng)進(jìn)入管理員模式后可以進(jìn)行密碼修改的設(shè)置,此時(shí)輸入想要設(shè)置的密碼,系統(tǒng)將會(huì)調(diào)用密碼存儲(chǔ)程序與數(shù)據(jù)庫(kù)程序把密碼存儲(chǔ)到數(shù)據(jù)庫(kù)中。
3.3 鍵盤輸入模塊電路設(shè)計(jì)
按鍵輸入模塊采用的是矩陣按鍵。按鍵的閉合狀態(tài)是通過電壓來反饋到單片機(jī)的。
本設(shè)計(jì)將高電平定義為按鍵斷開的信息,低電平設(shè)為閉合,單片機(jī)在接收到高低電平的反饋后就能確認(rèn)按鍵有沒有被按下。
本設(shè)計(jì)使用的是 4 行 4 列的矩陣鍵盤通過逐行掃描法來檢測(cè)按鍵。矩陣式的鍵盤由行線與列線組成,行線與列線的交叉處是放置按鍵的位。按鍵按下時(shí)該按鍵點(diǎn)位所處的行線與列線被接通此時(shí)電路會(huì)發(fā)生電平變化。電路的電平變化反饋到單片機(jī)就能確認(rèn)被按下的按鍵的點(diǎn)位了。
將行線設(shè)為輸出口并輸出低電平同時(shí)將列線設(shè)為輸入口。通過讀取列線上的電平狀態(tài)來判斷是否有按鍵按下并能得知被按下的鍵盤位于哪一列。在確認(rèn)有按鍵按下時(shí)依次將按下按鍵的那一列的每根行線設(shè)為輸出口并逐個(gè)輸出低電平此時(shí)其他的列線輸出高電平,單片機(jī)開始檢測(cè)電平,以此判斷鍵盤按下的行線,行線列線交叉點(diǎn)就是被按下的鍵盤點(diǎn)位。
3.4 復(fù)位電路設(shè)計(jì)
單片機(jī)在開機(jī)時(shí)將 CPU 及其他功能部件恢復(fù)到被設(shè)定好初始狀態(tài)就是單片機(jī)的復(fù)位。復(fù)位電路起到的作用就是將存儲(chǔ)模塊以及寄存器重置為事設(shè)定好的值,使單片機(jī)能從這個(gè)狀態(tài)開始工作。
單片機(jī)的復(fù)位電路需要在復(fù)位引腳上外接點(diǎn)容、電阻以達(dá)到單片機(jī)的上電復(fù)位的需求。只有持續(xù)時(shí)間超過系統(tǒng)的時(shí)鐘振蕩周期建立時(shí)間加上兩個(gè)機(jī)器周期時(shí)間的高電平狀態(tài)時(shí)單片機(jī)才會(huì)判定復(fù)位有效并產(chǎn)生復(fù)位。單片機(jī)在上電瞬間 RC 電路充電,RST 引腳端會(huì)產(chǎn)生正脈沖,此時(shí) RST 引腳端保持兩個(gè)周期以上的高電平,單片機(jī)就能有效復(fù)位。本設(shè)計(jì)中選用了 10μF 的電容以及 10 kΩ的電阻作為復(fù)位電路的電容與電阻。
4 系統(tǒng)仿真與功能實(shí)現(xiàn)
使用 Proteus 繪制出符合設(shè)計(jì)需求的電路仿真圖,并采用 Keilc Vision5 來編譯單片機(jī)源程序。在 Keil 中用 C 語(yǔ)言編譯好源程序后開始聯(lián)合仿真。分別打開位于 Proteus 中的原理圖和 Keil 中的工程文件將 Keil 中的可執(zhí)行文件下載到 Proteus 里,單擊 Keil 菜單 Debug 中的 GO 選項(xiàng)就可以啟動(dòng) Proteus 中的連續(xù)仿真運(yùn)行了。單擊 Keil 菜單中 Debug 中的 Stop Running 就可以終止仿真過程了。在聯(lián)合仿真過程中不能在 Proteus 里停止程序運(yùn)行以防引起系統(tǒng)出錯(cuò)提示。在聯(lián)合仿真未提示出錯(cuò)后就可以進(jìn)行程序的寫入。本設(shè)計(jì)使用了宏晶 STC 單片機(jī) STC-ISP V6.86R 軟件來下載程序并寫入。打開 STC-ISP 軟件選擇本設(shè)計(jì)的單片機(jī)型號(hào)設(shè)置好端口與波特率,選擇已經(jīng)過仿真無誤的源程序點(diǎn)擊下載/編程按鍵等到軟件提示后就可以給單片機(jī)上電了,此時(shí)程序的寫入就完成了。在組裝完成的指紋密碼鎖上電后開始功能測(cè)試。按下按鍵 A 并輸入初始管理員密碼“000000”進(jìn)入管理員模塊,進(jìn)行指紋錄入、刪除和管理員密碼修改等功能測(cè)試,功能基本實(shí)現(xiàn)。按下按鍵 B 進(jìn)入指紋識(shí)別模式,根據(jù)剛存入的指紋信息進(jìn)行指紋識(shí)別功能測(cè)試,測(cè)試證實(shí)本設(shè)計(jì)實(shí)現(xiàn)了指紋識(shí)別功能。
5 結(jié)語(yǔ)
本文從鎖具便捷性的角度出發(fā),設(shè)計(jì)了以 STC89C52 單片機(jī)為控制核心,以 ZFM60 指紋模塊、LCD 液晶顯示屏和鍵盤輸入模塊、存儲(chǔ)模塊、繼電器等部件組成的指紋密碼鎖。該指紋密碼鎖能實(shí)現(xiàn)通過指紋識(shí)別結(jié)果控制繼電器開鎖關(guān)鎖功能,同時(shí)具備管理員模式來完成指紋錄入、修改、刪除等后臺(tái)管理功能。本設(shè)計(jì)實(shí)現(xiàn)了預(yù)期的功能,當(dāng)然也有許多需要進(jìn)一步完善的部分可以根據(jù)用戶的需求來改進(jìn)創(chuàng)新。指紋密碼鎖作為一種便捷高效的鎖具形式也是值得市場(chǎng)去開發(fā)的。
責(zé)任編輯:pj
-
集成電路
+關(guān)注
關(guān)注
5391文章
11595瀏覽量
362561 -
單片機(jī)
+關(guān)注
關(guān)注
6040文章
44600瀏覽量
636989
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論