基于51單片機(jī)指紋密碼鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于51單片機(jī)指紋密碼鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于51單片機(jī)指紋密碼鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于51單片機(jī)指紋密碼鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于51單片機(jī)指紋密碼鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

頁1緒論1.1課題研究背景和意義按照目前的社會(huì)和科技的發(fā)展速度,傳統(tǒng)的安防防盜系統(tǒng)將面臨重大挑戰(zhàn)。密碼存在容易忘記,容易被偷用的問題,在日常生活中我們?cè)诟鱾€(gè)地方都要用到身份驗(yàn)證,特別是在安全需求日益增長(zhǎng)的科技智能化社會(huì)當(dāng)中,我們希望身份驗(yàn)證方式快捷簡(jiǎn)便。人們通過研究最近出現(xiàn)的生物識(shí)別技術(shù),對(duì)每個(gè)人都存在不同的生理特征來對(duì)其身份進(jìn)行驗(yàn)證,解決了讓人們頭疼的身份識(shí)別的問題。現(xiàn)如今看來很多比較先進(jìn)的指紋識(shí)別的產(chǎn)品逐步出現(xiàn)在大眾市場(chǎng)當(dāng)中。指紋識(shí)別技術(shù)是在各個(gè)識(shí)別領(lǐng)域當(dāng)中較為優(yōu)秀和火熱的存在,在當(dāng)下的發(fā)展中逐漸成熟REF_Ref8327\w\h[1]。目前來說指紋是最傳統(tǒng)、最先進(jìn)的生物識(shí)別方法,具有較強(qiáng)的穩(wěn)定性。從出生到死亡,一個(gè)人的指紋結(jié)構(gòu)總體分布的特征不會(huì)什么有顯微的變化。指紋很明顯是唯一的,世界上有這么多人口但是依舊不可能找到兩個(gè)指紋一樣的人,從各個(gè)方面來看易用性、安全性、成熟度、成本等多方面來說指紋技術(shù)都是優(yōu)先的選擇。從現(xiàn)在的趨勢(shì)來說指紋識(shí)別技術(shù)會(huì)有著很好的發(fā)展,它將帶領(lǐng)我們向一個(gè)新時(shí)代出發(fā),在現(xiàn)代日常生活與工作環(huán)境中的使用范圍已日益廣泛。指紋是人體手指上的表層皮膚,但指紋當(dāng)中所擁有的數(shù)據(jù)量缺超乎我們的想象。比較這些指紋中所擁有的數(shù)據(jù)信息并不是一件容易的事情,很多操作都是通過模糊匹配算法完成的。以我們現(xiàn)在的技術(shù)水平可以制造出比較小巧的指紋識(shí)別傳感器了,而現(xiàn)如今科學(xué)技術(shù)的飛速進(jìn)步使我們能夠在單片機(jī)上比較指紋。指紋識(shí)別技術(shù)在各種領(lǐng)域的技術(shù)中,相對(duì)來說是中國目前發(fā)展的較為完整的生物指紋識(shí)別技術(shù)。而近年來隨著指紋識(shí)別產(chǎn)品在各個(gè)產(chǎn)業(yè)中的大量開始使用,再加上人類對(duì)智能與安全特性的強(qiáng)烈渴望,為指紋鎖的市場(chǎng)擴(kuò)張?zhí)峁┝擞欣麠l件,由此也可看出,指紋鎖市場(chǎng)將迎來又一次全面改造安防體系的歷史機(jī)會(huì)。如今通過單片機(jī)來控制各個(gè)元件的技術(shù)逐步發(fā)展了起來,它憑借著優(yōu)秀的數(shù)據(jù)處理能力和低廉的成本的優(yōu)點(diǎn),在各種電子產(chǎn)品領(lǐng)域都有著一席位置。通過所學(xué)知識(shí)設(shè)計(jì)了由單片機(jī)控制的指紋識(shí)別系統(tǒng)。1.2國內(nèi)外研究現(xiàn)狀利用生物特征來甄別身份信息在未來漫長(zhǎng)的過程中緩解安全壓力的有力保證。現(xiàn)在,生物特征比較好實(shí)現(xiàn)的一般分為指紋識(shí)別和面部識(shí)別。由于與其他幾種生物識(shí)別技術(shù)存在差異,無法確立統(tǒng)一的技術(shù)基準(zhǔn),所以最近預(yù)計(jì)基于指紋識(shí)別技術(shù)的產(chǎn)品預(yù)計(jì)將在私人市場(chǎng)上發(fā)布。因此,指紋識(shí)別產(chǎn)品將集中于大多數(shù)國家生物多樣性技術(shù)的開發(fā)和投資。指紋識(shí)別產(chǎn)品的飛速發(fā)展一方面是因?yàn)閷?duì)價(jià)格低廉的傳感設(shè)備的需求和其傳感設(shè)備設(shè)備的快速發(fā)展,以及比對(duì)算法的研究逐漸成熟。另一方面,近幾年來指紋識(shí)別技術(shù)逐步出現(xiàn)在大眾的視線,逐漸在各個(gè)領(lǐng)域涉及的高科技產(chǎn)品之一。在二十世紀(jì)末具備指紋識(shí)別的產(chǎn)品就已經(jīng)誕生了。他會(huì)把指紋信息收集整合成一個(gè)可以識(shí)別出來的信息模板,然后通過模板中的信息特征來判斷是否是同一個(gè),這種方法一直使用到近年前REF_Ref8683\w\h[2]。目前來說大部分先進(jìn)的指紋識(shí)別技術(shù)都集中在德國和韓國,而國內(nèi)的大部分都是以組裝為主,缺乏獨(dú)立技術(shù)工藝水平相對(duì)較低。外國品牌品牌紛紛登陸中國占領(lǐng)指紋鎖奢侈品市場(chǎng)。而國外蘋果、微軟、IBM、韓國的LG電子都紛紛發(fā)布了自己指紋識(shí)別技術(shù)的產(chǎn)品,指紋技術(shù)產(chǎn)業(yè)作為新型的先進(jìn)智能產(chǎn)品,是技術(shù)上無法突破的前沿科技。在我國從2000年后指紋識(shí)別技術(shù)就的到了飛速發(fā)展。目前,杭州錦江科技、深圳市愛迪爾、吉林鴻達(dá)等幾家國際指紋鎖制造商,已經(jīng)步入了國內(nèi)市場(chǎng)的新市場(chǎng)發(fā)展階段,不過,這些企業(yè)的業(yè)務(wù)范圍還不能做到最大,因?yàn)橐话愕闹讣y鎖廠家都是采用直賣的方式供應(yīng)商品。國產(chǎn)指紋鎖產(chǎn)品只能占據(jù)低價(jià)市場(chǎng)因?yàn)槿狈夹g(shù)水平和工藝,現(xiàn)在指紋鎖市場(chǎng)基本已經(jīng)完全開放,指紋鎖進(jìn)入了快速發(fā)展期。如今國內(nèi)的發(fā)展涌現(xiàn)出許多的廠商,例如深圳市的迪安杰科技有限公司,他們致力于生物識(shí)別領(lǐng)域,提供高質(zhì)量的指紋傳感器和優(yōu)秀的指紋識(shí)別算法服務(wù),他們的產(chǎn)品廣泛應(yīng)用眾多行業(yè)。1.3本文內(nèi)容安排該系統(tǒng)設(shè)計(jì)介紹了基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)與實(shí)現(xiàn)情況。圍繞系統(tǒng)設(shè)計(jì)對(duì)本文內(nèi)容進(jìn)行安排,主要由以下六個(gè)部分內(nèi)容組成:第1章緒論。介紹了指紋識(shí)別密碼鎖設(shè)計(jì)研究的意義和背景狀況,同時(shí)也介紹了該設(shè)計(jì)在國內(nèi)外研究的狀況,然后說明本文的內(nèi)容安排框架。第2章系統(tǒng)分析。首先對(duì)指紋識(shí)別密碼鎖系統(tǒng)功能的需求進(jìn)行介紹,然后對(duì)系統(tǒng)設(shè)計(jì)是否可以實(shí)現(xiàn)進(jìn)行了分析,包括系統(tǒng)實(shí)現(xiàn)的成本、系統(tǒng)的操作合不合理、系統(tǒng)實(shí)現(xiàn)所用的技術(shù)。第3章總體設(shè)計(jì)。簡(jiǎn)要概述系統(tǒng)功能,然后通過系統(tǒng)框架圖和系統(tǒng)流程圖并進(jìn)行分析。第4章系統(tǒng)詳細(xì)設(shè)計(jì)。講述了系統(tǒng)開發(fā)所需環(huán)境和各個(gè)模塊的設(shè)計(jì),例如介紹單片機(jī)的最小系統(tǒng)、指紋傳感模塊的實(shí)現(xiàn)、矩陣按鍵的選型和實(shí)現(xiàn)、顯示模塊的實(shí)現(xiàn)、存儲(chǔ)模塊和繼電器電磁鎖模塊的設(shè)計(jì)。第5章系統(tǒng)測(cè)試。介紹了測(cè)試方法的選擇和測(cè)試的意義,使用測(cè)試用例測(cè)試各個(gè)模塊功能是否正常工作。第6章總結(jié)和展望。對(duì)全文進(jìn)行概括講述系統(tǒng)的功能實(shí)現(xiàn),對(duì)系統(tǒng)需要優(yōu)化的方向以及對(duì)系統(tǒng)未來的發(fā)展進(jìn)行總結(jié)。2需求可行性分析2.1需求分析目前的社會(huì)迫切需要高效和可靠的識(shí)別系統(tǒng)來識(shí)別人類身份。傳統(tǒng)方式類似于密碼這種它容易破解和偽造,不能完全符合現(xiàn)在社會(huì)經(jīng)濟(jì)活動(dòng)和社會(huì)安全的需要。我們大家?guī)缀醵加性S多的驗(yàn)證自己身份的密碼,但是密碼存在很容易被遺忘和被盜的問題。像門鎖鑰匙、車鑰匙等各種鑰匙還存在易丟失明顯的缺點(diǎn)。從信息和安全性能的角度來看,它無法滿足現(xiàn)在的要求。隨著信息技術(shù)的發(fā)展,傳統(tǒng)的物理密碼系統(tǒng)變得越來越脆弱,但我們無法避免這個(gè)難題。在社會(huì)生活的過程中我們經(jīng)常要進(jìn)行登錄驗(yàn)證個(gè)人信息,特別是在大數(shù)據(jù)社會(huì)中,人們希望信息安全得以保障,希望認(rèn)證方法也變得簡(jiǎn)單快速。人們通過研究指紋識(shí)別技術(shù),對(duì)不同的生理特征來對(duì)其身份進(jìn)行驗(yàn)證,解決了讓人們頭疼的身份識(shí)別的問題。由此可以看出指紋密碼鎖的設(shè)計(jì)是符和目前的需求的,下表2-1為系統(tǒng)的功能需求。表2-1系統(tǒng)功能需求2.2可行性分析2.2.1技術(shù)可行性分析指紋識(shí)別技術(shù)具有更加穩(wěn)定高效的優(yōu)勢(shì)。近年來雖然人臉識(shí)別技術(shù)也快速發(fā)展搶占生物識(shí)別應(yīng)用領(lǐng)域,但是并沒有因此降低指紋識(shí)別在行業(yè)的滲透率及普及化,指紋識(shí)別技術(shù)憑借高識(shí)別率、短耗時(shí)等優(yōu)勢(shì)被廣泛使用于各個(gè)領(lǐng)域當(dāng)中。匹配算法技術(shù)的逐漸成熟,使得指紋識(shí)別技術(shù)變得逐步完善。單片機(jī)的控制性能和高可靠性的優(yōu)點(diǎn)在電子產(chǎn)品控制中成為首要的選擇對(duì)象。還有其易擴(kuò)展性,形成各種應(yīng)用規(guī)模的計(jì)算機(jī)控制系統(tǒng)。具有低功耗的優(yōu)勢(shì)被使用于各個(gè)領(lǐng)域當(dāng)中。單片機(jī)相當(dāng)于一臺(tái)小型的計(jì)算機(jī),它具備邏輯運(yùn)算的能力,可以對(duì)單片機(jī)內(nèi)部的存儲(chǔ)器進(jìn)行傳輸、清零、檢測(cè)、復(fù)位等數(shù)據(jù)進(jìn)行展開運(yùn)算解決。RAM存儲(chǔ)可以進(jìn)行靈活運(yùn)用,讓單片機(jī)開發(fā)工程師帶來巨大的便利。在實(shí)際開發(fā)上采用了C語言為主要開發(fā)語言,它能夠通過直接訪問的物理地址對(duì)硬件設(shè)備直接實(shí)現(xiàn)操作,C語言還具有底層跨平臺(tái)的特性,在C語言標(biāo)準(zhǔn)庫環(huán)境下編寫的C語言程序代碼可以在不同的計(jì)算機(jī)操作系統(tǒng)下編譯。因此具有靈活簡(jiǎn)單、可跨平臺(tái)、類型豐富多樣等優(yōu)點(diǎn)。而用C語言作為開發(fā)語言在技術(shù)上已經(jīng)非常成熟了。針對(duì)以上所述技術(shù)點(diǎn),確認(rèn)滿足開發(fā)該系統(tǒng)的技術(shù)需要。2.2.2操作可行性分析本設(shè)計(jì)按鍵可以控制系統(tǒng)執(zhí)行操作,在系統(tǒng)操作的時(shí)候具有良好的人機(jī)交互,而且操作界面友好,有液晶顯示提示相關(guān)信息。系統(tǒng)操作簡(jiǎn)單易上手,軟件配置操作也比較簡(jiǎn)單。針對(duì)以上所述,說明了本系統(tǒng)在操作上比較符合設(shè)計(jì)的要求。2.2.3經(jīng)濟(jì)可行性分析本設(shè)計(jì)所采用硬件模塊元器件滿足系統(tǒng)的基本運(yùn)行,沒有追求過高的性能和高精度要求,而且符合大眾市場(chǎng)價(jià)格低廉對(duì)個(gè)人的經(jīng)濟(jì)能力要求不高,所以系統(tǒng)硬件成本低能滿足設(shè)計(jì)要求。本系統(tǒng)開發(fā)所用軟件在目前的基本配置的計(jì)算機(jī)上都可以順利地運(yùn)行。針對(duì)以上所述,說明了本系統(tǒng)在實(shí)現(xiàn)的成本上不是很高,滿足系統(tǒng)的設(shè)計(jì)要求。2.3本章小結(jié)本章分析了系統(tǒng)的需求,說明了系統(tǒng)的設(shè)計(jì)應(yīng)該具備的功能,從系統(tǒng)實(shí)現(xiàn)的成本、系統(tǒng)的操作合不合理、系統(tǒng)實(shí)現(xiàn)所用的技術(shù)來證明說明系統(tǒng)開發(fā)是能夠?qū)崿F(xiàn)的。3系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)功能描述本設(shè)計(jì)是用51系列單片機(jī)作為主控模塊的指紋密碼鎖,通過指紋識(shí)別對(duì)比來實(shí)現(xiàn)開鎖的功能,具有安全便捷性。指紋比對(duì)不成功,指示燈不會(huì)變化,繼電器斷開不工作,電磁鎖處于關(guān)閉狀態(tài)無法通過。指紋識(shí)別成功的情況下,發(fā)光二極管亮起同時(shí)繼電器工作帶動(dòng)電磁鎖開關(guān)可以通過。進(jìn)入管理員界面中,將獲得指紋采集、指紋清除、緊急解鎖和密碼修正的權(quán)限。所執(zhí)行的操作都會(huì)在LCD12864顯示屏上顯示有關(guān)的提示信息。該系統(tǒng)剛開始需要提前輸入指紋,通過指紋傳感器收集相應(yīng)的指紋圖像,將收集到的指紋圖像轉(zhuǎn)化生成特征文件,然后合成模板保存。指紋特征信息和指紋的序列號(hào)由光電轉(zhuǎn)換后保存在存儲(chǔ)器中。通過輸入相應(yīng)的指令,模塊就可以快速在指定位置將數(shù)據(jù)傳輸完成。當(dāng)需要門打開時(shí),它會(huì)自動(dòng)檢測(cè)指紋傳感器上是否有指紋信息的輸入。當(dāng)指紋模塊接收到數(shù)據(jù)時(shí),它會(huì)自動(dòng)搜索指紋庫中是否存在已經(jīng)錄入的指紋數(shù)據(jù)。在LCD12864顯示屏上顯示會(huì)有相關(guān)的匹配提示,如果存在單片機(jī)則控制繼電器接通進(jìn)而控制電磁鎖打開、發(fā)光二極管被點(diǎn)亮以提示鎖已打開。3.2系統(tǒng)總體框架系統(tǒng)總體框架是指按照設(shè)計(jì)工作的任務(wù)需要,對(duì)系統(tǒng)關(guān)鍵部件和主要元件參數(shù)所要進(jìn)行的合理估算,通過認(rèn)真調(diào)研、分析并比較確定的主要元件型式,使設(shè)備部件之間通過一個(gè)簡(jiǎn)單可靠的接口電路,連接成一個(gè)相對(duì)完善的結(jié)構(gòu)體系。設(shè)計(jì)系統(tǒng)必須明確總體的設(shè)計(jì)條件,先制定原理框圖和流程圖,并說明基本原理,然后綜合分析系統(tǒng)的可靠性,再確定控制系統(tǒng)的總體配置。通過參閱各種資料,進(jìn)行結(jié)合考慮下。使用STC89C52單片機(jī)作為控制單元,選用帶字庫的液晶屏作為顯示界面,存儲(chǔ)模塊使用的是AT24C02,指紋模塊使用的是FM608系列,使用17個(gè)微動(dòng)開關(guān)組成4*4矩陣鍵盤和復(fù)位按鍵,采用12MHz的晶體振蕩器作為振蕩源。下圖3-1為系統(tǒng)總體框圖。圖3-1系統(tǒng)總體框圖3.3系統(tǒng)流程程序的執(zhí)行過程:首先會(huì)把各個(gè)模塊設(shè)為默認(rèn)狀態(tài),接下來可以直接進(jìn)行指紋識(shí)別了。系統(tǒng)會(huì)甄別指紋是否已經(jīng)錄入,如果沒有錄入則會(huì)提示沒有該指紋信息,然后重新檢測(cè)有無指紋錄入,如果已經(jīng)錄有改指紋,繼電器會(huì)工作發(fā)光二極管會(huì)發(fā)亮提示鎖已打開。同時(shí)系統(tǒng)會(huì)檢測(cè)按鍵A有沒有按鍵被按下,按下則會(huì)提示輸入密碼,然后判斷密碼是否正確,密碼錯(cuò)誤的話則會(huì)重新回到檢測(cè)狀態(tài),判斷正確的話就進(jìn)入功能選擇界面。在這個(gè)界面中會(huì)檢測(cè)按鍵,如果按鍵為1則是添加指紋信息。指紋傳感器采集兩次指紋信息存儲(chǔ)并且產(chǎn)生對(duì)應(yīng)的序號(hào)。如果按鍵為2則是刪除相關(guān)已經(jīng)采集好的指紋信息。輸入想要?jiǎng)h除的指紋編號(hào)系統(tǒng)會(huì)判斷是否正確,刪除完成后會(huì)提示相應(yīng)信息。如果按鍵為3則是應(yīng)急開鎖。按下后繼電器會(huì)控制電磁鎖開啟發(fā)光二極管會(huì)發(fā)亮提示鎖已打開,成功后提示按任意鍵返回。如果按鍵為4則是修改登錄管理員的密碼。輸入想要修改的密碼兩次,然后會(huì)辨別輸入是否相同,密碼相同的話則會(huì)更改完成按任意鍵返回,密碼不相同的話則會(huì)提示重新輸入回到輸入密碼界面重新檢測(cè)。按復(fù)位鍵則會(huì)回到各個(gè)模塊初始化。下圖3-2為程序執(zhí)行流程圖。圖3-2程序執(zhí)行流程圖3.4本章小結(jié)本章對(duì)系統(tǒng)的設(shè)計(jì)目標(biāo)進(jìn)行了介紹,講述了硬件的選擇,然后繪制整個(gè)系統(tǒng)的總體框架圖和程序運(yùn)行流程圖。總體設(shè)計(jì)是基本前提,為接下來的設(shè)計(jì)工作做好了鋪墊。4系統(tǒng)詳細(xì)設(shè)計(jì)4.1系統(tǒng)開發(fā)環(huán)境(1)系統(tǒng)硬件開發(fā)工具采用AltiumDesigner通常稱AD。AD作為備受推崇的Protel系列的延續(xù),受到國內(nèi)學(xué)校和企業(yè)電子電路開發(fā)商的高度評(píng)價(jià),這個(gè)軟件的可用性和耐用性受到電子設(shè)計(jì)師的高度評(píng)價(jià)。AD承載了以前Protel的大部分優(yōu)秀特性,增加了許多優(yōu)秀的改進(jìn),擴(kuò)充了一些現(xiàn)有的板級(jí)設(shè)計(jì)接口,并具有一些FPGA和SOPC設(shè)計(jì)理念,便于開發(fā)人員進(jìn)行開發(fā)以及電路設(shè)計(jì)。能夠很好的運(yùn)用這個(gè)軟件的話,電路設(shè)計(jì)的質(zhì)量和效率大大提高REF_Ref8807\w\h[3]。(2)系統(tǒng)軟件設(shè)計(jì)使用的是KeilVision4。該軟件是由德國KeilSoftware公司推出的一款軟件開發(fā)版本REF_Ref8873\w\h[4],該軟件能夠?qū)Υ蟛糠?1系列的單片機(jī)進(jìn)行編程。它可以編譯C語言類型,在功能結(jié)構(gòu)上都有優(yōu)勢(shì),而且代碼生成響應(yīng)速度快。Keil可以使用C語言來開發(fā)這在可讀性與可維護(hù)性上更吸引開發(fā)者。該軟件具有非常多的庫函數(shù),還有操作豐富的編譯工具,還支持多窗口的顯示可以任意拖動(dòng)。該軟件比較容易上手,使用起來可以有效降低操作時(shí)間來提升效率。Keil軟件的使用流程:①首先通過點(diǎn)擊“projectNewuVisionProject”來創(chuàng)建一個(gè)工程,單片機(jī)版本選擇與STC89C52兼容的AT89C52。②新建文本點(diǎn)擊保存后,將文件命名后綴為“.c”,然后在Source選項(xiàng)上點(diǎn)右鍵,選擇"SourceGroup1",把保存的文件添加進(jìn)入。③點(diǎn)擊菜單“Project--OptionsforTarget”后在Xtal框中輸入波特率,然后在Output選項(xiàng)框中選擇hexfile,使得工程編譯可以產(chǎn)生hex文件。最后在之前建好的文本中寫代碼即可。(3)程序的傳輸?shù)絾纹瑱C(jī)需要用到STC-ISP這款軟件,將調(diào)試完成后的代碼文件傳輸至單片機(jī)中。該軟件的操作簡(jiǎn)單便捷,是程序燒錄的不二選擇。STC-ISP軟件使用流程:①將燒錄器連接電腦后首先選擇STC89C52單片機(jī),然后點(diǎn)擊掃描選擇所連接的COM口,最后將波特率設(shè)置為9600。②選擇需要傳輸?shù)氖M(jìn)制文件,點(diǎn)擊下載按鈕,然后接著給單片機(jī)通電。使用時(shí)要注意的是,點(diǎn)擊完按鈕后再給單片機(jī)通電,如果順序反過來會(huì)傳輸失敗。下圖4-1為STC-ISP燒錄界面。圖4-1STC-ISP燒錄界面4.2單片機(jī)及最小系統(tǒng)4.2.1單片機(jī)STC89C52介紹單片機(jī)是一個(gè)緊湊而完備的綜合功能的微機(jī)控制器,主要廣泛應(yīng)用在工業(yè)管理領(lǐng)域。單片機(jī)將各種驅(qū)動(dòng)電路都集成在同一模塊上,模塊中集成的電路越多,所能實(shí)現(xiàn)的操作也更多。而單片機(jī)又簡(jiǎn)稱為單片式微控制器,是把計(jì)算機(jī)功能整合在晶片中,它的尺寸小、重量輕、售價(jià)也比較低廉,為教學(xué)、應(yīng)用和科學(xué)研究提供了便利的條件REF_Ref9039\w\h[5]。MCS-51單片機(jī),是由美國INTEL公司設(shè)計(jì)制造的各種單片機(jī)的統(tǒng)稱。其中的8051是第一個(gè)也是最具標(biāo)志性的產(chǎn)品,而這個(gè)系列的其他單片機(jī)也都是在8051上有增減改進(jìn)起來的。在家用電器,工業(yè)控制等領(lǐng)域較為常見。STC89C52,是新一代快速低耗能的單片機(jī),具有在線編程的功能,而且價(jià)格成本低。STC89C52型應(yīng)用了具有八位CPU和系統(tǒng)內(nèi)可編程閃存功能的單晶體片技術(shù),為各種單片機(jī)控制系統(tǒng)提供了非常靈活和高效的處理措施,它的指令程序與以前的8051系列的嵌入式單片機(jī)基本相同REF_Ref9105\w\h[6]。下圖4-2為單片機(jī)引腳說明。圖4-2STC89C52引腳圖VCC(40引腳):接電源GND(20引腳):接地。端口P0~P2:8位雙向輸入輸出口。端口P3:8位雙向輸入輸出口。下表為STC89C52單片機(jī)P3口的第二功能。表4-1STC89C52P3口的第二功能4.2.2外部晶振設(shè)計(jì)微控制器系統(tǒng)離不開晶體振蕩器,也叫做晶振。晶振通過時(shí)鐘頻率來實(shí)現(xiàn)對(duì)單片機(jī)指令的操作。單片機(jī)的指令執(zhí)行的快或者慢都會(huì)受到它的影響,頻率越低,單片機(jī)執(zhí)行命令的速度越慢,反之亦然。晶振頻率選擇一般在1.2MHz和12MHz的區(qū)間。晶振一般是通用的,這可以讓系統(tǒng)內(nèi)所有組件同步協(xié)調(diào)。晶振一般和反饋電路組合起來,通過接收外部輸入的信號(hào),然后控制系統(tǒng)內(nèi)部振蕩的頻率和相位,這種電路一般被稱為鎖相環(huán)電路。如果元器件有不一樣的時(shí)鐘頻率需求的時(shí)候,就可以利用鎖相環(huán)電路來實(shí)現(xiàn)。STC89C52單片機(jī)的連接方式是選用12MHz的晶振,頻率在1.2MHz至12MHz之間符合設(shè)計(jì)的要求。外部晶體振蕩器電路,是通過兩個(gè)電容器和一個(gè)晶振組合而成。值得注意的是,晶體振蕩器和微控制器之間的距離不應(yīng)太遠(yuǎn),否則可能會(huì)導(dǎo)致晶體振蕩器頻率不穩(wěn)定。本系統(tǒng)選用兩個(gè)30pF的電容器。單片機(jī)中有逆變放大器XTAL1和XTAL2,通過兩個(gè)逆變放大器與晶振相連,然后再一邊連接一個(gè)電容來實(shí)現(xiàn)。下圖4-3為晶振電路的連接圖。圖4-3晶振電路連接圖4.2.3復(fù)位電路設(shè)計(jì)系統(tǒng)復(fù)位通常是為了解決在運(yùn)行過程中有其他干擾因素導(dǎo)致程序不穩(wěn)定,一般都是將電路狀態(tài)恢復(fù)到默認(rèn)狀態(tài)下。當(dāng)單片機(jī)剛剛啟動(dòng)時(shí),需要將系統(tǒng)中的各個(gè)部分恢復(fù)到默認(rèn)狀態(tài)下。復(fù)位電路一般有按鍵復(fù)位和上電復(fù)位的形式。上電復(fù)位:實(shí)現(xiàn)是通過連接到電源的時(shí)候,經(jīng)過電容持續(xù)的拉高RST引腳來實(shí)現(xiàn)的。上電復(fù)位可以保護(hù)電路,如果電源狀態(tài)有問題就會(huì)自動(dòng)復(fù)位。電阻選擇10K的,電容選用10μF的。按鍵復(fù)位:在RST引腳連接一個(gè)微動(dòng)開關(guān)然后在連接到VCC。電容與按鍵為并排連接狀態(tài),電容選用10μF的。按鍵導(dǎo)通后會(huì)使得電容器電流流失,然后通過電源對(duì)電容充電,使得復(fù)位引腳被拉高來實(shí)現(xiàn)復(fù)位功能,下圖4-4為連接圖。圖4-4復(fù)位電路連接圖4.2.4電源電路設(shè)計(jì)電源模塊是整個(gè)系統(tǒng)的基礎(chǔ),本系統(tǒng)使用的是DC電源座子作為電源輸入口,它通過220V的電源適配器可以將電壓轉(zhuǎn)化成5V的直流電給系統(tǒng)提供電源REF_Ref9180\w\h[7]。電源接口1連接自鎖開關(guān)的1端口,電源接口2端口連接地極,自鎖開關(guān)2端口接VCC。通過自鎖開關(guān)來控制整個(gè)系統(tǒng)的開閉狀態(tài),自鎖開關(guān)相比微動(dòng)開關(guān)來說的好處就是,當(dāng)自鎖開關(guān)按下去之后狀態(tài)就會(huì)固定住不會(huì)回彈,只有再次按下去之后才會(huì)彈回。在電源旁在接一個(gè)發(fā)光二極管來判斷系統(tǒng)是否已經(jīng)開啟,電源接發(fā)光二極管后再接一個(gè)1K阻值的電阻然后接到地線。下圖4-5為電源電路的連接。圖4-5電源電路4.3指紋模塊設(shè)計(jì)4.3.1指紋識(shí)別技術(shù)簡(jiǎn)介指紋識(shí)別技術(shù)的基本原理與其他生物特征指紋識(shí)別技術(shù)的基本原理相似。指紋識(shí)別技術(shù)是在目前來說算是比較完整,而且應(yīng)用范圍比較寬廣的一種,這是因?yàn)橹讣y識(shí)別技術(shù)具有安全性能高,操作簡(jiǎn)單等優(yōu)勢(shì)。指紋識(shí)別的基本原理通??梢苑譃槿齻€(gè)部分,指紋收集和指紋信息提取還有指紋比對(duì)原理。指紋收集的原理。指紋采樣原理可以通過各種指紋傳感模塊對(duì)指紋信息進(jìn)行采集。采集的圖像會(huì)受到指紋不同情況影響,由于指紋的脊和谷會(huì)存在不同的狀態(tài),一個(gè)是向上突起的一個(gè)是向下凹陷的,但是它們都暴露在相同的光下時(shí),它們所反饋回來的光照信息是不一樣的。當(dāng)接觸在同一個(gè)面上時(shí),在該平面上所對(duì)應(yīng)的感應(yīng)也是有所區(qū)別的。指紋的不同特性主要出現(xiàn)在脊谷溫度不同、電導(dǎo)率不同、反射光波長(zhǎng)不同的情況下。利用幾何特征和生物特征之間的差異,采集人體指紋并在計(jì)算機(jī)上生成指紋圖像。指紋信息提取的原理。通過對(duì)采集到的指紋進(jìn)行詳情分析,因?yàn)橹讣y特征信息存在于指紋的脊和谷當(dāng)中,通過二值化細(xì)化把特征不一樣的指紋信息變成相同寬度和相同灰度的細(xì)脊線,方便用來特征提取,二值化就是把指紋圖像轉(zhuǎn)化為黑白的二值圖,對(duì)指紋圖像劃分為小塊對(duì)其進(jìn)行計(jì)算,指紋一般是通過指紋按壓的方法采集的,各種外界環(huán)境等條件都會(huì)導(dǎo)致指紋圖像成像不理想。因此為了更好得到指紋特征對(duì)指紋采集也是非常重要的。指紋比對(duì)的原理。一般來說,指紋識(shí)別中主要有分叉點(diǎn)和斷點(diǎn),通過從二值化的圖像中提取特征,在模板中提取出斷點(diǎn)和分叉點(diǎn)REF_Ref9258\w\h[8]。指紋紋路并沒有完全連貫的而是會(huì)出現(xiàn)斷點(diǎn)和分叉點(diǎn),這些就叫做特征點(diǎn),而正是因?yàn)檫@些特征點(diǎn)可以作為指紋匹配的標(biāo)準(zhǔn)。指紋采集時(shí)的會(huì)有不同程度的干擾會(huì)導(dǎo)致偽特征點(diǎn)、噪聲等影響因素。通過匹配算法將已經(jīng)錄入的指紋和現(xiàn)在要對(duì)比的指紋進(jìn)行比較,是通過比較他們的數(shù)字化特征值來進(jìn)行對(duì)比的。4.3.2指紋模塊指令指紋錄入的詳細(xì)的操作步驟:首先收集指紋,然后生成特征文件,接著合成模板,最后對(duì)指紋進(jìn)行存儲(chǔ)。指紋對(duì)比的詳細(xì)的操作步驟:采集指紋,搜索指紋庫,指紋匹配。通過指紋傳感中的CMOS芯片收集指紋圖像后,進(jìn)行簡(jiǎn)單處理生成兩個(gè)信息記錄零和一,并將其存儲(chǔ)在指紋庫中。指紋模塊進(jìn)入比對(duì)模式時(shí),先收集指紋信息,然后和指紋庫中已經(jīng)存入的指紋信息進(jìn)行比較REF_Ref9314\w\h[9]??梢则?yàn)證它是否存在,如果對(duì)比成功則顯示指紋的序號(hào)??梢允褂脝纹瑱C(jī)來實(shí)現(xiàn)對(duì)指紋信息的注冊(cè)解鎖了。主要為如下表4-2的幾個(gè)指令。表4-2指紋命令表一般指紋的功能所使用的命令有錄入指紋圖像、生成特征、搜索指紋、合成模板、刪除模板這幾個(gè)。通過應(yīng)答包所對(duì)應(yīng)的指令碼來判斷具體情況。對(duì)于錄入指紋圖像來說。如果為00H則表示指紋信息錄入成功;如果為01H則表示接收包出現(xiàn)錯(cuò)誤;如果為02H則表示指紋傳感器沒有檢測(cè)到指紋信息。如果為03H則表示指紋錄入失敗。對(duì)于生成特征來說。如果為00H則表示成功生成圖像特征。如果該值為01H則在接收數(shù)據(jù)包時(shí)發(fā)生錯(cuò)誤。如果為06H則表示指紋圖像混合且不清晰,特征生成失敗。對(duì)于搜索指紋來說。如果為00H則表示檢測(cè)到庫中存在指紋。如果該值為01H,則在接收數(shù)據(jù)包時(shí)發(fā)生錯(cuò)誤。如果為09H則表示在庫中沒有檢測(cè)到指紋。對(duì)于合成模板來說。如果為00H則表示合成成功,如果該值為01H則在接收數(shù)據(jù)包時(shí)發(fā)生錯(cuò)誤。如果該值為1eH則說明合成失敗。對(duì)于刪除模板來說。如果為00H則表示刪除模板成功。如果該值為01H則在接收數(shù)據(jù)包時(shí)發(fā)生錯(cuò)誤。如果該值為10H則說明刪除失敗。4.3.3指紋通信協(xié)議說明指紋模塊的動(dòng)作都是利用單片機(jī)的串口傳輸來實(shí)現(xiàn)的。開始通過串口向指紋傳感模塊發(fā)出指令,然后接收指紋傳感模塊反饋數(shù)據(jù)回單片機(jī)。隨后由單片機(jī)再對(duì)數(shù)據(jù)信息進(jìn)行加工,判斷指令是否已進(jìn)行。指紋模塊與單片機(jī)之間的通信是異步的,UART是一種半雙工串行通信接口REF_Ref9382\w\h[10]。信息通過數(shù)據(jù)包傳輸。當(dāng)指紋模塊接收到指令時(shí),指令的操作狀態(tài)和結(jié)果使用應(yīng)答包反饋給MCU。反饋包括參數(shù)和隨后可能出現(xiàn)的數(shù)據(jù)包。微控制器只能在接收到來自指紋模塊的回復(fù)數(shù)據(jù)包后檢測(cè)指紋模塊的訪問狀態(tài)和命令運(yùn)行狀態(tài)。回復(fù)數(shù)據(jù)包的內(nèi)容通常包括一個(gè)必須存在的單字節(jié)驗(yàn)證碼,以及所有可能的返回參數(shù)。只能執(zhí)行一條指令,如果有其他指令正在執(zhí)行的時(shí)候,模塊不執(zhí)行其他指令,而是要等待前面一條指令的執(zhí)行完成。4.3.4指紋模塊接口電路設(shè)計(jì)下表為ZFM60系列的指紋模塊引腳功能:表4-3指紋識(shí)別模塊引腳功能電源VCC與指紋傳感器1端口相連,P3.7口與指紋傳感器2端口相連,電源VCC與指紋傳感器3端口相連,P3.0口與指紋傳感器4端口相連,P3.1口與指紋傳感器5端口相連,指紋傳感器6端口接地極。下圖4-6為指紋模塊電路。圖4-6指紋模塊接口圖4.3.5指紋模塊程序設(shè)計(jì)指紋程序設(shè)計(jì)主要為以下幾個(gè)部分。分為了指紋模版的采集存儲(chǔ)、指紋搜索識(shí)別程序設(shè)計(jì)和指紋刪除程序設(shè)計(jì)。(1)指紋模版的采集存儲(chǔ)首先進(jìn)行指紋圖像收集,接著會(huì)判斷有沒有采集成功,沒有成功的話就再次采集指紋圖像,然后把收集到的指紋信息進(jìn)行轉(zhuǎn)化,將生成的文件存儲(chǔ)到緩沖區(qū)當(dāng)中。接著就會(huì)在庫中搜索有沒有存在這個(gè)指紋信息,如果不存在的話就合成文件儲(chǔ)存起來。最后會(huì)返回所錄入的指紋編號(hào)。下圖4-7為指紋采集存儲(chǔ)的流程圖。圖4-7指紋采集存儲(chǔ)流程圖指紋模板采集主要代碼程序如下表4-4所示。表4-4指紋模板采集主要代碼(2)指紋搜索識(shí)別程序設(shè)計(jì)首先對(duì)收集到的指紋信息加以整合,轉(zhuǎn)化成為特征文件,接著就搜索庫中是否存在已經(jīng)錄入的指紋信息。將讀取到的指紋信息送到單片機(jī)中,單片機(jī)會(huì)對(duì)接收到的指紋信息判別。指紋比對(duì)方法有兩種,一種是一對(duì)一,另一種是一對(duì)多,與特定的進(jìn)行比較屬于一對(duì)一,而同時(shí)與多個(gè)模板比較的話則是一對(duì)多稱為指紋搜索。對(duì)比之后會(huì)返回對(duì)比結(jié)果成功或者失敗,如果比對(duì)成功,則有單片機(jī)給繼電器置一個(gè)低電平導(dǎo)通發(fā)光二極管發(fā)亮提示,反之則提示沒有搜索到該指紋信息需要重新采集。指紋比對(duì)程序流程如圖4-8所示:圖4-8指紋對(duì)比流程圖指紋對(duì)比主要代碼程序如下表4-5所示。表4-5指紋對(duì)比主要代碼(3)指紋刪除程序設(shè)計(jì)通過輸入一個(gè)想要?jiǎng)h除的指紋序號(hào),然后會(huì)搜索庫中是否存在對(duì)應(yīng)序號(hào)的指紋,如果存在的話就確認(rèn)刪除,如果不存在的話就重新輸入新的指紋序號(hào)再次檢測(cè)。指紋刪除流程如圖4-9所示。圖4-9指紋刪除流程圖指紋刪除主要實(shí)現(xiàn)代碼如下表4-6所示。表4-6指紋刪除主要實(shí)現(xiàn)代碼4.3按鍵模塊設(shè)計(jì)4.3.1按鍵電路設(shè)計(jì)按鍵是否按下表現(xiàn)在電平狀態(tài)的不同,要想確定按鍵,可以通過測(cè)試輸入輸出的電平狀態(tài)來判斷。通過加入消抖保護(hù)來確保按鍵一次一次有序的按不會(huì)多個(gè)一起反應(yīng)。消除抖動(dòng)一般有硬件、軟件二種不同的方式。可以通過將電路設(shè)計(jì)成在沒有替他外部干擾的信號(hào)情況下,電路保持原來的狀態(tài)不改變,以達(dá)到實(shí)現(xiàn)硬件消除抖動(dòng)的效果,這種一般稱為雙穩(wěn)態(tài)電路。軟消除抖動(dòng)則是通過程序延時(shí)實(shí)現(xiàn)的REF_Ref9483\w\h[11],按下后先延時(shí)檢測(cè)按鍵是否已經(jīng)閉合,以此減少震動(dòng)和干擾的影響。一般按鍵設(shè)計(jì)主要有獨(dú)立的和矩陣型的。獨(dú)立按鍵需要每個(gè)按鍵都要接一條輸入線,這樣測(cè)量按鍵狀態(tài)的話比較方便只要知道輸入線的電平狀態(tài)就可以了。獨(dú)立式鍵盤的話電路設(shè)計(jì)比較簡(jiǎn)單方便,但是它所占的輸入輸出口多比較浪費(fèi)資源。所以獨(dú)立按鍵不適合按鍵多和操作復(fù)雜一點(diǎn)的場(chǎng)合??紤]到本次系統(tǒng)使用的按鍵情況所以使用了矩陣鍵盤。其中R1-R4作為列線,C1-C4作為行線。C1-C4行線接的是單片機(jī)中的P1.0~P1.3口,R1-R4列線接的是單片機(jī)中的P1.4~P1.7口。下圖4-10為按鍵電路圖。圖4-10按鍵電路下圖4-11為按鍵功能圖,數(shù)字鍵盤用于密碼的輸入,通過按鍵A可以切換到管理員模式,按鍵B可以在密碼輸入時(shí)出現(xiàn)錯(cuò)誤后進(jìn)行刪除輸錯(cuò)的密碼,按鍵D為確認(rèn)按鍵。圖4-11按鍵功能圖4.3.1按鍵程序設(shè)計(jì)用戶需要對(duì)系統(tǒng)輸入信息控制,而按鍵則是系統(tǒng)與用戶傳遞信息的橋梁。按鍵識(shí)別過程如下:(1)想要判斷是否有按鍵按下。將列線和行線分別輸出高電平和低電平,即將P1置為0xF0。通過掃描所有列線上的電壓來判斷,如果列線上的高電平變?yōu)榱说碗娖剑驼f明有按鍵按下,反之則說明沒有按鍵按下。(2)當(dāng)檢測(cè)到有按鍵按下后,通過延時(shí)進(jìn)行消除抖動(dòng),然后需要確定哪個(gè)被按下,通過設(shè)置電平狀態(tài)來判斷保存它們的電平狀態(tài)來計(jì)算鍵值。(3)一旦確定了鍵位,下一步就是鍵位上的按鍵分配一個(gè)值。通過計(jì)算法來為按鍵進(jìn)行編號(hào)。以按鍵5為例,將P1初始化置為0xF0,當(dāng)按鍵5被按下時(shí),此時(shí)P1口的高4位電平值為1101,對(duì)應(yīng)列值應(yīng)該是0xD0,然后將P1置為0x0F,再次讀取P1口外部電平狀態(tài),此時(shí)低4位應(yīng)為1101,即行值為0x0D,將兩次的電平狀態(tài)按位或運(yùn)算得0xDDREF_Ref9558\w\h[12]。按鍵模塊的工作流程分析如下圖4-12所示。圖4-12鍵盤程序流程圖按鍵掃描的程序如下表4-7所示。表4-7按鍵掃描的程序主要實(shí)現(xiàn)代碼4.4液晶顯示模塊設(shè)計(jì)4.4.1LCD12864簡(jiǎn)介液晶是一類高分子材料,由于其獨(dú)特的特點(diǎn),在很早的時(shí)候就得到了應(yīng)用。液晶顯示屏是由光電推動(dòng)液晶分子形成點(diǎn)、線、平面,通過背光一起組成畫面。液晶體積小、功耗低、現(xiàn)實(shí)操作簡(jiǎn)單??梢孕纬闪己玫慕缑孀屓藗兏又庇^的看到所顯示的內(nèi)容。它可以顯示多種組合的的漢字例,如像16*16型或者8*4型。如果需要顯示字符的話,可以通過其中的緩存器DDRAM來寫入代碼實(shí)現(xiàn),將想要顯示的數(shù)據(jù)把其對(duì)應(yīng)的字符編碼寫入緩存器當(dāng)中即可。其實(shí)就是發(fā)送一個(gè)字節(jié)數(shù)據(jù),硬件會(huì)自動(dòng)解析你所需要顯示的字是哪一種,然后會(huì)把數(shù)據(jù)顯示到屏幕上。顯示部分主要完成顯示交互界面的功能,在各個(gè)操作都會(huì)有相應(yīng)的提示,本次設(shè)計(jì)選用帶字庫的LCD12864液晶顯示模塊REF_Ref9624\w\h[13]。4.4.2LCD12864指令說明表4-8基本操作時(shí)序RS為低電平的時(shí)候是寫指令操作,RS為高電平的時(shí)候是寫數(shù)據(jù)操作。RW為低電平的時(shí)候是執(zhí)行寫操作的。在完成讀寫操作的時(shí)候需要對(duì)讀寫狀態(tài)進(jìn)行檢測(cè),要保證STA7位值為零才可以。但是事實(shí)上來說,單片機(jī)執(zhí)行周期的速度沒有顯示器的響應(yīng)速度快,所以通過簡(jiǎn)單延時(shí)就可以完成不需要進(jìn)行讀寫檢測(cè)。表4-9基本指令集顯示部分主要完成顯示交互界面的功能。顯示程序需要完成初始化,不然將會(huì)出現(xiàn)異常情況。在接收到命令之前單片機(jī)必須驗(yàn)證顯示模塊是否空閑,如果處于空閑狀態(tài)則根據(jù)指令數(shù)據(jù)進(jìn)行顯示。通過讀取BF標(biāo)志位狀態(tài),只有BF值為零的時(shí)候然后才能進(jìn)行新的指令,如果沒有檢查的話則需要等待一個(gè)較長(zhǎng)的時(shí)間,因?yàn)橐却懊嬉粋€(gè)指令進(jìn)行完成才可以下一個(gè)。4.4.3LCD12864顯示接口電路設(shè)計(jì)下表4-10是LCD12864的引腳說明。表4-10接口信號(hào)說明模塊中引腳1接電源地,電源VCC與1引腳相連,引腳3接可調(diào)電阻用于調(diào)節(jié)LCD顯示亮度,RS口與顯示模塊的4引腳相連,RW口與顯示模塊的5引腳相連,使能口與顯示模塊6引腳相連,引腳15接地極,電源VCC與19腳相連,引腳20接地極,其他引腳置空不接。 下圖4-13為顯示電路連接圖。圖4-13顯示電路連接圖4.4.4LCD12864顯示程序設(shè)計(jì)顯示模塊的作用是一個(gè)交互界面,可以通過指令來控制LCD顯示想要的內(nèi)容,先發(fā)送指令再發(fā)送數(shù)據(jù)。首先初始化清屏后會(huì)展示初始界面,通過寫入命令在想要的位置顯示,然后在通過寫入數(shù)據(jù),在想要顯示的位置顯示對(duì)應(yīng)的數(shù)據(jù)信息。下圖4-14為顯示程序的流程圖。圖4-14顯示程序流程圖LCD顯示的主要代碼如下所示:初始化清屏,顯示模塊在開始都需要進(jìn)行初始化,根據(jù)指令表可以知道所需要實(shí)現(xiàn)功能對(duì)應(yīng)的命令。寫入0x30說明使用的是基本指令操作,寫入0x03則說明地址歸位,寫入0x0c說明將整體的顯示打開了并且關(guān)閉掉光標(biāo)的顯示,寫入0x01則說明清屏,寫入0x06則說明進(jìn)入設(shè)定點(diǎn),將光標(biāo)向右移動(dòng)。顯示初始化主要實(shí)現(xiàn)代碼如下表4-11所示。表4-11顯示初始化主要實(shí)現(xiàn)代碼寫命令,定義了WriteCommand函數(shù),通過RS的狀態(tài)來判斷,為低電平的時(shí)候是寫指令操作。寫入命令主要實(shí)現(xiàn)代碼如下表4-12所示。表4-12寫命令主要實(shí)現(xiàn)代碼寫數(shù)據(jù),定義了WriteData函數(shù)通過RS的狀態(tài)來判斷,為高電平的時(shí)候是寫數(shù)據(jù)操作。寫入數(shù)據(jù)主要實(shí)現(xiàn)代碼如下表4-13所示。表4-13寫數(shù)據(jù)主要實(shí)現(xiàn)代碼顯示字符串,該函數(shù)有三個(gè)參數(shù),ROW為行坐標(biāo),COL為縱坐標(biāo),*PUTS為需要顯示的文字。顯示字符串主要實(shí)現(xiàn)代碼如下表4-14所示。表4-14顯示字符串主要實(shí)現(xiàn)代碼4.5AT24C02存儲(chǔ)模塊設(shè)計(jì)4.5.1AT24C02存儲(chǔ)模塊電路設(shè)計(jì)AT24C02當(dāng)中有著256個(gè)八位字節(jié),使用CMOS技術(shù)可以降低耗能。而且有斷電數(shù)據(jù)保護(hù)的功能,并且支持?jǐn)?shù)據(jù)的雙向傳輸。器件使用壽命長(zhǎng)擦出次數(shù)可達(dá)10000次,存儲(chǔ)數(shù)據(jù)時(shí)間超過100年。下表4-15為存儲(chǔ)模塊的引腳功能。表4-15AT24C02模塊引腳功能下圖為4-15為AT24C02與單片機(jī)的接口連接圖引腳1~4接的都是電源地,引腳5(SDA)接的是單片機(jī)的P2.4口,引腳6(SCL)接的是單片機(jī)的P2.3口,引腳7(WP)接的是單片機(jī)的P2.2口,引腳8接的是電源。圖4-15AT24C02引腳連接圖4.5.2AT24C02存儲(chǔ)模塊程序設(shè)計(jì)AT24C02采用的是串行通信,串行器件不但占有了極少的資源和I/O線路,并且體積也大為減小,同時(shí)具備了較好的抗干擾能力、耗電量少、數(shù)據(jù)安全性高和支持在線編程等優(yōu)點(diǎn)。由于STC89C52單片機(jī)內(nèi)部沒有集成IIC總線,所以用到了AT24C02模塊,AT24C02使用的是IIC通信REF_Ref9712\w\h[14]。首先定義了start函數(shù),啟動(dòng)IIC總線。拉高時(shí)鐘數(shù)據(jù)口然后在由高到低的跳變,起始信號(hào)結(jié)束后開始下一個(gè)數(shù)據(jù)傳送。數(shù)據(jù)需要在時(shí)鐘線上是高電平的時(shí)候維持電平狀態(tài)不變,只有在時(shí)鐘線變成低電平的時(shí)候才能改變數(shù)據(jù)線的狀態(tài)??偩€起始函數(shù)主要實(shí)現(xiàn)代碼如下表4-16所示。表4-16起始函數(shù)實(shí)現(xiàn)代碼定義了stop函數(shù)用來停止總線,開始將時(shí)鐘電平拉低,準(zhǔn)備進(jìn)入停止信號(hào)階段同時(shí)將數(shù)據(jù)口也拉低,延時(shí)然后再將時(shí)鐘拉高進(jìn)入停止信號(hào),將數(shù)據(jù)口拉高后停止信號(hào)結(jié)束??偩€停止函數(shù)主要實(shí)現(xiàn)代碼如下表4-17所示。表4-17停止函數(shù)實(shí)現(xiàn)代碼實(shí)現(xiàn)了基本IIC通訊函數(shù)后,就可對(duì)AT24C02進(jìn)行操作,主要是寫入數(shù)據(jù)和讀取數(shù)據(jù)兩個(gè)函數(shù)。芯片尋址可以在內(nèi)部讀寫,可任意在00~FF地址寫入我們需要保存的數(shù)據(jù)。寫入數(shù)據(jù)順序?yàn)椋菏紫葧?huì)發(fā)出開始信號(hào),然后IIC總線開啟,然后向?qū)Ψ桨l(fā)送所在地址,然后再發(fā)送器件內(nèi)部的存儲(chǔ)地址,寫入數(shù)據(jù)到器件中后,最后總線停止。下圖4-16為寫入數(shù)據(jù)流程圖:圖4-16寫入數(shù)據(jù)流程圖寫入數(shù)據(jù)主要代碼如下所示,該函數(shù)有兩個(gè)變量一個(gè)存儲(chǔ)地址一個(gè)是所要寫入的值。寫入數(shù)據(jù)函數(shù)主要實(shí)現(xiàn)代碼如下表4-18所示。表4-18寫入數(shù)據(jù)函數(shù)實(shí)現(xiàn)代碼讀取數(shù)據(jù)順序?yàn)椋菏紫葧?huì)發(fā)出開始信號(hào),然后IIC總線開啟,然后向?qū)Ψ桨l(fā)送所在地址,然后再發(fā)送器件內(nèi)部的存儲(chǔ)地址。IIC總線再次開啟應(yīng)答,接著向器件發(fā)送所在地址。從器件讀出數(shù)據(jù)后返回所讀取的數(shù)據(jù)。下圖4-17為讀取數(shù)據(jù)流程圖:圖4-17讀取數(shù)據(jù)流程圖讀取數(shù)據(jù)主要代碼如下所示,該函數(shù)參數(shù)是存儲(chǔ)地址,返回值為字符型。將數(shù)據(jù)讀取完成后存入i變量中然后返回。讀取數(shù)據(jù)函數(shù)主要實(shí)現(xiàn)代碼如下表4-19所示。表4-19讀取數(shù)據(jù)函數(shù)實(shí)現(xiàn)代碼4.6繼電器電磁鎖模塊繼電器的操作原理是,當(dāng)繼電器被設(shè)置為低電平時(shí),電磁鐵被連接到內(nèi)部并且操作電路被連接。如果繼電器處于高電平,關(guān)閉后電磁鐵無磁性,彈簧引出磁鐵,分離工作電路。換言之,繼電器的操作原理是利用電磁結(jié)構(gòu)作為工作電路的接通斷開控制。利用繼電器的操作原理的控制電路的優(yōu)點(diǎn)是可以利用較低的操作電壓來限制大電流、遠(yuǎn)距離限制和半自動(dòng)控制。繼電器由單片機(jī)或微機(jī)控制,電磁鎖由繼電器控制。該模塊具備耗能小,控制能力強(qiáng),安全系數(shù)高等優(yōu)點(diǎn)REF_Ref9767\w\h[15]。下圖4-18為繼電器電磁鎖與單片機(jī)的接口連接圖。圖4-18繼電器連接圖4.7本章小結(jié)本章首先闡述了最小系統(tǒng)的設(shè)計(jì)。然后介紹了軟件開發(fā)環(huán)境,進(jìn)行指紋模塊的簡(jiǎn)介和指令的使用以及電路設(shè)計(jì),再介紹按鍵選型設(shè)計(jì)進(jìn)行介紹需要在按鍵上增加延時(shí)來消抖以降低誤差。然后對(duì)液晶顯示模塊進(jìn)行介紹,接著對(duì)存儲(chǔ)模塊以及與繼電器電磁鎖模塊的基本連接。5系統(tǒng)整體測(cè)試5.1系統(tǒng)測(cè)試5.1.1測(cè)試目的系統(tǒng)測(cè)試是開發(fā)中必不可少的流程。不論是組裝產(chǎn)生的錯(cuò)誤還在系統(tǒng)功能上面的錯(cuò)誤都能夠通過測(cè)試發(fā)現(xiàn)問題,測(cè)試是將已經(jīng)完成的設(shè)計(jì)功能和預(yù)期的需求進(jìn)行比較測(cè)試,可以發(fā)現(xiàn)成品和預(yù)期之間的差異所在,可以更好的調(diào)整解決問題。系統(tǒng)測(cè)試目的是驗(yàn)證開發(fā)結(jié)果是否合理,功能模塊是否正常運(yùn)行,整體項(xiàng)目是否符合規(guī)范,盡可能的減少錯(cuò)誤率,保證了系統(tǒng)的質(zhì)量。5.1.2測(cè)試方法測(cè)試的方法有很多種,例如從算法細(xì)節(jié)和系統(tǒng)功能情況來說分為黑盒測(cè)試、白盒測(cè)試和灰盒測(cè)試。動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試是通過程序執(zhí)行的狀況來區(qū)分的REF_Ref9823\w\h[16]。本次是通過傳統(tǒng)的黑盒測(cè)試在系統(tǒng)上進(jìn)行,以確保所有功能的正常使用。黑盒測(cè)試,測(cè)試系統(tǒng)模塊功能是否都能工作。在測(cè)試中,標(biāo)準(zhǔn)程序被當(dāng)成一個(gè)看不清內(nèi)部的黑匣子。在不考慮程序結(jié)構(gòu)和內(nèi)存特性的前提下。它只檢查程序功能如何依照使用規(guī)則來正確運(yùn)作,并且檢查程序如何能夠正確接收系統(tǒng)數(shù)據(jù)并獲取正確的輸入及輸出訊號(hào)。5.2整體流程整體操作步驟為:(1)連接電源按下自鎖開關(guān)后,電源發(fā)光二極管工作,顯示提示按下指紋進(jìn)行開鎖。(2)將手指放到指紋傳感器上采集。如果放入的指紋跟指紋庫中的比對(duì)成功的話,繼電器會(huì)工作發(fā)光二極管會(huì)發(fā)亮電磁鎖工作,成功后提示按任意鍵返回。如果放入的指紋跟指紋庫中的比對(duì)失敗的話,則會(huì)提示沒有該指紋信息,然后重新檢測(cè)有無指紋錄入。(3)進(jìn)入到管理員界面中則需要按下按鍵A,然后輸入正確的密碼才可進(jìn)入。(4)成功進(jìn)入管理員界面后。通過按下按鍵1可以增加指紋信息,將手指放到指紋傳感模塊上即可進(jìn)行收集保存。需要注意的是采集指紋信息時(shí),通過兩次同樣指紋錄入才可。想要繼續(xù)采集指紋信息的話保持上述步驟即可。(5)通過按下按鍵2,可以刪除指紋信息。顯示會(huì)提示相關(guān)信息,把對(duì)應(yīng)的指紋信息編號(hào)輸入,之后按下確認(rèn)鍵即可刪除。(6)通過按下按鍵3,可以對(duì)系統(tǒng)進(jìn)行緊急開鎖,通常是在特殊情況下或者是指紋不好用的情況下使用。(7)通過按下按鍵4可以對(duì)登錄管理員賬號(hào)密碼的修改,修改的時(shí)候需要輸入兩次密碼,并且兩次輸入要一樣才能修改完成。5.3測(cè)試用例(1)登入管理員界面測(cè)試表5-1登入管理員界面測(cè)試表下圖為部分用例測(cè)試結(jié)果:圖5-1登入管理員界面測(cè)試-序號(hào)1測(cè)試結(jié)果圖5-2登入管理員界面測(cè)試-序號(hào)3測(cè)試結(jié)果(2)指紋信息錄入測(cè)試表5-2指紋信息錄入測(cè)試表 下圖為部分用例測(cè)試結(jié)果:圖5-3指紋信息錄入測(cè)試-序號(hào)1測(cè)試結(jié)果圖5-4指紋信息錄入測(cè)試-序號(hào)4測(cè)試結(jié)果(3)指紋識(shí)別測(cè)試表5-3指紋識(shí)別測(cè)試表下圖為部分用例測(cè)試結(jié)果:圖5-5指紋識(shí)別測(cè)試-序號(hào)1測(cè)試結(jié)果(4)指紋刪除測(cè)試 表5-4指紋刪除測(cè)試表下圖為部分用例測(cè)試結(jié)果:圖5-6指紋刪除測(cè)試-序號(hào)1測(cè)試結(jié)果(5)管理員密碼修改測(cè)試表5-5管理員密碼修改測(cè)試表下圖為部分用例測(cè)試結(jié)果:圖5-7管理員密碼修改測(cè)試-序號(hào)1測(cè)試結(jié)果圖5-8管理員密碼修改測(cè)試-序號(hào)3測(cè)試結(jié)果5.4本章小結(jié)本節(jié)介紹了測(cè)試的目的和方法,講述了整體流程,對(duì)功能模塊指紋識(shí)別、指紋錄入、指紋、指紋刪除、密碼修改進(jìn)行了黑盒測(cè)試,經(jīng)過一系列測(cè)試,發(fā)現(xiàn)測(cè)試結(jié)果基本符合預(yù)期效果。6總結(jié)與展望6.1總結(jié)本系統(tǒng)是指紋密碼鎖,使用指紋傳感器完成一個(gè)簡(jiǎn)單的個(gè)人信息驗(yàn)證系統(tǒng)。系統(tǒng)功能基本齊全。該系統(tǒng)液晶顯示界面與用戶有良好的交互,顯示相關(guān)信息提示用戶的操作。在管理員模式下系統(tǒng)實(shí)現(xiàn)了增刪指紋、應(yīng)急解鎖和修改登錄密碼的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論