李友勝
(寶雞文理學院機械工程學院 寶雞 721016)
指紋是人類皮膚上一種特殊的紋路結構,而這些結構的形成完全依賴于胚胎細胞的發育[1~2]。每一個胚胎因為其基因的重組是不盡相同的,所以,每個指紋也有著其特殊的紋理結構。
現代電子集成制造技術對于本系統的實現起了很大的作用[3~4],可在一個微小的單片機上存儲很多個指紋信息,體現其便捷性。利用指紋圖像讀取設備,可以獲取任何一個指紋信息,而數據庫可以準確地存儲這些信息,在單片機上進行兩個指紋的比對和運算,所以基于單片機的指紋識別技術有著很強的可行性[5~6]。
手指表面皮膚凹凸不平而產生的紋路就是指紋[7~8],而紋路可以用結構特征來描述。
通常采用的結構特征有2種,如圖1所示。

圖1 指紋基本紋路圖案
1)全局特征:分為:環形、弓形、螺旋形。
2)局部特征:利用指紋中最常見的斷點和分叉來建立坐標,結合其他一些特征表示指紋。如圖2中的小橋、三角點、分叉點、端點和環。
指紋識別原理[9~10]:是對指紋進行“照相”,生成指紋特征,如圖3 所示就是一個指紋模板,錄入兩次這樣的指紋特征就能生成一個指紋模板[11~12]。
其工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板[13~14](建立一個指紋庫文件,成功錄入一個指紋)。

圖2 指紋圖像

圖3 指紋模板
該系統由四個功能模塊構成,即LCD12864、單片機[15]、指紋模塊、繼電器和指示燈模塊。其功能結構如圖4所示。

圖4 系統功能結構圖
管理員進入系統后,在管理員模式下可以完成錄入指紋、刪除指紋、應急開鎖和修改密碼的功能。
管理員進入錄入指紋模式后,指紋模塊綠燈亮起,錄入同一手指兩次,此時液晶顯示“指紋采集成功”;在刪除指紋模式下,液晶顯示“輸入刪去的指紋號”,輸入后按確認鍵即可完成指定指紋的刪除功能,同時液晶顯示“刪除指紋號成功”。在非正常的情況下,如指紋模塊不好用或者緊急情況下,可以使用緊急開鎖功能;密碼修改的功能是指可以修改并保存進入管理員的6位密碼。
該系統硬件部分由四個模塊組成:按鍵模塊、顯示模塊、單片機控制模塊、指紋模塊。
指紋模塊電路如圖5 所示:將指紋模塊里面的CMOS芯片采集一次指紋信息,然后處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。
當切換到識別模式時,指紋模塊首先采集一次指紋,然后和FLASH 芯片的數據進行對比,如果存在,則返回是幾號指紋。

圖5 指紋模塊接口圖
本系統采用LCD12864 液晶顯示器,是一種功耗極低的顯示器件,廣泛應用于便攜式電子產品中,具有低功耗、顯示信息量大、易于彩色化等特點。其電路如圖6所示。

圖6 LCD12864電路
如果按鍵上為高電平,則表示斷開,否則表示閉合。為了防止信號的干擾,加入消除電平,確保CPU 對一次按鍵動作只確認一次,圖7 為按鍵電路,按鍵按下是呈低電平,采用軟件消抖減少對的單片機影響。

圖7 按鍵電路
復位電路[16]由按鍵復位和上電復位兩部分組成。本系統采用的復位電路如圖8 所示。單片機在上電瞬間,RC 電路充電,RST 引腳端出現正脈沖,如果RST 端保持兩個機器周期以上的高電平,單片機就會復位。

圖8 復位電路
本系統采用Keil 開發軟件對單片機程序進行編寫、仿真調試,隨后將代碼文件通過開發板下載到單片機中,系統在通電之后,單片機中的主程序完成各個模塊的初始化工作,同時檢測對各個按鍵是否有按鍵動作,有則執行相關的程序。
主程序首先對各個模塊進行初始化,掃描有無按鍵動作,若有,先判斷是哪個按鍵,并判斷是否執行相應子程序。其主程序執行流程如圖9所示。

圖9 主程序流程圖
按鍵模塊實現其功能時,其流程如圖10所示。
LCD顯示模塊主要顯示對比結果,方便用戶更直觀的獲取信息。圖11為顯示模塊的流程圖。

圖10 按鍵流程圖

圖11 顯示模塊流程圖
指紋模塊的串口通信中,數據的發送和接收流程圖如圖12所示。

圖12 串口通信數據發送、接收流程圖
STC-ISP 是一款單片機下載編程燒錄軟件,主要用于對單片機程序的燒錄,圖13 為軟件工作界面。

圖13 STC-ISP工作界面
調試通過的代碼文件通過STC_ISP_V480下載到單片機。STC_ISP_V480使用步驟為:
1)打開 STC-ISP 軟件,然后在 MCU Type 欄目下選中STC89C52RC。
2)選中COM端口,波特率選擇9600。
3)點擊“打開文件”并在對話框內找到要下載的HEX文件。
4)點擊download/下載,根據提示給單片機上電,完成程序燒寫。
導入12864 液晶的測試程序,設備通電后,通過調節液晶屏背面的電位器,在調試液晶時要注意:程序是否對液晶屏初始化,調整標準初始化步驟,或調整指令之間的延時。在經調試后液晶的顯示結果如圖14所示。

圖14 液晶顯示屏
導入程序后,測試指紋模塊及按鍵是否工作,操作步驟為
1)按下電源,電源指示燈點亮;
2)按“*”鍵后屏幕顯示“請按指紋”,指紋模塊亮,將手指放到指紋頭處即可識別指紋;
3)若錄入指紋,指紋識別成功則繼電器工作,LED燈亮,門開鎖,按任意鍵返回初始界面,等待下一個人掃描指紋。若錄入指紋后,指紋識別不成功,繼電器沒有動作,LED 燈不亮,將不能開鎖,按任意鍵返回初始界面,繼續掃描指紋。
4)按下 A 按鍵,輸入 6 位密碼,按下 B 按鍵,可刪除輸入的數字,按下D 按鍵確認,密碼輸入正確后,可進入管理員模式。
5)在管理員模式下,按數字鍵“1”進入錄入指紋模式,指紋頭燈亮起,此時可把手指放到指紋頭進行指紋的錄入,錄入指紋時需要錄入2 次指紋完成這個指紋的錄入存儲,指紋錄入成功后,按任意鍵返回到管理員界面,如需再錄入指紋重復上面操作即可。
6)按數字鍵“2”進入刪除指紋模式,輸入要刪除指定的指紋號按“D”鍵確認,若指紋號輸入錯誤可按“B”鍵撤銷,再重新輸入要刪除的指紋號即可。
7)在非正常情況下(指紋模塊不能識別或緊急情況)可按數字鍵“3”進行開鎖。
8)按數字鍵“4”可進行管理員密碼的修改。
該指紋密碼鎖利用高性能單片機、LCD顯示屏以及指紋識別模塊實現了各模塊的電路設計,通過系統的功能測試,實現了錄入指紋、存儲指紋及指紋對比及繼電器的開鎖功能,為身份識別奠定了良好的基礎,具有現實的應用價值。