山東科技大學(xué)電子通信與物理學(xué)院 范 浩 高寒旭 柴兆臣
基于單片機(jī)的指紋密碼鎖
山東科技大學(xué)電子通信與物理學(xué)院 范 浩 高寒旭 柴兆臣
本設(shè)計(jì)是一款基于單片機(jī)的指紋識(shí)別電子密碼鎖系統(tǒng)。該系統(tǒng)以STC89C52單片機(jī)作為模塊核心同時(shí)結(jié)合ZFM-60指紋模塊實(shí)現(xiàn)錄取指紋并存儲(chǔ)指紋數(shù)據(jù)的功能,并且通過HS12864-15C液晶顯示比對(duì)流程及比對(duì)結(jié)果,該指紋電子密碼鎖通過直流繼電器與發(fā)光二極管來模擬開鎖的動(dòng)作。本系統(tǒng)有小體積、高性價(jià)比、高傳輸速度的特點(diǎn),適合家庭及單位使用。
單片機(jī);指紋比對(duì);電子密碼鎖;液晶屏
我們現(xiàn)在市場(chǎng)上的主流密碼鎖一般都是電子設(shè)計(jì)的,但是這種密碼鎖的設(shè)計(jì)有很多缺陷比如他容易被人竊取密碼同時(shí)主人也很容易忘記密碼,由于這類情況的發(fā)生大大增加了安全隱患。因此人們開始轉(zhuǎn)而探索生物識(shí)別技術(shù),希望可以利用此技術(shù)來應(yīng)付現(xiàn)在系統(tǒng)安全所面臨的挑戰(zhàn)。據(jù)研究結(jié)果表明,人類身體的很多部位具有不可復(fù)制的特點(diǎn),比如人類的聲音、視網(wǎng)膜、指紋等等都是我們?nèi)梭w獨(dú)有的特征。這些外部條件讓我們的身份認(rèn)證更加安全方便,其中近年來發(fā)展成熟的指紋識(shí)別技術(shù)成為生物識(shí)別技術(shù)中的熱點(diǎn)。
基于單片機(jī)的指紋電子密碼鎖硬件模塊主要有指紋傳感器,電源,單片機(jī),繼電器,液晶顯示屏,按鍵等構(gòu)成。在系統(tǒng)工作時(shí)硬件中的指紋模塊可以對(duì)外來指紋進(jìn)行錄入和清除工作,這一硬件部分的工作是采用C語言構(gòu)建系統(tǒng)程序,單片機(jī)通過對(duì)不同的按鍵執(zhí)行操作后向模塊發(fā)送相應(yīng)指令,完成對(duì)應(yīng)功能。在硬件與軟件完成匹配調(diào)試后,整體可構(gòu)成一個(gè)獨(dú)立的指紋識(shí)別系統(tǒng)。
圖1 系統(tǒng)總設(shè)計(jì)框圖
2.1 按鍵模塊
矩陣式鍵盤由行線和列線構(gòu)成,其中按鍵的位置位于行和列的交叉點(diǎn)上。當(dāng)鍵被按下時(shí),其交點(diǎn)處的行線和列線接通,隨即對(duì)應(yīng)的行線或列線上的電平會(huì)產(chǎn)生變化。通過檢測(cè)行或列線上的電平變化,單片機(jī)可以確定哪個(gè)按鍵被按下。
在本設(shè)計(jì)中我們采用了逐行掃描法來實(shí)現(xiàn)按鍵檢測(cè)的功能,識(shí)別的具體過程如下:
判斷鍵盤中是否有鍵按下。本設(shè)計(jì)中將行線設(shè)置為輸出口,并且輸出低電平;同時(shí)將列線設(shè)置為輸入口,輸出為高電平。我們?cè)谧x取的時(shí)候只需查看列線上的電平狀態(tài),如果有一列的電平為低電平,就表示此時(shí)有按鍵按下。
判斷被按下按鍵所在的位置。在確認(rèn)有鍵按按下后依次將每根行線設(shè)置為輸出口,并輸出低電平然后逐列檢查每根列線的電平狀態(tài),若某列為低電平,則該列線與行線交叉處的按鍵就是被按下的按鍵。
按鍵位置確定后,我們采用計(jì)算法編碼的方法給矩陣鍵盤中的每個(gè)按鍵進(jìn)行編號(hào)。
2.2 指紋模塊
本設(shè)計(jì)我們所選擇的是型號(hào)為ZFM60的指紋模塊,該指紋模塊里面主要是型號(hào)為AS606的DSP芯片,其中芯片外面裝載有CMOS芯片,當(dāng)我們錄入兩次這樣的指紋特征時(shí)就能生成一個(gè)指紋模板。當(dāng)指紋模板處于工作狀態(tài)時(shí),模塊會(huì)將第一次錄入的指紋信息進(jìn)行模糊處理并且生成“0”和“1”兩種不同的信息同時(shí)模塊會(huì)把生成的信息存入到FLASH芯片里面。當(dāng)使用到指紋模塊的識(shí)別模式時(shí),CMOS芯片將采集到的指紋和之前存儲(chǔ)在FLASH芯片里的數(shù)據(jù)庫進(jìn)行對(duì)比,并且從N個(gè)錄入的指紋數(shù)據(jù)里面找出與之對(duì)應(yīng)的指紋。單片機(jī)會(huì)對(duì)識(shí)別結(jié)果進(jìn)行判斷,如果存在的話就會(huì)顯示對(duì)應(yīng)的指紋標(biāo)號(hào)。
2.3 液晶顯示器
在本設(shè)計(jì)中采用了12864液晶顯示器,顯示器主要完成數(shù)據(jù)的顯示功能。本設(shè)計(jì)一開始必須對(duì)用戶所編的顯示程序進(jìn)行初始化,否則該指紋模塊會(huì)出現(xiàn)無法正常顯示的問題,在模塊接收到其他指令前,單片機(jī)必須確認(rèn)模塊內(nèi)部處于非忙碌的工作狀態(tài),然后顯示器會(huì)接收到指令,并且根據(jù)相應(yīng)的指令將需要顯示的內(nèi)容放在顯示屏上。
2.4 記憶存儲(chǔ)設(shè)計(jì)
本設(shè)計(jì)中將AT24C02作為記憶存儲(chǔ)裝置,AT24C02是美國Atmel公司一款低功耗的的CMOS E2PROM,它的工作電壓范圍為2.5V-5V。AT24C02 內(nèi)部含有256*8位存儲(chǔ)空間以及一個(gè)16字節(jié)頁寫緩沖器。該器件通過I2C總線接口進(jìn)行操作并且有一個(gè)專門的寫保護(hù)功能。AT24C02有良好的資料保存功能,在斷電的情況下芯片里面的資料能保存幾十年。
本設(shè)計(jì)采用keil進(jìn)行C源碼編程,keil軟件可以提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,能夠連接和重定位目標(biāo)文件和庫文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序。
將keil編寫的程序分別對(duì)矩陣鍵盤,顯示屏以及指紋模塊進(jìn)行調(diào)試,同時(shí)檢驗(yàn)蜂鳴器、繼電器、LED燈是否正常工作。通過軟件硬件的調(diào)試,判斷基于單片機(jī)的指紋密碼鎖能不能實(shí)現(xiàn)正常采集、錄入、存儲(chǔ)指紋的功能。
圖2 Z F M6 0指紋模塊
圖3 調(diào)試結(jié)果圖
本文提出的指紋密碼鎖將單片機(jī)和指紋模塊結(jié)合在一起,通過人體指紋獨(dú)有特性提高了電子鎖的安全性能。同時(shí)本設(shè)計(jì)的軟件和硬件還有很大的擴(kuò)展性可以增加其他功能,有一定推廣性。
[1]趙玉蘭,姜春風(fēng),方修豐.指紋識(shí)別技術(shù)在煤礦門禁系統(tǒng)中的應(yīng)用與實(shí)現(xiàn)[J].煤炭技術(shù).2010,29(11):132-134.
[2]唐瑞,于娟.基于單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì).科技與創(chuàng)新,2016,12,12.