




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要 隨著現(xiàn)代化各種科學(xué)新技術(shù)的快速發(fā)展,在日常生活中,我們需要各 種身份認(rèn)證和各種密碼認(rèn)證,還有對各種設(shè)備配備鑰匙,對保險柜安裝防盜系 統(tǒng)等等,社會的進步,科技的發(fā)展,促使傳統(tǒng)的安全系統(tǒng)的抵御能力越來越薄 弱。因此,生物特征識別應(yīng)用而生,開始走進我們身邊的各種安全系統(tǒng),指紋 識別作為生物特征識別的一個典型應(yīng)用已經(jīng)得到很廣泛的應(yīng)用和認(rèn)可,指紋特 征具有唯一性,是每個人終生不變的特征之一,并且各個人的各個指紋都不一 樣。本系統(tǒng)采用 89C52RC 單片機作為主芯片,通過與指紋識別模塊 FM-180 之間 通過串口通信方式的通信,采用液晶 12864 作為顯示器,加上簡單的外圍電路, 如按鍵輸入
2、、LED 燈報警電路、蜂鳴器電路,最后通過編寫軟件和制作硬件, 實現(xiàn)一個可以通過單片機對指紋的錄入,識別,刪除等功能操作的指紋識別系 統(tǒng)。 關(guān)鍵詞 指紋識別系統(tǒng);單片機 89C52;液晶 12864 Abstract With the rapid development of modern science a variety of new technologies, in everyday life, we need a variety of authentication and a variety of password authentication, as well as a variet
3、y of devices with keys for the safe installation of security systems, etc., social progress the development of technology, to promote the traditional security system resilience increasingly weak. Thus, biometric applications, born around us began to enter various security systems, biometric fingerpr
4、int identification as a typical application has been very widely used and recognized, unique fingerprint characteristics, life is not for everyone one variable characteristics, and each persons fingerprints are not the same individual. The system uses 89C52RC microcontroller as the main chip, it pas
5、ses between the fingerprint recognition module FM-180 serial communication with the communication method by using a liquid crystal display as 12864, plus simple peripheral circuits, such as key input, LED light alarm circuit, buzzer circuit, and finally through the preparation and production of soft
6、ware, hardware, you can implement a microcontroller on the fingerprint input, recognition, and delete functions operate fingerprint identification system. Key words Fingerprint identification system;SCM 89C52;LCD 12864 目 錄 1 緒論.5 1.1 課題的背景和意義 .5 1.2 生物識別技術(shù)概述 .5 1.3 指紋識別技術(shù)概述 .6 1.4 本章小結(jié) .6 2 設(shè)計方案.8 2
7、.1 設(shè)計要求 .8 2.2 設(shè)計方案 .8 2.3 本章小結(jié) .8 3 硬件設(shè)計.9 3.1 主要元器件選型 .9 3.1.1 單片機選型.9 3.1.2 指紋模塊.10 3.1.3 液晶顯示.11 3.2 電路設(shè)計 .14 3.2.1 最小系統(tǒng).14 3.2.3 液晶顯示電路.15 3.2.4 指紋通信電路.16 3.2.5 蜂鳴器電路.17 3.2.6 按鍵電路.18 3.2.7 LED 電路 .18 3.3 本章小結(jié) .19 4 軟件設(shè)計.20 4.1 系統(tǒng)方框圖 .20 4.2 功能介紹 .20 4.3 開發(fā)環(huán)境介紹 .23 4.3.1 Keil 編譯器 .23 4.3.2 STC-
8、ISP 下載器 .24 4.3.4 Protel 軟件 .25 4.4 部分代碼說明 .26 4.5 本章小結(jié) .30 5 系統(tǒng)調(diào)試.31 5.1 制作和調(diào)試 .31 5.1.1 原理圖設(shè)計.31 5.1.2 PCB 制作 .32 5.2 調(diào)試過程 .34 5.3 調(diào)試完成、實物圖 .36 5.4 本章小結(jié) .37 6 總結(jié).38 參考文獻.39 致謝.40 1 緒論 1.1 課題的背景和意義 隨著如今各種各樣的高新技術(shù)的迅猛發(fā)展,在百姓日常生活中經(jīng)常需要我 們?nèi)ゴ_認(rèn)各種身份的認(rèn)證。而在現(xiàn)在的大數(shù)據(jù)信息時代,每個人都擁有各種各 樣的大量認(rèn)證密碼,有一些是全數(shù)字的,還有一些是圖像密碼,例如手機開
9、機 密碼,移動端支付密碼,電腦開機密碼,聊天軟件登錄密碼等等,就單單這些 移動端的密碼都可以是無數(shù)個,更不要說還有一些更重要的安全密碼,例如銀 行卡的支付密碼等。還有其他的一些比較傳統(tǒng)的硬件機械安全防盜系統(tǒng)保險柜, 大門鑰匙、汽車鑰匙、摩托車鑰匙等等,隨著現(xiàn)在時代的變化,科技的進步, 傳統(tǒng)的一些安全系統(tǒng)已經(jīng)正在變得越來越脆弱了,因此,更先進更高級的生物 識別技術(shù)開始走進我們的身邊,出現(xiàn)在各種各樣的安全系統(tǒng)中。比如人臉識別、 指紋識別、眼球視網(wǎng)膜識別等,而指紋識別作為生物識別里面一個比較成熟的 已經(jīng)獲得了各行業(yè)界的認(rèn)可的識別系統(tǒng),廣泛的被應(yīng)用到安全系統(tǒng)中去。指紋 識別具有唯一性,每個人的每一個指
10、紋都是獨一無二的,可以說指紋是一個人 身份的標(biāo)志。 本系統(tǒng)采用的是 STC89C52 傳統(tǒng)的 51 單片機作為主控 MCU,由于其低功耗、 編程靈活簡單、外圍設(shè)備豐富,性價比高,所以被廣泛的應(yīng)用在一些低端的電 子設(shè)備中,在高端產(chǎn)品中由于實時性,擴展性上受到了比較大的限制,所以很 少有其身影。但是也有它自身的突出的優(yōu)點和意義,那就是簡單好用便宜,在 本次設(shè)計中做為主芯片,跟指紋模塊進行串口通信,加以簡單的一些外圍設(shè)備, 很方便的可以完成指紋識別系統(tǒng)應(yīng)該具備功能。這對于我更好的理解指紋識別 原理和單片機結(jié)構(gòu)功能很有幫助,這也是選題的意義所在。 1.2 生物識別技術(shù)概述 所謂生物識別技術(shù)就是,通過計
11、算機與光學(xué)、聲學(xué)、生物傳感器和生物統(tǒng) 計學(xué)原理等高科技手段,利用人體固有的生理特性,(如指紋、臉象、紅膜等) 和行為特征(如筆跡、聲音、步態(tài)等)來進行個人身份的鑒定。由于人體特征 具有人所固有的不可復(fù)制的唯一性,這一生物密鑰無法復(fù)制,失竊或被遺忘, 利用生物識別技術(shù)進行身份認(rèn)定,安全、可靠、準(zhǔn)確。目前已經(jīng)出現(xiàn)了許多生 物識別技術(shù),如指紋識別、手掌幾何學(xué)識別、虹膜識別、視網(wǎng)膜識別、面部識 別、簽名識 別、聲音識別等,但其中一部分技術(shù)含量高的生物識別手段還處于實驗階段。 我們相信隨著科學(xué)技術(shù)的飛速進步,將有越來越多的生物識別技術(shù)應(yīng)用到實際 生活中。 而根據(jù)國際生物識別小組在 2009 年作出的一個
12、不完全統(tǒng)計,目前市 場上已經(jīng)有很多種針對人類的各個不同生理特征和行為的特征的應(yīng)用。比如視 網(wǎng)膜識別、虹膜識別、人臉識別、指紋識別等,而其中應(yīng)用最多的就是說指紋 識別。 1.3 指紋識別技術(shù)概述 每個人的每一個手指的皮膚都有一個不一樣的花紋,是每個人的一個生物 特征,這個特征具有一個非常重要的特點,那就是唯一性。也就是說任何一個 不同的手指的指紋都是不一樣的,獨一無二的。在指紋識別技術(shù)中稱這個指紋 為指印,即是人手指的按印,如下圖所示。 圖 1 指紋指印 19 世紀(jì)初,科學(xué)家們發(fā)現(xiàn)每個不同的指紋的兩個非常重要的特征,一是兩 個不同手指的指紋紋脊不同,二是指紋紋脊的樣式終生不變性。這一研究發(fā)現(xiàn) 使
13、得指紋正式在犯罪鑒別中得以應(yīng)用。指紋指標(biāo)技術(shù)把一個人跟他的指紋對應(yīng) 起來,通過比較他的指紋和事先已經(jīng)存在的指紋做對比,從而確認(rèn)這個人的真 正身份。每一個人的指紋的皮膚紋路在圖案、斷點和交叉點上各不相同,也就 是說,唯一性的,獨一無二的。 1.4 本章小結(jié) 本文以 51 單片機為主芯片,采用指紋識別模塊 FM-180,液晶采用 12864 顯示,加上其他外圍的一些簡單設(shè)備,可以實現(xiàn)對指紋的錄入、指紋的識別、 指紋的刪除等共,組成了一個基于 51 單片機的指紋識別系統(tǒng),從而對指紋識別 算法的研究和單片機的結(jié)構(gòu)更進一步的了解,并且根據(jù)硬件選型,選擇了其中 較為可行的方案,并制作和調(diào)試電路板。具體的章
14、節(jié)和各章的內(nèi)容安排如下: 第 1 章闡述了本課題的研究背景和意義,同時介紹了生物識別特征的幾個 識別手段,最后介紹了指紋識別技術(shù)的概念。 第 2 章介紹了本文設(shè)計的要求,最后根據(jù)要求設(shè)計出合理的具體方案。 第 3 章介紹了本設(shè)計的硬件部分,包括主要的元器件選型,各個電路的設(shè) 計和分析。 第 4 章介紹了本設(shè)計的軟件部分,包括整個系統(tǒng)的方框圖,功能的具體介 紹,最后還簡單介紹了開發(fā)環(huán)境。 第 5 章介紹了本系統(tǒng)的調(diào)試過程,主要是在整個系統(tǒng)的調(diào)試過程中遇到的 問題和解決方法。 第 6 章是對本文的一個總結(jié),以及提出對整個設(shè)計的一些不足。 2 設(shè)計方案 2.1 設(shè)計要求 本設(shè)計要求如下: 1、系統(tǒng)默
15、認(rèn)至少有一位管理員,沒管理員的時候提示必須添加管理員方可 操作; 2、可以對管理員進行添加,最多有 2 位,普通用戶可以添加 400 多位; 3、錄入指紋和刪除指紋的時候必須管理員驗證,驗證成功才可以添加用戶, 否則不可以添加用戶; 4、可以查看管理員和普通用戶的數(shù)量; 5、可以對指紋進行刪除,需管理員驗證; 6、通過以上要求,制作出一套具有軟件和硬件相結(jié)合的指紋考勤系統(tǒng)。 2.2 設(shè)計方案 通過上節(jié)的設(shè)計要求,根據(jù)搜集資料并且結(jié)合自身所學(xué)知識,最后制定的 本設(shè)計方案如下: 本設(shè)計以 51 單片機 STC89C52 作為主芯片,選取了指紋識別模塊 FM-180 進 行二次開發(fā),該模塊采用串口通
16、信方式,按照指紋系統(tǒng)自定義的協(xié)議來跟單片 機通信,單片機按照固定的協(xié)議去讀取指紋系統(tǒng)的數(shù)據(jù),同時對指紋系統(tǒng)發(fā)送 指令進行控制,從而實現(xiàn)指紋的操作;而顯示器選用 LCD12864,液晶在系統(tǒng)運 行中和各個不同功能模式的時候顯示對應(yīng)的提示內(nèi)容;設(shè)計要求可對指紋進行 錄入、識別、刪除等操作,通過不同的按鍵來完成,本設(shè)計采用了 5 個獨立的 按鍵,軟件部分采用輪詢檢測 IO 電平來判斷按鍵值;報警提示選用的元件是蜂 鳴器和 LED 燈。 2.3 本章小結(jié) 本章介紹了本課題設(shè)計的具體要求,最后根據(jù)設(shè)計要求制定的合理可行的 具體方案。 3 硬件設(shè)計 3.1 主要元器件選型 3.1.1 單片機選型 圖 2
17、STC89C52 本設(shè)計中需要用到跟指紋模塊進行通信,而經(jīng)過對單片機與模塊通信方式 的多種比較后,決定采用比較簡單的串口通信,而串口通信在大學(xué)課本里面也 有講過,自己用起來應(yīng)該還是相對比較簡單的。串口通信的方式,幾乎在任何 一款單片機都有硬件支持的,只不過有的串口有多個,有一些少而已。按照之 前自己接觸過的單片機,51 單片機作為本次的單片機主控芯片,功能上是基本 可以滿足實現(xiàn)的,51 單片機作為最經(jīng)典的 8 位處理器,同時也是很多大學(xué)作為 電子類專業(yè)的必選課程之一,可見其功能和實用性還是被大家認(rèn)可的。所以本 次決定在 STC89C52RC 單片機和 STC12C5A60S2 這兩個中選出一個
18、作為主控芯片。 兩者都是 51 內(nèi)核,不同點有一下幾點: 1、12C5A60S2 是 1T 模式的,比普通的 51 單片機 89C52 可以快 68 倍,而 定時器,串口為了兼容傳統(tǒng)的 51 單片機,是可以設(shè)置為 1T 模式或者 12T 模式 的; 2、12C5A60S2 有兩個獨立的串口,而 89C52 只有一個串口,一般在調(diào)試過 程中,有多個串口是最好的,可以調(diào)試看信息,找問題所在,而這次的設(shè)計顯 然不需要,只需要用到一個串口通信即可; 3、作為重要的對比,12C5A60S2 的 RAM 有 1280 個字節(jié),ROM 有 60K 的存儲 空間,可見 12C5A 的容量是非常大的,而 89C
19、52 的 RAM 和 ROM 就相對小很多, 分別是 512 字節(jié)和 8K,但實際上,作為本次的功能,已經(jīng)足夠了。 經(jīng)過以上選擇對比,最后決定選用 STC89C52 作為本次的主控芯片。 3.1.2 指紋模塊 作為本次的重要傳感器,指紋識別模塊無法自己去做,只能通過網(wǎng)上淘寶 買現(xiàn)成的模塊回來進行二次開發(fā),市場有各種各樣的指紋模塊,價格也是五花 八門,但實際上基本的協(xié)議還是比較相似的,只不過有的支持的協(xié)議指令多, 有一些支持的指令相對來說比較少而已,本次需要用到的功能有錄入指紋,識 別指紋,清空指紋,顯然這三個指令,幾乎所有的模塊都可以實現(xiàn),根據(jù)最后 篩選和價格比對,最后決定選用 FM-180
20、作為本次的指紋識別模塊。 FM-180 指紋模塊,一體化結(jié)構(gòu),已經(jīng)包含了算法芯片,其質(zhì)量穩(wěn)定,性能優(yōu)異, 產(chǎn)量穩(wěn)定,多行業(yè)客戶的實際選擇,給您無憂的產(chǎn)品保障體系。 FM-180 指紋模塊由光學(xué)指紋傳感器、高速 DSP 處理器、高性能指紋比對算 法、大容量 FLASH 芯片等軟硬件構(gòu)成,集成了采集芯片和指紋算法芯片;性能 穩(wěn)定,結(jié)構(gòu)簡單,具有指紋錄取、圖像處理、指紋對比、指紋搜索和模板存儲、 手指感應(yīng)輸出等功能;采用 8 條精簡指令,開發(fā)更簡單。 產(chǎn)品特點: 功能完善:獨立完成指紋采集、指紋登記、指紋比對(1:1)和指紋搜索 (1:N)功能。 體積小巧:產(chǎn)品體積小巧,沒有外接算法 DSP 芯片的
21、電路板,已經(jīng)集成 一體,方便安裝,故障少。 超低功耗:產(chǎn)品整體功耗極低,適用于低功耗要求的場合。 抗靜電能力強:具有很強的抗靜電能力,抗靜電指標(biāo)達到 15KV 以上。 應(yīng)用開發(fā)簡單:開發(fā)者可根據(jù)提供的控制指令,自行指紋應(yīng)用產(chǎn)品的開 發(fā),無需具備專業(yè)的指紋識別知識。 安全等級可調(diào):適用于不同的應(yīng)用場合,安全等級可由用戶設(shè)定調(diào)整。 技術(shù)參數(shù): 供電電壓:DC 46V 供電電流:工作電流:110mA(典型值)峰值電流:140mA 指紋圖像錄入時間:0.3 秒 匹配方式:比對方式(1:1)搜索方式(1:N 特征文件:256 字節(jié) 模板文件:512 字節(jié) 存儲容量 400 枚 安全等級:3 級 認(rèn)假率(
22、FAR):0.0001% 拒真率(FRR):1.0% 搜索時間:1.0 秒 (1:1000 時,均值) 上位機接口:UART 通訊串口波特率:57600bps 圖 3 FM-180 3.1.3 液晶顯示 作為人機交互界面,顯示器起到一個至關(guān)重要的元件,本文中需要將整個 操作的過程完全顯示在顯示器上面,比如錄取指紋,識別指紋是否正確還是錯 誤 等等。下面就本設(shè)計的過程中對顯示器的元件選型進行分析和對比。 方案 1 圖 4 數(shù)碼管 采用數(shù)碼管的形式來作為顯示器,數(shù)碼管是一種半導(dǎo)體發(fā)光器件,一般單 獨的數(shù)碼管有 7 段的數(shù)碼管和 8 段的數(shù)碼管,8 段的數(shù)碼管比 7 段多了一個小 數(shù)點的段,他們的顯
23、示單元都是發(fā)光二極管。數(shù)碼管還有共陽極和共陰極之分。 將每個發(fā)光二極管的正極連到一起,將負(fù)極單獨分開,就是共陽極,反過來, 將每個發(fā)光二極管的負(fù)極連著一起就是共陰極。需要顯示一個數(shù)字的時候,只 需要把對應(yīng)的發(fā)光二極管點亮即可組成一個數(shù)字顯示,而一般采用的方法是動 態(tài)掃描,使得每個發(fā)光二極管輪流的顯示出來,由于單片機的速度很快,所以 我們?nèi)庋鄄⒉荒芸闯鰜?。?shù)碼管價格便宜,使用簡單,但是只能顯示基本的數(shù) 字,并不能顯示一些比較復(fù)雜的字符,所以在一般需要顯示復(fù)雜的電子設(shè)備中 比較少見。 方案 2 采用液晶 LCD1602 作為顯示器,供電電壓有 3.3V 和 5V 兩種,能夠同時顯 示 16*2 個
24、字符,16 列 2 行,其內(nèi)部模塊里面已經(jīng)存儲了 160 多個我們平時很 普遍用到的的點陣字符圖形,每一個字符符號都有一個固定的代碼編碼,只需 要發(fā)送對應(yīng)的代碼編號給液晶模塊,就會自動顯示出來對應(yīng)的字符,共有 16 個 引腳,和單片機通信采用的是并行通信方式,即 8 個 IO 口,該模塊優(yōu)點是可以 顯示基本的字符符號,價格便宜。但是也有其不足的地方,就是不能顯示中文, 而且只能是顯示 2 行,和單片機通信需要 8 個 IO 口。加上 3 個控制引腳,一般 都需要用到 11 個 IO 口。 圖 5 液晶 1602 方案 3 采用液晶 12864,顯示器 12864 液晶,可以顯示中文,并且是自帶
25、字庫, 字庫中有幾千個常用的漢字,用起來基本是可以滿足的,接口也是比較靈活, 可以選擇并行或者串行接法,串行接法只需要用到兩根線。液晶的引腳圖如下 圖所示。液晶的 D0D7 是數(shù)據(jù)引腳,當(dāng)液晶作為并行通信的時候,單片機要連 接這 8 個數(shù)據(jù)口,而液晶的 PSB 引腳是選擇并行或者串行的引腳,當(dāng)?shù)碗娖綍r 為串行方式,當(dāng)高電平時為并行方式。由于串口方式接口更簡單,和單片機通 信只需要 2 個 IO 口,在電路圖設(shè)計中更為方便,所以一般在設(shè)計中可選擇該方 式。液晶還帶了一個背光的對比度調(diào)節(jié)電位器,可以調(diào)節(jié)字體和背光之間的一 個對比度,而現(xiàn)在很多液晶都已經(jīng)出廠時就把這個電阻值定好了,無需在手動 去調(diào)節(jié)
26、。 表一 液晶 12864 引腳 管腳號 管腳名 稱 電平管腳功能描述 1VSS0V電源地 2VCC 3.0+5 V 電源正 3V0-對比度(亮度)調(diào)整 4RS(CS)H/L RS=“H”,表示 DB7DB0 為顯示數(shù)據(jù) RS=“L”,表示 DB7DB0 為顯示指令數(shù)據(jù) 5 R/W(SID ) H/L R/W=“H”,E=“H”,數(shù)據(jù)被讀到 DB7DB0 R/W=“L”,E=“HL”, DB7DB0 的數(shù)據(jù)被 寫到 IR 或 DR 6E(SCLK)H/L使能信號 7DB0H/L三態(tài)數(shù)據(jù)線 8DB1H/L三態(tài)數(shù)據(jù)線 9DB2H/L三態(tài)數(shù)據(jù)線 10DB3H/L三態(tài)數(shù)據(jù)線 11DB4H/L三態(tài)數(shù)據(jù)線
27、 12DB5H/L三態(tài)數(shù)據(jù)線 13DB6H/L三態(tài)數(shù)據(jù)線 14DB7H/L三態(tài)數(shù)據(jù)線 15PSBH/LH:8 位或 4 位并口方式,L:串口方式 16NC-空腳 17/RESETH/L復(fù)位端,低電平有效 18VOUT-LCD 驅(qū)動電壓輸出端 19AVDD背光源正端(+5V) 20KVSS背光源負(fù)端 圖 6 LCD12864 綜上三個方案對比,最后選擇液晶 12864 作為本次的顯示器模塊 3.2 電路設(shè)計 3.2.1 最小系統(tǒng) 單片機最小系統(tǒng)一般由晶振電路、復(fù)位電路和單片機組成,是整個設(shè)計系 統(tǒng)中最基本的也是最簡單的電路,只有簡簡單單的幾個元件,2 個電容和一個 晶振連接單片機的 XTAL1
28、和 XTAL2 引腳,而一個電阻和一個電解電容連著單片 機的復(fù)位引腳,看似這個電路非常簡單,但這也關(guān)系著整個軟件系統(tǒng)能不能正 常工作,只有這個電路正常了,其他電路才有可能繼續(xù)執(zhí)行下去,由這個簡單 的電路,加上單片機最簡單的啟動程序,也就是我們平時所說的 bootloader, 簡稱為引導(dǎo)程序,這個引導(dǎo)程序是有芯片廠家出廠的時候就已經(jīng)刷進去的,上 電之后芯片會去執(zhí)行這一段程序,包括配置一些寄存器和分頻之類的操作,同 時當(dāng)我們?nèi)龑懗绦虻臅r候,也需要用到這個引導(dǎo)程序,通過 PC 發(fā)送固定碼給 芯片,芯片接受到后進進入這個程序開始接受用戶程序,達到升級用戶程序的 功能,構(gòu)成單片機最小系統(tǒng)。單片機正常
29、供電為直接 5V,工作時 RST 復(fù)位引腳 為低電平,手冊上面說明只要單片機的復(fù)位腳超過 2 個機器周期的高電平,單 片機就可以正常復(fù)位,所以按下復(fù)位按鍵,單片機復(fù)位。 圖 7 最小系統(tǒng)電路 3.2.3 液晶顯示電路 本設(shè)計中,液晶顯示起到一個人機交互的作用,尤其重要,試想如果沒有 界面提示的話,整個操作過程將很難去實現(xiàn)全部的功能。液晶 12864 可以顯示 4 行,每一行可以顯示 8 個漢字,共可以顯示 32 個漢字,對應(yīng)這個系統(tǒng)來說, 是足夠的,一般出現(xiàn)不夠行的情況下,大都是采用切換到第二個節(jié)目顯示的方 法;12864 液晶跟單片機的通信方式有兩種,一種是并行 ,一種是串行,對于 串行來說
30、,電路是比較簡單不需要那么多的 IO 口,只需要兩個 IO 就行,一發(fā) 一收,但速率就比并行比較慢,而并行由于 8 個 IO 一起發(fā)送數(shù)據(jù),因此要比較 快,對于顯示刷新頻率要求不高的話,可以考慮用串行方式,畢竟電路簡單, IO 少,而本次的設(shè)計過程中采用的是并行方式,跟 LCD 液晶的通信端設(shè)置為 P0 端,而單片機的 P0 端默認(rèn)是沒有上拉的,因為也要在電路中給 P0 口接上一個 8 個電阻的排阻,阻值一般取 1K,而液晶的第三腳作為背光調(diào)節(jié)亮度,可以接 一個電阻器來改變該腳的電壓值從而達到可以調(diào)節(jié)亮度的效果,由于沒有現(xiàn)成 的電位器,因此該引腳懸空操作,液晶也可以正常顯示。 圖 8 液晶 1
31、2864 電路圖 3.2.4 指紋通信電路 本文采用的指紋識別模塊是集成的模塊,跟單片機通信采用的是串口方式, 波特率是 57600,8 位數(shù)據(jù),一位停止位,無校驗。由于單片機需要外部晶振, 所以在需要用到串口的電路中,該晶振都必須是為 11.0592M 的倍數(shù),如果采用 12M 的話,波特率會有誤差,會造成串口數(shù)據(jù)丟失的情況。89C52 單片機只有一 個串口,所以用串口 1 跟指紋模塊通信,單片機的 RXD 接指紋模塊的 TX,而單 片機的 TXD 接指紋模塊的 RX。通過指紋模塊的數(shù)據(jù)手冊,發(fā)送對應(yīng)的指令給指 紋模塊,即可實現(xiàn)錄入指紋、識別指紋、清空指紋等操作。 圖 9 指紋通信電路 3.
32、2.5 蜂鳴器電路 圖 10 蜂鳴器驅(qū)動電路 本次設(shè)計中,由于需要在錄入指紋和識別指紋中對正確或者錯誤做出判斷, 因此在電路設(shè)計中加入了蜂鳴器來作為提醒報警響應(yīng)的作用。采用的是直流電 壓 5V 供電的有源蜂鳴器,但是一般的蜂鳴器在整個系統(tǒng)運行中需要比較大的電 流,51 單片機的 IO 口除了 P0 口外其他的都有一個弱上拉電阻,但 IO 的驅(qū)動 電流也是非常低,不加外部的驅(qū)動電路是很難直接驅(qū)動的。而最常用的就是用 普通的三極管來放大電流驅(qū)動,該三極管在電路中的作用是開關(guān)電路并且放大 電流,P37 高電平為蜂鳴器響,低電平蜂鳴器停止。報警提醒電路如圖 10 所示。 3.2.6 按鍵電路 圖 11
33、 按鍵電路 設(shè)計中有錄入指紋功能、識別指紋功能、清除指紋庫功能,這些功能的切 換都是通過按鍵來實現(xiàn)的,按鍵一般有獨立按鍵,矩陣鍵盤等,由于本次涉及 到的按鍵不需要很多個,因此采用獨立按鍵的形式,簡單方便易操作,而按鍵 電路用的是直接練到單片機的 IO 上面,通過對該 IO 口電平讀取不同的值來區(qū) 別按下還是彈開,按鍵用的是 4 腳按鍵,對角的兩個引腳為一對,是導(dǎo)通的, 隨便一個引腳接地,對角 IO 接入單片機,按下按鍵時,4 個引腳都接通,即與 單片機連著的引腳也被拉低,單片機 IO 也響應(yīng)被拉低,軟件就認(rèn)為此時按鍵被 按下,執(zhí)行按下操作,由于按下過程中有電壓毛刺,所以軟件一般采用 10MS
34、的 延時來代替消抖動作。 3.2.7 LED 電路 LED 作為電子電路中最常用的指示作用,本次中也用到了兩個 LED 燈來作 為系統(tǒng)的提示燈作用,一個為紅色,一個為綠色,LED 作為二極管的一個最典 型元件,其兩端也是有一個壓降,一般 1.3V 左右,根據(jù)電子知識,只要在兩端 上有超過這個的壓降,二極管就導(dǎo)通,為了保險起見,可以在單片機的 IO 口接 上一個限流電阻,不至于上電時容易燒壞。 當(dāng)單片機的 P35 和 P36 高電平的時候,LED 燈就亮,反過來,當(dāng)為低電平的時 候,LED 燈就滅。 圖 12 LED 電路 3.3 本章小結(jié) 本章介紹了本設(shè)計的元器件選型以及各個電路部分的設(shè)計和分
35、析。 4 軟件設(shè)計 4.1 系統(tǒng)方框圖 通過第二章的介紹,我們根據(jù)設(shè)計的要求采用 STC89C52 作為主控芯片, FM-180 則作為本次最重要的指紋傳感器,液晶 12864 作為人機交互界面,同時 用獨立按鍵來進行各個功能切換,蜂鳴器和 LED 燈作為報警提示,最后根據(jù)設(shè) 計要求做出的方框圖圖下圖所示: 圖 13 系統(tǒng)結(jié)構(gòu)框圖 系統(tǒng)上電之后,經(jīng)過一系列的初始化,比如串口初始化,定時器初始化, 初始化完成后進入主程序。由于單片機是單線程運行的,所以在主程序中采用 一個 while 循環(huán)來執(zhí)行整個的主程序。 4.2 功能介紹 1、本系統(tǒng)設(shè)計了一個管理員的操作,即出廠時必須錄入一個指紋,該指紋
36、錄入成功后就是該系統(tǒng)的管理員,方可進入主界面。主界面的功能有識別指紋 功能、添加管理員功能、添加普通用戶功能、清空指紋庫功能,而每個功能的 選擇是通過按鍵來切換的。 圖 14 主界面 2、進入主界面之后可以對系統(tǒng)進行一系列的操作,管理員可以有 2 個,當(dāng) 錄入達到 2 個時會有提示。而要對系統(tǒng)的指紋進行錄入普通用戶和清空指紋庫 指紋都需要管理員驗證。當(dāng)驗證失敗的時候液晶提示相對應(yīng)的內(nèi)容,只有驗證 成功了才可執(zhí)行下一步操作。 圖 15 管理員驗證 3、當(dāng)管理員驗證成功后就可以錄入普通用戶了,該系統(tǒng)可以錄入多達 400 多位的普通用戶,錄入過程中只需要按住手指不放,當(dāng)錄入完成后液晶提示錄 入成功字
37、符同時顯示出對應(yīng)的指紋 ID 號。同樣的錄入失敗也會有同樣的提示。 圖 16 添加用戶 4、清空指紋庫的操作一樣要經(jīng)過管理員驗證,驗證成功后,系統(tǒng)將把所有 的指紋刪除,即清空指紋庫。這時候沒有任何指紋,同樣的提示要錄入管理員, 也就是恢復(fù)出廠設(shè)置。 圖 17 清空指紋庫 5、除了基本的錄入指紋,識別指紋,清空指紋之外,板子還有一個查詢按 鍵,當(dāng)按下該按鍵時,液晶顯示出系統(tǒng)中已經(jīng)存在的管理員和普通用戶的數(shù)量, 起到一個很好的查看作用。 圖 18 查詢界面 4.3 開發(fā)環(huán)境介紹 4.3.1 Keil 編譯器 本次的軟件編程部分采用的是 KEIL 編譯器。Keil C51 是美國 Keil Soft
38、ware 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用, 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。 在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil 的網(wǎng)站雖然沒有中文版本, 但是 Keil 軟件卻被中國 80%的硬件工程師使用,但凡與電子相關(guān)的專業(yè),都會 開始從單片機和計算機編程開始學(xué)習(xí),而學(xué)習(xí)單片機自然會用到 Keil 軟件。 C51 工具包的整體結(jié)構(gòu),Vision 與 Ishell 分別是 C51 for Windows 和 for Dos 的集成開發(fā)環(huán)境(IDE),
39、可以完成編輯、編譯、連接、調(diào)試、仿真等整個 開發(fā)流程。開發(fā)人員可用 IDE 本身或其它編輯器編輯 C 或匯編源文件。然后分 別由 C51 及 C51 編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由 LIB51 創(chuàng)建 生成庫文件,也可以與庫文件一起經(jīng) L51 連接定位生成絕對目標(biāo)文件(.abs)。 abs 文件由 OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的 hex 文件,以供調(diào)試器 dScope51 或 tScope51 使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進行調(diào)試,也可以直 接寫入程序存貯器如 EPROM 中。 圖 19 Keil 軟件界面 4.3.2 STC-ISP 下載器 STC-ISP 是一
40、款單片機下載編程燒錄軟件,是針對 STC 系列單片機而設(shè)計 的,可下載 STC89 系列、12C2052 系列和 12C5410 等系列的 STC 單片機,使用 簡便,現(xiàn)已被廣泛使用。 圖 20 STC-ISP 4.3.44.3.4 ProtelProtel 軟件軟件 圖 21 protel 軟件 本設(shè)計電路圖的設(shè)計是通過 Protel 畫的,這個軟件在大學(xué)的實驗課程中也 是有學(xué)到的,所以用這個軟件來設(shè)計電路圖。由于電路圖的連線比較復(fù)雜,如 果用線直接連的話看起來會比較亂,而且容易出問題,所以本設(shè)計采用網(wǎng)絡(luò)的 方式來連接元器件。通過畫好原理圖之后,就轉(zhuǎn)換成 PCB 即可。 4.4 部分代碼說明
41、 該代碼說明:液晶 12864 可以顯示 4 行文字,每一行最多可以顯示 8 個漢 字,一共可以顯示 32 個漢字,一般在程序中只需要告訴液晶的 X、Y 軸即可。 液晶的行數(shù)據(jù)的地址分別是 0X80,0X90,0X88,0X98,分別表示的是第一行, 第二行,第三行和第四行。例如想要在液晶的第二行的第三個位置顯示文字, Lcd12864_PutString(1,2,添加成功);這樣即可顯示出來。 void v_Lcd12864SetAddress_f( unsigned char x, y ) /地址轉(zhuǎn)換 unsigned char byAddress ; switch( x ) case 0
42、 : byAddress = 0 x80 + y ; break; case 1 : byAddress = 0 x90 + y ; break ; case 2 : byAddress = 0 x88 + y ; break ; case 3 : byAddress = 0 x98 + y ; break ; default : break ; v_Lcd12864SendCmd_f( byAddress ) ; void Lcd12864_PutString( uhar x, uchar y, unsigned char *pData ) v_Lcd12864SetAddress_f( x
43、, y ) ; while( *pData != 0 ) v_Lcd12864SendData_f( *pData+ ) ; delay(30); 該代碼說明:按鍵方式采用的是獨立按鍵的方式,一共用到 5 個獨立按鍵, 沒有按下按鍵的時候,單片機對應(yīng)的 IO 口是高電平,當(dāng)有按鍵按下時對應(yīng)的 IO 口就被連到 GND,對應(yīng)的 IO 也就是低電平。單片機檢測到后,根據(jù)相對應(yīng)的 IO 口執(zhí)行不同的按鍵功能。對于消抖操作,在簡單的設(shè)計中可以使用一個時間 延時來處理。這個時間不能太長,如果太長的話會導(dǎo)致按鍵不靈敏等問題。 uint FUN_KeyDec() bit press = 0; if(!IOK
44、EY_dec) /如果檢測到低電平,說明按鍵按下 keyDelay_1ms(1); /延時去抖,一般 10-20ms if(!IOKEY_dec) /再次確認(rèn)按鍵是否按下,沒有按下則退出 while(!IOKEY_dec);/如果確認(rèn)按下按鍵等待按鍵釋放,沒有釋放 /則一直等待 press = 1; if(press) ClrScreen12864(); sys_status=8; return 0; 該代碼說明:當(dāng)進行指紋識別的時候,單片機通過串口發(fā)送對應(yīng)的指令給 指紋模塊,指紋模塊從而進行搜索指紋功能。當(dāng)用戶按下手指的時候,模塊會 自動獲取該指紋的特征值,并對這個特征值進行判斷是否已經(jīng)存在
45、系統(tǒng)中,如 果是存在則返回該指紋的序號,如果不匹配則返回 0。單片機將返回到的數(shù)據(jù) 做判斷,0 則認(rèn)為識別識別,大于 0 則認(rèn)為識別成功。 unsigned char search(void)/搜索用戶 unsigned char SearchBuf=0; uchar i=0; while(1) if (ImgProcess(1)=3)/首先讀入一次指紋 SearchBuf=Searchfinger();/進行指紋比對,如果搜索到,返 /回搜索到的指紋序號 if(SearchBuf=1) return SearchNumber; else i+; if(i5)return 0; return
46、0; 該代碼說明:采集指紋的過程中,需要采集兩次的指紋,將 2 次采集到的特征 值生成一個指紋模板,并對該模板進行保存。當(dāng)保存模板成功后,單片機將該 指紋的模板的序號寫入到單片機的 EEPROM 中,以便實現(xiàn)掉電保存指紋。 unsigned char enroll(void) /采集兩次指紋,生成 1 個 指紋模板 unsigned char temp=0,count=0,kk=0; while(1) temp=ImgProcess(1); /生成特征 1 if (temp=3)/生成特征文件成功 break; else /采集第一個特征成功 count=0; Beep=0; Fdelay1m
47、s(100); Beep=1; Fdelay1ms(2000);/延時 2S 開始采集下一個特征 /開始采集第二個特征 while(1) temp=ImgProcess(2); /生成特征 2 if (temp=3)/生成特征文件 2 成功 if ( (Command(MERG,40) if(enroll()return 1; if(kk 4)return(0); else/特征文件合并生成模板,結(jié)果存于 ModelBuffer Beep=0; Fdelay1ms(100); Beep=1; Fdelay1ms(100); Beep=0; Fdelay1ms(100);/響兩聲,表示生成一個模
48、板成功 Beep=1; return 1; else 4.5 本章小結(jié) 本章主要介紹了設(shè)計過程中的軟件部分,包括整個系統(tǒng)的方框圖,還有功 能介紹,最后簡單介紹了開發(fā)環(huán)境。 5 系統(tǒng)調(diào)試 5.1 制作和調(diào)試 5.1.1 原理圖設(shè)計 圖 22 原理圖 根據(jù)第三章的硬件設(shè)計部分,電路分為最小系統(tǒng)、液晶電路、指紋通信電 路、供電電路、按鍵電路、蜂鳴器和 LED 電路。確定了基本的電路設(shè)計后,就 開始畫電路圖,采用的是 Protel 軟件來畫電路圖,電路元件之間的連接采用的 是網(wǎng)絡(luò)的形式來連接。 5.1.2 PCB 制作 畫好電路圖之后,要對每個元件進行封裝,有一些元件,Protel 軟件本身 是自帶有
49、的,而有一些沒有的就需要找其他的代替或者自己畫封裝。封裝畫好 之后就可以進行轉(zhuǎn)成 PCB 了。PCB 中主要的就是進行 PCB 布線,采用的是手動 布線,把元件擺好位置后,采用的是 2 層板的布線,布線完成后就可以添加淚 滴、覆銅、布地等操作。最后就是發(fā)出去給工廠打板即可。 圖 23 PCB 底層 圖 24 PCB 頂層 圖 25 PCB 無覆銅層 5.2 調(diào)試過程 板子焊接好后,就要對單片機燒寫程序,開始驗證各個軟件和硬件的部分, 而本次中事實上不是一下就成功的,也遇了不少的問題,下面就對在調(diào)試過程 中遇到的問題闡述說明: 1、無法下載程序 由于考慮到把難度降低,同時在板子的電路盡可能的簡單
50、,所以本電路中 沒有燒寫程序的電路,而是直接把單片機的串口接出來,用一個燒寫工具 USB 轉(zhuǎn) TTL 電平的串口工具來燒寫,該模塊的主芯片用到的是 PL2303,即是 USB 轉(zhuǎn) 成 TTL 電平直接跟單片機進行串口通信。把電路基本焊接完成后,首先接上電 源,用萬用表量電壓正常,接上 USB 轉(zhuǎn) TTL 模塊,開始下載程序,發(fā)現(xiàn)一直沒 反應(yīng),最后發(fā)現(xiàn)是沒有共地造成的,共地之后正常下載; 2、指紋模塊無法工作 單片機和指紋模塊之間的通信方式采用的是串口方式,成功燒寫程序之后, 單片機經(jīng)過串口初始化之后,為了方便測試兩者之間的通信是否正常,單片機 上電之后會直接通過串口發(fā)送指令給指紋模塊,實現(xiàn)識別
51、功能,當(dāng)指紋模塊接 受到該指令時,指紋采集頭會亮,但是指紋頭卻一直沒有反應(yīng),確認(rèn)了指紋模 塊的接線正確之后,指紋頭還是沒有反應(yīng)。將指紋模塊拔掉,用 USB 轉(zhuǎn) TTL 工 具來調(diào)試單片機的串口數(shù)據(jù),接入電腦后,打開調(diào)試助手,在串口參數(shù)正確的 情況下,發(fā)現(xiàn)單片機發(fā)送出來的數(shù)據(jù)是亂碼,波特率等其他參數(shù)都是正確的, 同時也進行了共地,那就是晶振的問題,發(fā)現(xiàn)晶振用的是 12M 的,用到串口的 時候,晶振必須是用 11.0592M 倍數(shù)的才不會有誤差,其他的會有誤差,造成數(shù) 據(jù)丟失亂碼等現(xiàn)象,換了晶振之后,串口通信正常。 3、指紋模塊反應(yīng)慢 把程序下載后,先讓程序直接進入指紋識別模式,但是發(fā)現(xiàn)指紋模塊一
52、直 很難識別指紋成功,反應(yīng)慢,把指紋模塊的電源斷開,用串口調(diào)試助手看單片 機發(fā)送的數(shù)據(jù)又是正確的,一直找不到原因,后來發(fā)現(xiàn)單片機的 TXD 和 RXD 一 直連著杜邦線,把杜邦線拔掉,指紋模塊正常工作了; 4、按鍵不靈敏 板子上有 5 個按鍵,有各自的功能,在測試中,發(fā)現(xiàn)所有的按鍵都不太靈 敏,當(dāng)按下錄入按鍵時,本來液晶是顯示提示正在錄入指紋,但結(jié)果液晶一直 沒正常的顯示,或者有時顯示,硬件實在找不出問題后轉(zhuǎn)向軟件問題,最后發(fā) 現(xiàn)按鍵消抖延時,長得太離譜,導(dǎo)致要一直按著按鍵才有反應(yīng),改短了時間后, 按鍵也正常反應(yīng)。 5、蜂鳴器 蜂鳴器作為本次的報警器件,直接燒寫一個調(diào)試成功的讓蜂鳴器報警的程 序,發(fā)現(xiàn)蜂鳴器不響,一開始懷疑是三極管燒壞了,換了之后發(fā)現(xiàn)還是不行, 查看后原理圖給的限流電阻為 1K,而焊接的卻是 10K 的,電阻阻值太大,導(dǎo)致 電流不夠讓三極管導(dǎo)通,最后換了 1K 電阻,蜂鳴器正常報警; 6、液晶不顯示 本次采用的是液晶 12864 作為顯示器,采用的是串口接法,只需要用到單 片機的 2 個 IO 口,方便簡單,在調(diào)試過程中,發(fā)現(xiàn)液晶無法顯示出文字信息, 只亮了背光,把一樣的程序燒到另外一個開發(fā)板上面,開發(fā)板上面的液晶正常 顯示,驗證了是焊接的板子問題,再次將開發(fā)板上面的液晶換到焊接的板子上 面,液晶也正常顯示,由此可見,就是液
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 唐山幼兒師范高等??茖W(xué)校《藏羌歌舞訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東科貿(mào)職業(yè)學(xué)院《貨幣銀行學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢交通職業(yè)學(xué)院《人力資源管理綜合實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 塔里木大學(xué)《傳播社會學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 麗江師范高等??茖W(xué)?!稘撍腴T》2023-2024學(xué)年第二學(xué)期期末試卷
- 巢湖學(xué)院《動畫場景設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 株洲師范高等??茖W(xué)校《生物工程前沿知識講座》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼源職業(yè)技術(shù)學(xué)院《傳輸原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽航空職業(yè)技術(shù)學(xué)院《生物統(tǒng)計與試驗設(shè)計雙語》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波財經(jīng)學(xué)院《傳統(tǒng)木刻套色版畫》2023-2024學(xué)年第二學(xué)期期末試卷
- 2022-2023學(xué)年重慶市巴南區(qū)部編版五年級下冊期末考試語文試卷
- 電動卷揚機使用安全措施
- 10隊單循環(huán)聯(lián)賽賽程表(足籃球通用)
- 外國經(jīng)濟思想史習(xí)題答案-打印版
- 外科運用PDCA提高外周靜脈留置針規(guī)范使用率品管圈成果匯報書
- 成都市錦江區(qū)2022-2023學(xué)年四年級數(shù)學(xué)第二學(xué)期期末復(fù)習(xí)檢測試題含解析
- 山東黃金集團昌邑礦業(yè)有限公司蓮花山鐵礦礦山地質(zhì)環(huán)境保護與土地復(fù)墾方案
- 金融業(yè)IPv6發(fā)展演進白皮書
- 沖壓工藝及模具課程設(shè)計
- 2023年04月2023年北京市國際教育交流中心招考聘用筆試題庫附帶答案解析
- 2023年中國直升機設(shè)計研究所校園招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論