李友勝
(寶雞文理學(xué)院機(jī)械工程學(xué)院 寶雞 721016)
指紋是人類皮膚上一種特殊的紋路結(jié)構(gòu),而這些結(jié)構(gòu)的形成完全依賴于胚胎細(xì)胞的發(fā)育[1~2]。每一個(gè)胚胎因?yàn)槠浠虻闹亟M是不盡相同的,所以,每個(gè)指紋也有著其特殊的紋理結(jié)構(gòu)。
現(xiàn)代電子集成制造技術(shù)對(duì)于本系統(tǒng)的實(shí)現(xiàn)起了很大的作用[3~4],可在一個(gè)微小的單片機(jī)上存儲(chǔ)很多個(gè)指紋信息,體現(xiàn)其便捷性。利用指紋圖像讀取設(shè)備,可以獲取任何一個(gè)指紋信息,而數(shù)據(jù)庫可以準(zhǔn)確地存儲(chǔ)這些信息,在單片機(jī)上進(jìn)行兩個(gè)指紋的比對(duì)和運(yùn)算,所以基于單片機(jī)的指紋識(shí)別技術(shù)有著很強(qiáng)的可行性[5~6]。
手指表面皮膚凹凸不平而產(chǎn)生的紋路就是指紋[7~8],而紋路可以用結(jié)構(gòu)特征來描述。
通常采用的結(jié)構(gòu)特征有2種,如圖1所示。
圖1 指紋基本紋路圖案
1)全局特征:分為:環(huán)形、弓形、螺旋形。
2)局部特征:利用指紋中最常見的斷點(diǎn)和分叉來建立坐標(biāo),結(jié)合其他一些特征表示指紋。如圖2中的小橋、三角點(diǎn)、分叉點(diǎn)、端點(diǎn)和環(huán)。
指紋識(shí)別原理[9~10]:是對(duì)指紋進(jìn)行“照相”,生成指紋特征,如圖3 所示就是一個(gè)指紋模板,錄入兩次這樣的指紋特征就能生成一個(gè)指紋模板[11~12]。
其工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板[13~14](建立一個(gè)指紋庫文件,成功錄入一個(gè)指紋)。
圖2 指紋圖像
圖3 指紋模板
該系統(tǒng)由四個(gè)功能模塊構(gòu)成,即LCD12864、單片機(jī)[15]、指紋模塊、繼電器和指示燈模塊。其功能結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)功能結(jié)構(gòu)圖
管理員進(jìn)入系統(tǒng)后,在管理員模式下可以完成錄入指紋、刪除指紋、應(yīng)急開鎖和修改密碼的功能。
管理員進(jìn)入錄入指紋模式后,指紋模塊綠燈亮起,錄入同一手指兩次,此時(shí)液晶顯示“指紋采集成功”;在刪除指紋模式下,液晶顯示“輸入刪去的指紋號(hào)”,輸入后按確認(rèn)鍵即可完成指定指紋的刪除功能,同時(shí)液晶顯示“刪除指紋號(hào)成功”。在非正常的情況下,如指紋模塊不好用或者緊急情況下,可以使用緊急開鎖功能;密碼修改的功能是指可以修改并保存進(jìn)入管理員的6位密碼。
該系統(tǒng)硬件部分由四個(gè)模塊組成:按鍵模塊、顯示模塊、單片機(jī)控制模塊、指紋模塊。
指紋模塊電路如圖5 所示:將指紋模塊里面的CMOS芯片采集一次指紋信息,然后處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。
當(dāng)切換到識(shí)別模式時(shí),指紋模塊首先采集一次指紋,然后和FLASH 芯片的數(shù)據(jù)進(jìn)行對(duì)比,如果存在,則返回是幾號(hào)指紋。
圖5 指紋模塊接口圖
本系統(tǒng)采用LCD12864 液晶顯示器,是一種功耗極低的顯示器件,廣泛應(yīng)用于便攜式電子產(chǎn)品中,具有低功耗、顯示信息量大、易于彩色化等特點(diǎn)。其電路如圖6所示。
圖6 LCD12864電路
如果按鍵上為高電平,則表示斷開,否則表示閉合。為了防止信號(hào)的干擾,加入消除電平,確保CPU 對(duì)一次按鍵動(dòng)作只確認(rèn)一次,圖7 為按鍵電路,按鍵按下是呈低電平,采用軟件消抖減少對(duì)的單片機(jī)影響。
圖7 按鍵電路
復(fù)位電路[16]由按鍵復(fù)位和上電復(fù)位兩部分組成。本系統(tǒng)采用的復(fù)位電路如圖8 所示。單片機(jī)在上電瞬間,RC 電路充電,RST 引腳端出現(xiàn)正脈沖,如果RST 端保持兩個(gè)機(jī)器周期以上的高電平,單片機(jī)就會(huì)復(fù)位。
圖8 復(fù)位電路
本系統(tǒng)采用Keil 開發(fā)軟件對(duì)單片機(jī)程序進(jìn)行編寫、仿真調(diào)試,隨后將代碼文件通過開發(fā)板下載到單片機(jī)中,系統(tǒng)在通電之后,單片機(jī)中的主程序完成各個(gè)模塊的初始化工作,同時(shí)檢測(cè)對(duì)各個(gè)按鍵是否有按鍵動(dòng)作,有則執(zhí)行相關(guān)的程序。
主程序首先對(duì)各個(gè)模塊進(jìn)行初始化,掃描有無按鍵動(dòng)作,若有,先判斷是哪個(gè)按鍵,并判斷是否執(zhí)行相應(yīng)子程序。其主程序執(zhí)行流程如圖9所示。
圖9 主程序流程圖
按鍵模塊實(shí)現(xiàn)其功能時(shí),其流程如圖10所示。
LCD顯示模塊主要顯示對(duì)比結(jié)果,方便用戶更直觀的獲取信息。圖11為顯示模塊的流程圖。
圖10 按鍵流程圖
圖11 顯示模塊流程圖
指紋模塊的串口通信中,數(shù)據(jù)的發(fā)送和接收流程圖如圖12所示。
圖12 串口通信數(shù)據(jù)發(fā)送、接收流程圖
STC-ISP 是一款單片機(jī)下載編程燒錄軟件,主要用于對(duì)單片機(jī)程序的燒錄,圖13 為軟件工作界面。
圖13 STC-ISP工作界面
調(diào)試通過的代碼文件通過STC_ISP_V480下載到單片機(jī)。STC_ISP_V480使用步驟為:
1)打開 STC-ISP 軟件,然后在 MCU Type 欄目下選中STC89C52RC。
2)選中COM端口,波特率選擇9600。
3)點(diǎn)擊“打開文件”并在對(duì)話框內(nèi)找到要下載的HEX文件。
4)點(diǎn)擊download/下載,根據(jù)提示給單片機(jī)上電,完成程序燒寫。
導(dǎo)入12864 液晶的測(cè)試程序,設(shè)備通電后,通過調(diào)節(jié)液晶屏背面的電位器,在調(diào)試液晶時(shí)要注意:程序是否對(duì)液晶屏初始化,調(diào)整標(biāo)準(zhǔn)初始化步驟,或調(diào)整指令之間的延時(shí)。在經(jīng)調(diào)試后液晶的顯示結(jié)果如圖14所示。
圖14 液晶顯示屏
導(dǎo)入程序后,測(cè)試指紋模塊及按鍵是否工作,操作步驟為
1)按下電源,電源指示燈點(diǎn)亮;
2)按“*”鍵后屏幕顯示“請(qǐng)按指紋”,指紋模塊亮,將手指放到指紋頭處即可識(shí)別指紋;
3)若錄入指紋,指紋識(shí)別成功則繼電器工作,LED燈亮,門開鎖,按任意鍵返回初始界面,等待下一個(gè)人掃描指紋。若錄入指紋后,指紋識(shí)別不成功,繼電器沒有動(dòng)作,LED 燈不亮,將不能開鎖,按任意鍵返回初始界面,繼續(xù)掃描指紋。
4)按下 A 按鍵,輸入 6 位密碼,按下 B 按鍵,可刪除輸入的數(shù)字,按下D 按鍵確認(rèn),密碼輸入正確后,可進(jìn)入管理員模式。
5)在管理員模式下,按數(shù)字鍵“1”進(jìn)入錄入指紋模式,指紋頭燈亮起,此時(shí)可把手指放到指紋頭進(jìn)行指紋的錄入,錄入指紋時(shí)需要錄入2 次指紋完成這個(gè)指紋的錄入存儲(chǔ),指紋錄入成功后,按任意鍵返回到管理員界面,如需再錄入指紋重復(fù)上面操作即可。
6)按數(shù)字鍵“2”進(jìn)入刪除指紋模式,輸入要?jiǎng)h除指定的指紋號(hào)按“D”鍵確認(rèn),若指紋號(hào)輸入錯(cuò)誤可按“B”鍵撤銷,再重新輸入要?jiǎng)h除的指紋號(hào)即可。
7)在非正常情況下(指紋模塊不能識(shí)別或緊急情況)可按數(shù)字鍵“3”進(jìn)行開鎖。
8)按數(shù)字鍵“4”可進(jìn)行管理員密碼的修改。
該指紋密碼鎖利用高性能單片機(jī)、LCD顯示屏以及指紋識(shí)別模塊實(shí)現(xiàn)了各模塊的電路設(shè)計(jì),通過系統(tǒng)的功能測(cè)試,實(shí)現(xiàn)了錄入指紋、存儲(chǔ)指紋及指紋對(duì)比及繼電器的開鎖功能,為身份識(shí)別奠定了良好的基礎(chǔ),具有現(xiàn)實(shí)的應(yīng)用價(jià)值。