基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的指紋密碼鎖設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

./基于51單片機(jī)指紋電子密碼鎖設(shè)計(jì)摘要隨著人民生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變得尤其突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造簡(jiǎn)單,安全性低,無(wú)法滿足人們的需求。隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,單片機(jī)已成為電子產(chǎn)品研制和開(kāi)發(fā)中首選的控制器,所以具有防盜報(bào)警功能的電子密碼鎖控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼鎖控制的密碼量少,安全性能差的缺點(diǎn)。在傳統(tǒng)的身份認(rèn)證中,我們往往使用密碼加密法,但是這種方法只是"防君子不防小人"。在高明的黑客眼里,由幾個(gè)字符組成的密碼脆弱得不堪一擊。現(xiàn)在,科技的發(fā)展讓我們有了新的選擇——生物識(shí)別技術(shù)。將生物識(shí)別技術(shù)應(yīng)用于筆記本、門(mén)鎖等方面,可以對(duì)文件、財(cái)產(chǎn)起保護(hù)作用,并且可以進(jìn)行身份識(shí)別。生物識(shí)別技術(shù)的發(fā)展主要起始于指紋研究,它亦是目前應(yīng)用最為廣泛的生物識(shí)別技術(shù)。本設(shè)計(jì)開(kāi)發(fā)了一款基于單片機(jī)的指紋識(shí)別電子密碼鎖系統(tǒng)。該系統(tǒng)以STC89C52單片機(jī)作為模塊核心,通過(guò)串口通信控制ZFM-60指紋模塊實(shí)現(xiàn)錄取指紋并存儲(chǔ)指紋數(shù)據(jù),并通過(guò)HS12864-15C液晶顯示比對(duì)流程及比對(duì)結(jié)果,輔以直流繼電器與發(fā)光二極管模擬開(kāi)鎖的動(dòng)作。本系統(tǒng)具有體積小、性?xún)r(jià)比高、傳輸速度快、適合家庭及單位使用。關(guān)鍵詞:?jiǎn)纹瑱C(jī),密碼鎖,指紋識(shí)別51singlefingerprint-basedelectroniccodelockdesignABSTRACTWiththeimprovementofpeople'slivingstandards,howtoachievefamilysecurityissuehasbecomeparticularlyprominent,thetraditionalmechanicallocksbecauseofitssimplestructure,lowsecurity,cannotmeetpeople'sneeds.AselectronicproductstointelligentminiaturizedandthecontinuousdevelopmentofSCMhasbecometheelectronicproductresearchanddevelopmentpreferredcontroller,theelectroniclockcontrolsystemwithanti-theftalarmfunctiongraduallyreplacethetraditionalmechanicalcontrolsystemswithcode,overcomepasswordless,poorsafetyperformanceshortcomingsofmechanicallockcontrol.Intraditionalidentity,wetendtousepasswordencryptionmethod,butthismethodonly"anti-anti-villainisnotagentleman."Intheeyesofcleverhackers,passwordconsistsofseveralcharactersfragiletoovulnerable.Now,thedevelopmentofscienceandtechnologysothatwehaveanewoption-biometrics.Thebiometrictechnologyusedinnotebook,doorlocks,etc.,theycanfileforprotectionofproperty,andcanbeidentifiable.biometrictechnologyinfingerprintprimaryoriginresearch,itisalsothemostwidelyusedbiometrictechnology.ThesystemdesignoffingerprintrecognitionelectronpasswordlockbasedonSingle-chipmicroprocessorisdevelopedinthethesis.ThesystemSTC89C52MCUasthecoremodule,throughtheserialcommunicationcontrolZFM-60fingerprintmodulefortakingfingerprintsandstorefingerprintdataandliquidcrystaldisplaybyHS12864-15Cratiothanontheprocessesandresults,supportedbysimulationofDCrelaysandLEDsunlockaction.Thesystemissmall,cost-effective,andfastandsuitableforfamiliesandunits.KeyWords:Single-chipmicroprocessor,password,Fingerprintrecognition.目錄TOC\o"1-3"\f\h\z\u第一章緒論11.1課題研究意義11.2國(guó)內(nèi)外指紋密碼鎖發(fā)展歷史及現(xiàn)狀31.3本文主要內(nèi)容4第二章整體設(shè)計(jì)方案52.1方案比較與論證52.2系統(tǒng)總體設(shè)計(jì)72.2.1系統(tǒng)功能描述7系統(tǒng)總體框架72.3本章小節(jié)8第三章系統(tǒng)硬件設(shè)計(jì)93.1單片機(jī)及最小系統(tǒng)93.1.1STC89C52單片機(jī)介紹9外部晶振設(shè)計(jì)12復(fù)位電路設(shè)計(jì)133.2指紋模塊設(shè)計(jì)15指紋識(shí)別技術(shù)簡(jiǎn)介153.2.2指紋模塊簡(jiǎn)介163.2.3指紋模塊指令183.2.4指紋模塊接口電路設(shè)計(jì)213.3按鍵電路設(shè)計(jì)213.4液晶顯示模塊設(shè)計(jì)233.4.1FYD12864工作流程243.4.2FYD12864指令說(shuō)明243.4.3FYD12864液晶顯示接口電路設(shè)計(jì)293.5本章小節(jié)31第四章系統(tǒng)軟件設(shè)計(jì)324.1系統(tǒng)工作過(guò)程分析324.2主程序流程圖334.3鍵盤(pán)程序流程設(shè)計(jì)354.4LCD顯示模塊程序流程設(shè)計(jì)354.5指紋識(shí)別程序設(shè)計(jì)364.5.1指紋模塊通訊協(xié)議說(shuō)明364.5.2指紋模版的采集存儲(chǔ)384.5.3指紋比對(duì)程序設(shè)計(jì)394.6Keil編程404.7本章小結(jié)41第五章實(shí)物制作與調(diào)試425.1電路的焊接425.2程序的燒寫(xiě)445.3小燈、繼電器的調(diào)試455.4液晶的調(diào)試455.5指紋模塊、按鍵的調(diào)試465.6本章小結(jié)47總結(jié)48參考文獻(xiàn)49附錄一50附錄二51英文原文56中文翻譯65.第一章緒論我們今天的工作生活中,很多場(chǎng)合需要身份驗(yàn)證。而基于傳統(tǒng)的標(biāo)志的身份認(rèn)證技術(shù)由于受到證件偽造以及密碼破解等手段的威脅,逐漸表現(xiàn)得有些不足。如何保護(hù)自己的重要文件,如何保證自己的隱私不被泄露?在傳統(tǒng)的身份驗(yàn)證下,我們傾向于使用密碼加密方法,但這種方法"只是防得住君子,防不住小人"。在高明黑客的眼中,密碼由幾個(gè)字符脆弱得不堪一擊?,F(xiàn)在,科學(xué)技術(shù)的發(fā)展,使我們有了新的選擇-生物識(shí)別技術(shù)。在筆記本,門(mén)鎖等加上生物識(shí)別的技術(shù),它們可以對(duì)文件財(cái)產(chǎn)進(jìn)行保護(hù),并且是高安全性,高效率的。生物識(shí)別技術(shù)是基于對(duì)人的外貌,聲音和對(duì)其它生物特征身份驗(yàn)證的科學(xué)解決方案,現(xiàn)有的生物識(shí)別技術(shù),包括指紋識(shí)別技術(shù)一般,掌紋識(shí)別,視網(wǎng)膜識(shí)別,虹膜識(shí)別,臉部識(shí)別技術(shù),語(yǔ)音識(shí)別技術(shù)和手寫(xiě)識(shí)別技術(shù)[1]。生物識(shí)別技術(shù)的主要優(yōu)點(diǎn)是:1,減少,杜絕假冒身份,確認(rèn)真實(shí)身份;2,降低管理成本,免去了人工身份認(rèn)證過(guò)程;3,人性化,減少或消除使用卡,鑰匙或密碼等問(wèn)題。指紋是研究生物特征識(shí)別技術(shù)的起源,它也是應(yīng)用最廣泛的生物識(shí)別技術(shù)。指紋識(shí)別技術(shù)的發(fā)展依靠于現(xiàn)代電子集成制造技術(shù)和快速可靠的算法的研究。雖然指紋是人體皮膚的一小部分,但其中所包含的數(shù)據(jù)信息卻大到我們難以想象。對(duì)這些包含的數(shù)據(jù)信息對(duì)比不是一個(gè)簡(jiǎn)單的問(wèn)題,而是使用模糊匹配算法,加以大量的操作?,F(xiàn)代電子集成制造技術(shù)使我們能夠制造相對(duì)小的指紋圖像讀取裝置,而在計(jì)算速度迅速發(fā)展的今天,使在單片機(jī)上進(jìn)行兩個(gè)指紋的對(duì)比運(yùn)算成為可能。此外,匹配算法的可靠性也在不斷提高,使得指紋識(shí)別技術(shù)越來(lái)越成熟[2]。1.1課題研究意義隨著社會(huì)的發(fā)展和技術(shù)的進(jìn)步,傳統(tǒng)的安全防盜系統(tǒng)面臨極大的挑戰(zhàn)。長(zhǎng)久以來(lái),安防系統(tǒng)驗(yàn)證身份的方法是驗(yàn)證一個(gè)人是否持有有效的信物,如照片、密碼、鑰匙、磁卡和IC卡等。因此從本質(zhì)上來(lái)看,這種方法驗(yàn)證的是該人持有的某種"物",而不是驗(yàn)證該人本身。只要"物"的有效性得到確認(rèn),則持有該"物"的人的身份也就隨之得到確認(rèn)。這種通過(guò)"物"來(lái)確認(rèn)人的身份的辦法存在的漏洞是顯而易見(jiàn)的:"物"的丟失或出錯(cuò)都會(huì)導(dǎo)致合法的人無(wú)法被認(rèn)證,并且各種信物容易被偽造、破譯。在網(wǎng)絡(luò)化時(shí)代的今天,我們每個(gè)人都擁有大量的認(rèn)證密碼,比如開(kāi)機(jī)密碼、郵箱密碼、銀行密碼、論壇登陸密碼等等;密碼作為身份識(shí)別的標(biāo)志已被廣泛采用。密碼容易被遺忘,也有被人竊取的可能,無(wú)論是在智能化還是安全性能方面都已經(jīng)不能滿足需求,現(xiàn)在的各種鑰匙,如門(mén)鎖鑰匙,汽車(chē)鑰匙,保險(xiǎn)柜鑰匙等也如同密碼一樣存在顯而易見(jiàn)的漏洞。這些傳統(tǒng)的安全系統(tǒng)所采用的方式,隨著社會(huì)的發(fā)展,其安全性越來(lái)越脆弱不堪一擊。但是我們不能回避這個(gè)尷尬的問(wèn)題,我們的生活中隨時(shí)都需要進(jìn)行個(gè)人身份的確認(rèn)和權(quán)限的認(rèn)定,尤其是在信息社會(huì),人們對(duì)于安全性的要求越來(lái)越高,同時(shí)也希望認(rèn)證的方式簡(jiǎn)單快速。為了解決這一存在已久的問(wèn)題,人們把目光轉(zhuǎn)向了近年來(lái)興起的生物識(shí)別技術(shù),希望能借助人體的生理特征或行為動(dòng)作來(lái)進(jìn)行身份識(shí)別。這樣就可以不必?cái)y帶大串鑰匙,也不用費(fèi)心去記各種密碼。生物特征和鑰匙、密碼相比具有唯一性,不可復(fù)制性,例如指紋,專(zhuān)家推論以全球60億人口計(jì)算,300年內(nèi)都不會(huì)有兩個(gè)相同的指紋出現(xiàn)。以電子商務(wù)、電子銀行的安全認(rèn)證為例,目前在電子商務(wù)中經(jīng)常出現(xiàn)他人假冒當(dāng)事人的身份,如果通過(guò)生物特征進(jìn)行認(rèn)證,就可有效防止此類(lèi)事件的發(fā)生。另外,網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)和關(guān)鍵文件等的安全控制,機(jī)密計(jì)算機(jī)的登陸認(rèn)證,銀行ATM、POS終端等的安全認(rèn)證,蜂窩電話,PDA的使用認(rèn)證等等,都可以依靠生物特征來(lái)認(rèn)證??梢?jiàn),生物特征識(shí)別不但有可觀的經(jīng)濟(jì)效益,還有不可估量的國(guó)家信息安全效益。1997年比爾?蓋茨曾這樣預(yù)言:"生物識(shí)別技術(shù)即利用人的生理特征,如指紋、虹膜等來(lái)識(shí)別個(gè)人的身份,將成為未來(lái)幾年IT產(chǎn)業(yè)的重要革新。,指紋識(shí)別技術(shù)在生物識(shí)別技術(shù)中相對(duì)來(lái)看是發(fā)展的最成熟的識(shí)別技術(shù),指紋鎖則是指紋識(shí)別技術(shù)的代表作品,指紋鎖在當(dāng)今安防系統(tǒng)中應(yīng)運(yùn)而生成為繼機(jī)械鎖、密碼鎖、感應(yīng)鎖之后另一代門(mén)鎖的代表,單體指紋代替鑰匙或者密碼成為開(kāi)鎖工具,大大降低了安防系統(tǒng)的潛在安全隱患,主要是因?yàn)橹讣y的獨(dú)特生理附屬性,在一段比較長(zhǎng)的歷史時(shí)期內(nèi)避免了遺失、被盜、被復(fù)制的隱患,因此目前看來(lái)指紋鎖幾乎完美的解決了傳統(tǒng)門(mén)鎖存在的問(wèn)題,但是一把合格的指紋鎖,須采用國(guó)際領(lǐng)先水平的智能芯片和高標(biāo)準(zhǔn)的安裝材料,這就決定了其剛性成本很高,同時(shí)由于擁有極高的科技附加值,指紋鎖市場(chǎng)價(jià)格普遍比較昂貴,近年來(lái)指紋識(shí)別產(chǎn)品在各個(gè)行業(yè)的大規(guī)模開(kāi)始應(yīng)用,以及人們對(duì)于智能化和安全性能的追求為指紋鎖的市場(chǎng)拓展創(chuàng)造了有利條件,因此可以預(yù)見(jiàn),指紋鎖將迎來(lái)一個(gè)改變安防系統(tǒng)的歷史機(jī)遇?,F(xiàn)代社會(huì)越來(lái)越需要高效,可靠的身份識(shí)別系統(tǒng)??煞蛛x人身份的傳統(tǒng)方式,如口令,密碼,身份??梢赃M(jìn)行假冒,偽造,盜竊,或者破譯,不能完全滿足現(xiàn)代社會(huì)經(jīng)濟(jì)活動(dòng)和社會(huì)安全的需要。作為最傳統(tǒng)和最先進(jìn)的生物鑒定方法,指紋具有很強(qiáng)的相對(duì)穩(wěn)定性。從六個(gè)月胎兒完全形成指紋到死后尸體腐爛,指紋結(jié)構(gòu),整體分布的統(tǒng)計(jì)特性并沒(méi)有顯著的改變,顯然指紋具有其唯一性。至今仍然無(wú)法找到兩個(gè)人有相同的指紋,甚至是同卵雙胞胎都是不一樣的指紋。從易用性,安全性,成熟度和成本以及其他方面綜合比較,指紋識(shí)別技術(shù)將成為未來(lái)人的生理特征識(shí)別的主流技術(shù)。自動(dòng)指紋識(shí)別技術(shù)創(chuàng)建了一個(gè)個(gè)人身份識(shí)別的新時(shí)代,指紋識(shí)別的應(yīng)用使我們生活更加安全,方便[5]。以單片機(jī)為控制器的技術(shù)已經(jīng)發(fā)展的非常成熟,因?yàn)樗目刂菩阅芎透呖煽啃缘膬?yōu)點(diǎn),電子產(chǎn)品與單片機(jī)控制是分不開(kāi)的,如電飯煲,洗衣機(jī),汽車(chē)等都需要微處理器控制。學(xué)習(xí)單片機(jī)的基礎(chǔ)知識(shí)后,我們需要在實(shí)踐中把所學(xué)知識(shí)組織起來(lái),在現(xiàn)實(shí)生活中應(yīng)用它,所以我聯(lián)系指紋識(shí)別技術(shù)和單片機(jī)的原理與應(yīng)用選擇了基于單片機(jī)的指紋識(shí)別系統(tǒng)這個(gè)課題,我希望我的設(shè)計(jì)可以完成簡(jiǎn)單的身份認(rèn)證,給身份認(rèn)證提供方便。1.2國(guó)內(nèi)外指紋密碼鎖發(fā)展歷史及現(xiàn)狀生物識(shí)別技術(shù)在傳統(tǒng)安防系統(tǒng)面臨尷尬的時(shí)候,給人們帶來(lái)了希望,并且在今后一個(gè)很長(zhǎng)的歷史時(shí)期都將是緩解了安防壓力的有力保障,生物識(shí)別技術(shù)主要包括指紋識(shí)別、人臉識(shí)別、掌形識(shí)別、指靜脈識(shí)別、紅膜識(shí)別、視網(wǎng)膜識(shí)別、聲音識(shí)別等,由于各種生物識(shí)別技術(shù)的差異,只有基于指紋識(shí)別技術(shù)的產(chǎn)品有希望在近幾年大規(guī)模的投入民用的市場(chǎng),因此指紋識(shí)別產(chǎn)品將是世界各國(guó)在生物識(shí)別技術(shù)領(lǐng)域發(fā)展和投入的重點(diǎn)。一方面,指紋識(shí)別產(chǎn)品的快速發(fā)展得益于低價(jià)位取像設(shè)備的引入及其飛速發(fā)展,以及可靠的比對(duì)算法的研究發(fā)展,另一方面,指紋識(shí)別技術(shù)和其他的很多技術(shù)一樣,也是從專(zhuān)用走向公用,逐漸成為人們關(guān)注的前沿高科技之一,而現(xiàn)在儼然已經(jīng)成為了各種高科技產(chǎn)品的標(biāo)識(shí)。蘋(píng)果公司計(jì)劃推出帶有指紋登陸模塊的手機(jī),微軟公司推出了可單獨(dú)操作的指紋辨認(rèn)器;IBM開(kāi)始出售附有指紋辨認(rèn)器的手提電腦;韓國(guó)LG電子公司也推出了一種通過(guò)指紋啟動(dòng)的手機(jī)。但是必須指出的是指紋科技產(chǎn)業(yè)作為新興的高科技智能產(chǎn)業(yè),其技術(shù)上存在難以逾越的高度,迄今為止,全球指紋科技產(chǎn)品也剛剛處于起步階段,國(guó)內(nèi)市場(chǎng)上還沒(méi)有產(chǎn)生真正意義上的指紋科技產(chǎn)品強(qiáng)勢(shì)品牌,目前在中國(guó)市場(chǎng)上已經(jīng)有一些指紋鎖廠家進(jìn)入市場(chǎng)開(kāi)發(fā)階段,如XX錦江科技、新加坡璽瑪克、XX愛(ài)迪爾和XX鴻達(dá)等,但這些公司的全國(guó)性業(yè)務(wù)還沒(méi)有完全做開(kāi),一般的指紋鎖廠家都是通過(guò)直銷(xiāo)方式為政府機(jī)關(guān)、金融系統(tǒng)提供產(chǎn)品。目前世界上指紋鎖主要以德國(guó)與韓國(guó)為代表,無(wú)論是在技術(shù)還是工藝方面都占據(jù)著優(yōu)勢(shì),而國(guó)內(nèi)的嶺南鎖系主要是做組合安裝,自主技術(shù)和工藝水平偏低。國(guó)外的指紋鎖品牌借助北京奧運(yùn)會(huì)登陸中國(guó),強(qiáng)勢(shì)的占據(jù)了指紋鎖的高端市場(chǎng),而國(guó)內(nèi)技術(shù)和工藝偏低的指紋鎖產(chǎn)品只是艱難的占據(jù)著低端市場(chǎng),因此和國(guó)外品牌的利潤(rùn)相比相距甚遠(yuǎn),傳統(tǒng)的門(mén)鎖需要新一代的鎖來(lái)更替,在這樣巨大的市場(chǎng)需求下,國(guó)內(nèi)許多企業(yè)紛紛研制開(kāi)發(fā)指紋安防產(chǎn)品,然而經(jīng)過(guò)最初幾年的市場(chǎng)突圍,指紋鎖卻一直沒(méi)有大規(guī)模的普及應(yīng)用。眾多廠家倒在了市場(chǎng)引導(dǎo)階段,成為指紋鎖市場(chǎng)開(kāi)拓大軍的先烈。而現(xiàn)在指紋鎖市場(chǎng)已經(jīng)基本被打開(kāi),指紋鎖將迎來(lái)一個(gè)快速發(fā)展的時(shí)期。1.3本文主要內(nèi)容基于指紋識(shí)別的電子鎖系統(tǒng)設(shè)計(jì)主要由單片機(jī)、指紋模塊、電子鎖、液晶顯示屏、ADC鍵盤(pán)、時(shí)鐘幾個(gè)部分構(gòu)成,圍繞指紋鎖為核心功能設(shè)計(jì)的一個(gè)系統(tǒng),在第二章中對(duì)設(shè)計(jì)方案的選擇作重點(diǎn)介紹。第三章介紹系統(tǒng)硬件電路設(shè)計(jì),第四章介紹系統(tǒng)軟件設(shè)計(jì),第五章介紹實(shí)物制作與調(diào)試。第二章整體設(shè)計(jì)方案基于指紋識(shí)別的電子鎖系統(tǒng)是針對(duì)以指紋圖像采集、識(shí)別為核心而開(kāi)發(fā)出的系統(tǒng)。系統(tǒng)會(huì)控制指紋模塊搜索是否有手指放上,一旦感應(yīng)到有手指,就立即采集指紋圖像,并將采集到的圖像轉(zhuǎn)化成特征并存儲(chǔ)下來(lái)。通過(guò)比對(duì)該特征和模版特征來(lái)控制是否開(kāi)鎖。該系統(tǒng)利用人體指紋各異性和不變性,為用戶提供加密手段,使用時(shí)只需用戶將手指放在指紋傳感器的采集窗口上,即可完成采集任務(wù),操作十分方便快捷。系統(tǒng)的液晶顯示屏可以顯示出指紋模塊采集、轉(zhuǎn)化、合并、存儲(chǔ)、比對(duì)各個(gè)流程的結(jié)果,系統(tǒng)另外還有指紋模版的存入功能,用戶可以隨意存入或者刪除指紋模塊中的模版,只要指紋模塊中有該用戶的指紋模版,該用戶就可以通過(guò)指紋開(kāi)鎖。2.1方案比較與論證方案一:采用數(shù)字電路控制使用數(shù)字鎖電路的好處是設(shè)計(jì)簡(jiǎn)單。以74L112雙JK觸發(fā)器構(gòu)造的數(shù)字邏輯電路作為控制核心的密碼鎖,一共有16個(gè)用戶輸入鍵,其中只有12有效的密碼按鍵。,另一種是干擾按鈕,如果按下干擾按鈕鍵盤(pán)輸入電路會(huì)自動(dòng)清零,以前輸入的密碼無(wú)效,需要重新輸入:電路報(bào)警觸點(diǎn)接通三次,電路將鎖定鍵盤(pán)10秒,以防止他人非法操作。電路有兩大部分組成:備用電源〔UPS和密碼鎖電路,其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤(pán)輸入、密碼檢測(cè)、執(zhí)行電路、開(kāi)鎖電路、報(bào)警電路、鍵盤(pán)輸入次數(shù)鎖定電路。其原理方框圖如圖2-1所示圖2-1數(shù)字密碼鎖方案方案二:以單片機(jī)為核心的控制方案首先,設(shè)備可靈活編程:一是編程過(guò)程中可以根據(jù)自己的設(shè)計(jì)要求編寫(xiě)程序?yàn)樽约旱脑O(shè)計(jì),可以通過(guò)下載的方式將根據(jù)設(shè)計(jì)編寫(xiě)的程序?qū)懭朐O(shè)備,如果你想更換程序,就可以把以前輸入的程序擦拭后,自己將程序重寫(xiě)下載寫(xiě)入到設(shè)備,這樣可以同時(shí)使用戶節(jié)約成本和提高安全性。其次是在單片上豐富靈活的I/O端口,這些端口可以添加多個(gè)組件,以增加其功能用來(lái)實(shí)現(xiàn)的其他機(jī)械鎖不可能完成的任務(wù)。因?yàn)榭梢约訙囟蕊@示,時(shí)間顯示,甚至通過(guò)I/O端口添加遠(yuǎn)程控制功能,這些都可以通過(guò)添加各種組件來(lái)完成。但是如果在其他機(jī)械鎖中,完成這些功能,需要加入額外的專(zhuān)用組件。最終控制的準(zhǔn)確性,對(duì)所有的鎖來(lái)說(shuō)準(zhǔn)確性是最重要的,因?yàn)樗潜WC安全性的前提,如果精度不足夠高的話,就很難得到適當(dāng)?shù)陌踩U?單片機(jī)的準(zhǔn)確性是比較不錯(cuò)的。單片機(jī)為核心的控制方案不僅可以實(shí)現(xiàn)基本鎖定功能,可以添加一些額外的功能。通過(guò)比較以上兩種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí)所以我們采用以單片機(jī)為核心的控制方案。2.2系統(tǒng)總體設(shè)計(jì)2.2.1系統(tǒng)功能描述本系統(tǒng)是根據(jù)指紋采集,識(shí)別模塊開(kāi)發(fā)出的指紋識(shí)別電子密碼鎖系統(tǒng)。該系統(tǒng)使用一個(gè)搜索手指指紋模塊,一旦搜索到手指,立即采集手指指紋圖像,并且將所收集的圖像以數(shù)據(jù)形式發(fā)送。它利用人類(lèi)指紋各向異性和不變性,為用戶提供加密。只需把你的手指平放在指紋采集儀的采集窗口上完成指紋采集,操作十分方便。其主要功能是通過(guò)液晶顯示屏顯示出了各個(gè)過(guò)程和指紋對(duì)比結(jié)果。采集指紋圖像之前,指紋模塊必須檢測(cè)是否在傳感器表面上出現(xiàn)手指,所以應(yīng)該有這種指紋錄入的功能。簡(jiǎn)單的描述本次設(shè)計(jì)的功能即使用指紋模塊檢測(cè)、錄入指紋,將比對(duì)的數(shù)據(jù)顯示在液晶屏幕上。本系統(tǒng)擁有一次最多錄入三個(gè)指紋的能力該系統(tǒng)的主要功能有以下幾個(gè)方面:1.錄入指紋:系統(tǒng)預(yù)先要有錄入指紋的功能,即將個(gè)人的指紋通過(guò)指紋采集器采集用戶指紋的特征信息。2.合成指紋模板并存儲(chǔ):通過(guò)光電轉(zhuǎn)換后,將指紋特征值和對(duì)應(yīng)的ID號(hào)存儲(chǔ)到存儲(chǔ)器中。上位機(jī)只要有上傳指紋的命令,模塊可以立即將數(shù)據(jù)傳送到指定位置。3.搜索指紋庫(kù)比對(duì)指紋:當(dāng)有指紋錄入時(shí),模塊會(huì)響應(yīng)上位機(jī)指令搜索指紋庫(kù)比對(duì)指紋,同時(shí)液晶顯示比對(duì)結(jié)果,繼電器動(dòng)作、發(fā)光二極管亮。2.2.2系統(tǒng)總體框架系統(tǒng)的總體框架是指根據(jù)設(shè)計(jì)任務(wù)要求,對(duì)系統(tǒng)所需元件、設(shè)備參數(shù)進(jìn)行必要的計(jì)算,通過(guò)認(rèn)真研究、分析、比較選定設(shè)備型號(hào),再將設(shè)備、元件通過(guò)可靠的接口電路聯(lián)系起來(lái)構(gòu)成一個(gè)完整的系統(tǒng)。在系統(tǒng)的整體方案確定之前,先要明確設(shè)計(jì)要求,然后對(duì)系統(tǒng)硬件、軟件進(jìn)行設(shè)計(jì),其中包括繪制原理框圖、電路圖,對(duì)原理進(jìn)行必要說(shuō)明,綜合考慮系統(tǒng)的性能和穩(wěn)定性要求,以保證所設(shè)計(jì)的系統(tǒng)達(dá)到預(yù)期的要求。通過(guò)查閱大量的文獻(xiàn)資料、綜合分析考慮。主控芯片選用STC89C51單片機(jī)。系統(tǒng)總體框圖如圖2-2所示圖2-2系統(tǒng)總體框架圖2.3本章小節(jié)本章開(kāi)頭分別分析了采用數(shù)字電路控制和采用單片機(jī)控制的優(yōu)缺點(diǎn)。根據(jù)總體設(shè)計(jì)原則,最終確定本系統(tǒng)采用單片機(jī)控制的方案。在采用單片機(jī)控制方案確定后,本章又給出了該系統(tǒng)的總體設(shè)計(jì)。并簡(jiǎn)單的對(duì)系統(tǒng)功能進(jìn)行了描述,最后給出了系統(tǒng)的總體框架圖。本章是本設(shè)計(jì)的前提,為接下來(lái)的工作打下了基礎(chǔ)。第三章系統(tǒng)硬件設(shè)計(jì)系統(tǒng)的硬件電路設(shè)計(jì)主要是根據(jù)系統(tǒng)整體框圖來(lái)具體的設(shè)計(jì)各個(gè)部分的電路,主要包括STC89C52單片機(jī)外圍電路設(shè)計(jì)、指紋模塊ZFM-60電路、ADC鍵盤(pán)電路、液晶FYD12864電路幾部分。3.1單片機(jī)及最小系統(tǒng)3.1.1STC89C52單片機(jī)介紹單片機(jī),亦稱(chēng)單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器〔CPU、隨機(jī)存取存儲(chǔ)器〔RAM、只讀存儲(chǔ)器〔ROM、輸入/輸出端口〔I/0等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)?,F(xiàn)在可以說(shuō)單片機(jī)是百花齊放的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地[6]。縱觀單片機(jī)的發(fā)展過(guò)程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì)。MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來(lái)越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS〔互補(bǔ)金屬氧化物半導(dǎo)體工藝。80C51就采用了HMOS〔即高密度金屬氧化物半導(dǎo)體工藝和CHMOS〔互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝?,F(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器〔CPU、隨機(jī)存取數(shù)據(jù)存儲(chǔ)〔RAM、只讀程序存儲(chǔ)器〔ROM、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW〔脈寬調(diào)制電路、WDT〔看門(mén)狗、有些單片機(jī)將LCD〔液晶驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。[7]STC89C52RC單片機(jī)是宏晶科技推出的新一代高速、低功耗、超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要特性如下:增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。工作電壓:5.5V~3.3V〔5V單片機(jī)/3.8V~2.0V〔3V單片機(jī)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz用戶應(yīng)用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O口〔32個(gè),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。ISP〔在系統(tǒng)可編程/IAP〔在應(yīng)用可編程,無(wú)需專(zhuān)用編程器,無(wú)需專(zhuān)用仿真器,可通過(guò)串口〔RXD/P3.0,TXD/P3.1直接下載用戶程序,數(shù)秒即可完成一片具有EEPROM功能具有看門(mén)狗功能共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步串行口〔UART,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART工作溫度范圍:-40~+85℃〔工業(yè)級(jí)/0~75℃〔商業(yè)級(jí)PDIP封裝STC89C52RC單片機(jī)的工作模式掉電模式:典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序空閑模式:典型功耗2mA正常工作模式:典型功耗4mA~7mA掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備下圖3-1為STC89C52RC引腳功能說(shuō)明。圖3-1STC89C52引腳圖VCC〔40引腳:電源電壓VSS〔20引腳:接地P0口:為8位準(zhǔn)雙向I/O接口,它的每一位都可以分別定義為輸入線或輸出線〔作為輸入時(shí),口鎖存器必須置1,可啟動(dòng)4個(gè)TTL負(fù)載。P1口:為8位準(zhǔn)雙向I/O接口,它的每一位都可以分別定義為輸入線或輸出線〔作為輸入時(shí),口鎖存器必須置1,可啟動(dòng)4個(gè)TTL負(fù)載。P2口:為8位準(zhǔn)雙向I/O接口,當(dāng)它作為I/O接口使用時(shí),可直接連接外部I/O設(shè)備;在接有片外存儲(chǔ)器或擴(kuò)展I/O且尋址范圍超過(guò)256字節(jié)時(shí),P2口可用做高8位的地址總線。P3口:為8位準(zhǔn)雙向I/O接口,還可以將每一位用于第二功能,第二功能的定義見(jiàn)表3-1。表3-1STC89C52P3口的第二功能端口功能第二功能P3.0RXD〔串行輸入口P3.1TXD〔串行輸入口P3.2INT/0〔外中斷0P3.3INT/1〔外中斷1P3.4T0〔定時(shí)/計(jì)數(shù)器0P3.5T0〔定時(shí)/計(jì)數(shù)器1P3.6外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。本設(shè)計(jì)的主程序主要由液晶顯示、通訊子按鍵程序組成。主程序的工作流程描述如下:首先初始化各種硬件功能模塊進(jìn)行初始化。包括開(kāi)機(jī)液晶顯示、鍵盤(pán)掃描、指紋模塊建立通信。3.1.2外部晶振設(shè)計(jì)單片機(jī)系統(tǒng)里都有晶振,在單片機(jī)系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,它結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,單片機(jī)晶振提供的時(shí)鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬(wàn)分之五十,高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱(chēng)為壓控振蕩器〔VCO。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩[8]。單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過(guò)電子調(diào)整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同子系統(tǒng)需要不同頻率的時(shí)鐘信號(hào),可以用與同一個(gè)晶振相連的不同鎖相環(huán)來(lái)提供。STC89C52使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機(jī)內(nèi)部帶有振蕩電路,所以外部只要連接一個(gè)晶振和兩個(gè)電容即可,電容容量一般在15pF至50pF之間。STC89C52的內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,通過(guò)XTAL1,XTAL2外部接上一片作為反饋元件的晶體,與C1和C2構(gòu)成了并聯(lián)諧振電路,使其構(gòu)成自激振蕩器,電容的值具有微調(diào)的作用,我們?nèi)?0pF,具體的接法如圖3-2外部晶振電路。圖3-2外部晶振電路STC89C52的工作頻率范圍在0~24MHz。我們選用的是11.0592MHz的晶振,振蕩周期約為1μs機(jī)器周期約為0.1μs,所以這個(gè)晶振可以滿足這個(gè)系統(tǒng)的要求。并且晶振不能離單片機(jī)太遠(yuǎn),不然使用外部晶振進(jìn)行軟件調(diào)試時(shí)就會(huì)發(fā)現(xiàn)找不到信號(hào)。3.1.3復(fù)位電路設(shè)計(jì)單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個(gè)確定的狀態(tài),一般來(lái)說(shuō),單片機(jī)復(fù)位電路作用是把一個(gè)例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時(shí)候單片機(jī)是把一些寄存器以及存儲(chǔ)設(shè)備裝入廠商預(yù)設(shè)的一個(gè)值[9]。單片機(jī)復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上外接電阻和電容,實(shí)現(xiàn)上電復(fù)位,當(dāng)復(fù)位電平持續(xù)兩個(gè)機(jī)器周期以上時(shí)復(fù)位有效。復(fù)位電平的持續(xù)時(shí)間必須大于單片機(jī)的兩個(gè)機(jī)器周期。具體數(shù)值可以由RC電路計(jì)算出時(shí)間常數(shù)。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。〔1上電復(fù)位:STC89系列單片機(jī)為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路保證單片機(jī)在上電時(shí)RST腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的典型值為10KΩ和10μF?!?按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個(gè)開(kāi)關(guān),當(dāng)開(kāi)關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來(lái)使單片機(jī)復(fù)位。本系統(tǒng)采用的復(fù)位電路如圖3-3所示。單片機(jī)在上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持兩個(gè)機(jī)器周期以上的高電平,就能使單片機(jī)有效復(fù)位。其中電容選10uF、電阻選10K。圖3-3復(fù)位電路3.2指紋模塊設(shè)計(jì)指紋識(shí)別技術(shù)簡(jiǎn)介指紋識(shí)別技術(shù)的原理和其他生物識(shí)別技術(shù)的原理類(lèi)似。它是使用指紋特征對(duì)個(gè)體身份進(jìn)行分辨和識(shí)別。指紋識(shí)別技術(shù)是所有生物識(shí)別技術(shù)中最成熟的,也是應(yīng)用最廣泛的。這主要是因?yàn)槭褂弥讣y識(shí)別對(duì)用戶來(lái)說(shuō)非常簡(jiǎn)單,而且指紋識(shí)別準(zhǔn)確率很高。嚴(yán)格地說(shuō),指紋識(shí)別的原理包括指紋采集原理、指紋特征提取原理和指紋特征匹配原理三大部分[3]。指紋采集原理是基于指紋或生理特性,通過(guò)各種指紋傳感技術(shù)來(lái)顯示出他的特征,并將指紋圖案用數(shù)字化表示。由于指紋脊和谷的不同的幾何特征,主要表現(xiàn)為脊是突起,谷是凹陷的,所以當(dāng)暴露于光,反射光的強(qiáng)度是不同的。當(dāng)接觸于平面上,形成在平面壓力是不同的。在另一方面,由于指紋的脊和谷的不同的物理特性,主要表現(xiàn)為:脊和谷的溫度不同,其導(dǎo)電性也是不同的,他們反饋的波長(zhǎng)就不相同。根據(jù)這些幾何特征,生理特征的不同,把人的指紋采集到計(jì)算機(jī)系統(tǒng)中形成一個(gè)指紋圖象。指紋特征分析原理是通過(guò)對(duì)指紋圖案的整體特征和細(xì)節(jié)特征進(jìn)行提取,鑒別。理想的指紋圖像是一幅黑白相間的二值圖像。但是由于指紋通常是用按壓的方式得到的,因此,油墨、紙張、手指的狀況以及皮膚的變形等原因都會(huì)導(dǎo)致指紋圖像不理想。另外,通過(guò)掃描儀或者攝像機(jī)進(jìn)行數(shù)字化的時(shí)候,由于光照的影響,也會(huì)引入各種噪聲。這些因素都使灰度圖像不能直接用來(lái)匹配。因此,有必要選擇合適的特征來(lái)描述指紋征來(lái)描述指紋[4]。通常采用的結(jié)構(gòu)特征有2種層次:1全局特征。所描述的是指紋的全局紋路結(jié)構(gòu),如圖3-4所示,利用計(jì)算機(jī)處理時(shí)具體劃分為:弓型、環(huán)型、螺旋型。其他的指紋圖案都基于這3種基本圖案。圖3-4指紋基本紋路圖案2局部特征。斷點(diǎn)和分叉是最常用的指紋局部結(jié)構(gòu)特征,也稱(chēng)為細(xì)節(jié)特征。采用這種特征的一個(gè)例子是細(xì)節(jié)—坐標(biāo)模型,也就是使用指紋的細(xì)節(jié)點(diǎn)及其坐標(biāo)和其他一些特征來(lái)描述指紋。對(duì)于指紋身份鑒定,特別是對(duì)現(xiàn)場(chǎng)的模糊指紋進(jìn)行認(rèn)定的時(shí)候所使用的信息是細(xì)節(jié)特征點(diǎn),如圖3-5中的小橋、三角點(diǎn)、分叉點(diǎn)、端點(diǎn)和環(huán)。圖3-5指紋圖像人們根據(jù)紋路的局部結(jié)構(gòu)特征共定義了150多種細(xì)節(jié)特征,如果同時(shí)使用所有的這些特征,將很難自動(dòng)而且迅速地從指紋圖像中提取并且區(qū)分他們。通常,自動(dòng)指紋鑒定系統(tǒng)只使用其中2種主要的特征,即分叉點(diǎn)和斷點(diǎn)。其他細(xì)節(jié)特征都可以用他們的組合來(lái)表示。例如小橋是由2個(gè)端點(diǎn)組成的,而環(huán)是由2個(gè)分叉點(diǎn)組成的。指紋特征值匹配原理是對(duì)指紋圖案的整體特征和細(xì)節(jié)特征按模式識(shí)別的原理進(jìn)行比對(duì)匹配。匹配是在已經(jīng)登記指紋與當(dāng)前需要驗(yàn)證的指紋之間進(jìn)行的。匹配操作不是對(duì)兩個(gè)指紋圖像做比較,而是將已經(jīng)數(shù)字化的指紋特征值進(jìn)行匹配。3.2.2指紋模塊簡(jiǎn)介指紋模塊里面主要是DSP芯片,型號(hào)為AS606,加上外面的CMOS芯片,CMOS芯片主要是對(duì)指紋進(jìn)行"照相",生成指紋特征,如下圖所示就是一個(gè)指紋模板,錄入兩次這樣的指紋特征就能生成一個(gè)指紋模板。具體的工作過(guò)程是:掃描指紋〔錄入圖像、生成特征、合成模板〔建立一個(gè)指紋庫(kù)文件,成功錄入一個(gè)指紋。圖3-6指紋模版指紋模板就是"照一次相",將指紋模塊里面的CMOS芯片采集一次指紋信息,然后進(jìn)行模糊處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。當(dāng)切換到識(shí)別模式的時(shí)候,指紋模塊就會(huì)先讓CMOS芯片采集一次指紋,然后和FLASH芯片的數(shù)據(jù)進(jìn)行對(duì)比??词遣皇谴嬖?如果存在就能返回是幾號(hào)指紋。這樣我們就能通過(guò)單片機(jī)或者電腦進(jìn)行指紋識(shí)別與登記了。具體指紋模塊介紹如下:此指紋模塊型號(hào)是:ZFM60,此模塊上里面包含了:1、光學(xué)頭2、通信連接線3、DSP芯片4、穩(wěn)壓芯片5、FLASH芯片6、CMSO傳感器等部件組成。主要技術(shù)指標(biāo):供電電壓:DC3.8~7.0V背光顏色:綠色亮燈方式:長(zhǎng)亮/閃爍供電電流:工作電流:<65mA峰值電流:<95mA指紋圖像錄入時(shí)間:<0.5秒窗口面積:14.5×19.4mm匹配方式:比對(duì)方式〔1:1搜索方式〔1:N特征文件:256字節(jié)模板文件:512字節(jié)存儲(chǔ)容量:1000枚安全等級(jí):3級(jí)〔從低到高:1、2、3、4、5認(rèn)假率<FAR>:<0.001%〔安全等級(jí)為3時(shí)拒真率<FRR>:<1.0%〔安全等級(jí)為3時(shí)搜索時(shí)間:<1.0秒〔1:500時(shí),均值上位機(jī)接口:UART〔TTL邏輯電平通訊波特率<UART>:〔9600×Nbps其中N=1~12〔默認(rèn)值N=6,即57600bps3.2.3指紋模塊指令進(jìn)行指紋模塊的操作是通過(guò)單片機(jī)的串口發(fā)送與接收命令完成的。我們先通過(guò)串口給指紋模塊發(fā)送命令,然后等待指紋模塊傳回?cái)?shù)據(jù)。再通過(guò)單片機(jī)進(jìn)行數(shù)據(jù)的處理,從而判斷命令有沒(méi)有執(zhí)行。主要為以下幾條命令。1開(kāi)機(jī)的時(shí)候進(jìn)行模塊握手,從而判斷模塊是不是連接正常。命令如下:驗(yàn)證口令:指令包格式:2bytes4bytes1byte2bytes1byte4bytes2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼口令校驗(yàn)和0xEF01Xxxx01H07H13HPasswordSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示口令驗(yàn)證正確;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=13H表示口令不正確;2生成指紋模板需要進(jìn)行如下四個(gè)個(gè)命令:錄入圖像、生成特征、合成指紋模板、存儲(chǔ)指紋模板。錄入指紋圖像指令:指令包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼校驗(yàn)和0xEF01Xxxx01H03H01HSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示錄入成功;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=02H表示傳感器上無(wú)手指;確認(rèn)碼=03H表示錄入不成功;圖像生成特征Img2Tz指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼緩沖區(qū)號(hào)校驗(yàn)和0xEF01Xxxx01H04H02HBufferIDSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示生成特征成功;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=06H表示指紋圖像太亂而生不成特征;確認(rèn)碼=07H表示指紋圖像正常,但特征點(diǎn)太少而生不成特征;確認(rèn)碼=15H表示圖像緩沖區(qū)內(nèi)沒(méi)有有效原始圖而生不成圖像;特征合成模板RegMode1指令:功能說(shuō)明:將CharBuffer1與CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼校驗(yàn)和0xEF01Xxxx01H03H05HSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示合并成功;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=0aH表示合并失敗〔兩枚指紋不屬于同一手指;存儲(chǔ)模板Store指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼緩沖區(qū)號(hào)位置號(hào)校驗(yàn)和0xEF01XXXX01H06H06HBufferIDPageIDSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示儲(chǔ)存成功;確認(rèn)碼=01H表示收包有錯(cuò);經(jīng)過(guò)以上四個(gè)步驟與命令,我們就錄入了一個(gè)指紋,重復(fù)以上步驟,我們可以再錄入其它指紋。3指紋識(shí)別是先轉(zhuǎn)換到識(shí)別模式,然后不斷的探測(cè)是不是有指紋出現(xiàn)在光學(xué)采集頭上。如果有則掃描指紋,與庫(kù)里面的指紋進(jìn)行比對(duì),如果是就讀出是幾號(hào)指紋。模塊會(huì)自動(dòng)探測(cè)是不是有指紋,如果有則發(fā)送下面的命令:搜索指紋Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度指令碼緩沖區(qū)號(hào)參數(shù)參數(shù)校驗(yàn)和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes2bytes2bytesXX模塊地址包標(biāo)識(shí)包長(zhǎng)度確認(rèn)碼頁(yè)碼得分校驗(yàn)和0xEF01Xxxx07H07HxxHSUM注:確認(rèn)碼=00H表示搜索到;確認(rèn)碼=09H表示沒(méi)有搜索;如果搜索到就返回相應(yīng)的指紋號(hào),如果沒(méi)有就會(huì)返回0。3.2.4指紋模塊接口電路設(shè)計(jì)ZFM60系列獨(dú)立式指紋識(shí)別模塊引腳功能:模塊中引腳1與電源相連,引腳2接單片機(jī)的RXD端,引腳3接單片機(jī)的TXD端,引腳4懸空,引腳5接地。表3-2如下:表3-2指紋識(shí)別模塊引腳功能引腳號(hào)名稱(chēng)類(lèi)型功能描述1Vinin電源正輸入端2TDout串行數(shù)據(jù)輸出。TTL邏輯電平3RDin串行數(shù)據(jù)輸入。TTL邏輯電平4GND-信號(hào)地。內(nèi)部與電源地連接指紋模塊電路如圖3-7所示圖3-7指紋模塊接口圖3.3按鍵電路設(shè)計(jì)按鍵的閉合與否反應(yīng)在電壓上就是呈現(xiàn)出高電平或低電平,如果高電平表示斷開(kāi),那么低電平則表示閉合,通過(guò)電平的高低狀態(tài)的檢測(cè)可確認(rèn)鍵按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次,并且防止干擾信號(hào)的影響,必需加入消除電平抖動(dòng)的措施,下圖3-8為按鍵抖動(dòng)示意。消除抖動(dòng)通常有硬、軟硬兩種方法,硬件消除抖動(dòng)可采取雙穩(wěn)態(tài)電路或?yàn)V波消抖電路;軟件消抖是在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)程序再確認(rèn)該鍵是否仍閉合,如果還是閉合狀態(tài)則確認(rèn)該鍵按下,從而消除抖動(dòng)和干擾影響。按鍵接口設(shè)計(jì)有兩種方法,獨(dú)立式按鍵和矩陣式鍵盤(pán)。獨(dú)立式按鍵各鍵相獨(dú)立,每個(gè)按鍵各接入一根輸入線,只要檢測(cè)輸入線的電平就可以識(shí)別按鍵狀態(tài)。這種方法電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵需占用一根輸入口。由于該設(shè)計(jì)方案IO資源浪費(fèi)大。故此方法只適用于按鍵少或其他控制功能很簡(jiǎn)單的場(chǎng)合。由于本設(shè)計(jì)中的按鍵較多,考慮系統(tǒng)可靠性和鍵盤(pán)設(shè)計(jì)的簡(jiǎn)單所以采用矩陣按鍵。本系統(tǒng)的按鍵電路如圖3-9所示,按鍵按下是呈低電平,我們采用軟件消抖來(lái)減少對(duì)的單片機(jī)影響。有鍵按下有鍵按下前沿抖動(dòng)按鍵確定后沿抖動(dòng)圖3-8按鍵閉合及斷開(kāi)前后的電壓矩陣式鍵盤(pán)由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。當(dāng)鍵被按下時(shí),其交點(diǎn)的行線和列線接通,相應(yīng)的行線或列線上的電平發(fā)生變化,單片機(jī)通過(guò)檢測(cè)行或列線上的電平變化可以確定哪個(gè)按鍵被按下。矩陣鍵盤(pán)的檢測(cè)方法有多種,常見(jiàn)的有:逐點(diǎn)掃描法、逐行掃描法、全局掃描法。在本實(shí)例中我們采用逐行掃描法來(lái)實(shí)現(xiàn)按鍵檢測(cè),其中P1.4-P1.7作為列線,P1.0-P1.3作為行線。識(shí)別過(guò)程如下:1、判斷鍵盤(pán)中是否有鍵按下。設(shè)置所有行線為輸出口,并輸出低電平;設(shè)置列線為輸入口,讀取列線上的電平狀態(tài),只要有一列的電平為低,就表示有按鍵按下,并且被按下的鍵位于電平為低的列線與4跟行線相交叉的4個(gè)按鍵中,若所有列線都為高電平,表示沒(méi)有按鍵按下;2、判斷被按下按鍵所在的位置。在確認(rèn)有鍵按下后〔進(jìn)行按鍵消抖處理后,接下來(lái)就是確定具體哪個(gè)案件被按下,方法是:依次將每根行線設(shè)置為輸出口,并輸出低電平〔同時(shí)剩余行線輸出高電平,然后逐列檢查每根列線的電平狀態(tài),若某列為低電平,則該列線與設(shè)置為輸出低電平的行線交叉處的按鍵就是被按下的按鍵。3、按鍵位置確定后,接下來(lái)就要給矩陣鍵盤(pán)中的每個(gè)按鍵進(jìn)行編號(hào),也就是進(jìn)行按鍵編碼,程序設(shè)計(jì)中常用計(jì)算法和查表法兩種方式對(duì)按鍵進(jìn)行編碼,本實(shí)例采用計(jì)算法編碼。圖3-9按鍵電路3.4液晶顯示模塊設(shè)計(jì)液晶是一種高分子材料,因?yàn)槠涮厥獾奈锢?、化學(xué)、光學(xué)特性,20世紀(jì)中葉開(kāi)始廣泛應(yīng)用在輕薄型顯示器上。液晶顯示器的主要原理是以電流刺激液晶分子產(chǎn)生點(diǎn)、線、面并配合背部燈管構(gòu)成畫(huà)面。為敘述簡(jiǎn)便,通常把各種液晶顯示器都直接叫做液晶。液晶體積小、功耗低、現(xiàn)實(shí)操作簡(jiǎn)單,但是它有一個(gè)致命的弱點(diǎn),其使用溫度范圍很窄,通用型液晶正常工作溫度范圍為0°C~+55°C,存儲(chǔ)溫度范圍為-20°C~+60°C,因此在設(shè)計(jì)相應(yīng)產(chǎn)品時(shí),務(wù)必要考慮周全,選取合適的液晶。3.4.1FYD12864工作流程1基本操作時(shí)序:讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0~D7=狀態(tài)字寫(xiě)指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖輸出:D0~D7=數(shù)據(jù)讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:無(wú)寫(xiě)數(shù)據(jù):輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖輸出:無(wú)2狀態(tài)字說(shuō)明表3-3狀態(tài)字說(shuō)明STA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0STA0~6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫(xiě)操作使能1:禁止0:允許對(duì)控制器每次進(jìn)行讀寫(xiě)操作之前都必須進(jìn)行讀寫(xiě)檢測(cè),確保STA7為0。實(shí)際上,由于單片機(jī)的操作速度慢于液晶控制器反應(yīng)速度,因此可以不進(jìn)行讀/寫(xiě)檢測(cè),或只進(jìn)行簡(jiǎn)短延時(shí)即可。3.4.2FYD12864指令說(shuō)明表3-4指令集〔RE=0:基本指令集指令指令碼說(shuō)明RSRWDB7DB6DB5DB4DB3DB2DB1DB0清除顯示0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計(jì)數(shù)器〔AC到"00H"地址歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器〔AC到"00H",并且將游標(biāo)移到開(kāi)頭原點(diǎn)位置;這個(gè)指令并不改變DDRAM的內(nèi)容進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在資料的讀取與寫(xiě)入時(shí),設(shè)定游標(biāo)移動(dòng)方向及指定顯示的移位I/D=1:游標(biāo)向右移,DDRAM地址計(jì)數(shù)器〔AC加1I/D=0:游標(biāo)向左移,DDRAM地址計(jì)數(shù)器〔AC減1S:顯示畫(huà)面整體位移顯示狀態(tài)開(kāi)/關(guān)0000001DCBD=1:整體顯示ONC=1:游標(biāo)ONB=1:游標(biāo)位置ON游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位元;這個(gè)指令并不改變DDRAM的內(nèi)容S/C=0,R/L=0:游標(biāo)向左移動(dòng)S/C=0,R/L=1:游標(biāo)向右移動(dòng)功能設(shè)定00001DLX0REXXDL=1〔必須設(shè)為1RE=1:擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM地址到地址計(jì)數(shù)器〔AC設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM地址到地址計(jì)數(shù)器〔AC設(shè)定DDRAM地址001AC6AC5AC4AC3AC2AC1AC0設(shè)定DDRAM地址到地址計(jì)數(shù)器〔AC讀取忙碌標(biāo)志〔BF和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙碌標(biāo)志〔BF可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器〔AC的值寫(xiě)資料到RAM10D7D6D5D4D3D2D1D0寫(xiě)入資料到內(nèi)部的RAM〔DDRAM/CGRAM/IRAM/GDRAM讀出RAM的值11D7D6D5D4D3D2D1D0從內(nèi)部RAM讀取資料〔DDRAM/CGRAM/IRAM/GDRAM表3-5指令表〔RE=1:擴(kuò)充指令集指令指令碼說(shuō)明RSRWDB7DB6DB5DB4DB3DB2DB1DB0待命模式0000000001將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計(jì)數(shù)器〔AC到"00H"卷動(dòng)地址或IRAM地址選擇000000001SRSR=1:允許輸入垂直卷動(dòng)地址SR=0:允許輸入IRAM地址反白選擇00000001R1R0選擇4行中的任一行作反白顯示,并可決定反白與否睡眠模式0000001SLXXSL=1:脫離睡眠模式SL=0:進(jìn)入睡眠模式擴(kuò)充功能設(shè)定000011XREG0RE=1:擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作G=1:繪圖顯示ONG=0:繪圖顯示OFF設(shè)定IRAM地址或卷動(dòng)地址0001AC5AC4AC3AC2AC1AC0SR=1:AC5—AC0為垂直卷動(dòng)地址SR=0:AC3—AC0為ICONIRAM地址設(shè)定繪圖RAM地址001AC6AC5AC4AC3AC2AC1AC0設(shè)定CGRAM地址到地址計(jì)數(shù)器〔AC當(dāng)模塊在接受指令前,微處理順必須先確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),即讀取BF標(biāo)志時(shí)BF需為0,方可接受新的指令;如果在送出一個(gè)指令前并不檢查BF標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成,指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的個(gè)別指令說(shuō)明。"RE"為基本指令集與擴(kuò)充指令集的選擇控制位元,當(dāng)變更"RE"位元后,往后的指令集將維持在最后的狀態(tài),除非再次變更"RE"位元,否則使用相同指令集時(shí),不需每次重設(shè)"RE"位元。具體指令介紹:1清除顯示RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為"00H"2位址歸位RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址計(jì)數(shù)器調(diào)整為"00H",游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM3位址歸位RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:把DDRAM位址計(jì)數(shù)器調(diào)整為"00H",游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計(jì)數(shù)器控制的,該命令自動(dòng)將A0-A5位地址送入Z地址計(jì)數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。Z地址計(jì)數(shù)器具有循環(huán)計(jì)數(shù)功能,用于顯示行掃描同步,當(dāng)掃描完一行后自動(dòng)加一。4顯示狀態(tài)開(kāi)/關(guān)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整體顯示ONC=1;游標(biāo)ONB=1;游標(biāo)位置ON5游標(biāo)或顯示移位控制RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位:這個(gè)指令并不改變DDRAM的內(nèi)容6功能設(shè)定RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0REXX功能:DL=1〔必須設(shè)為1RE=1;擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作7設(shè)定CGRAM位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:設(shè)定CGRAM位址到位址計(jì)數(shù)器〔AC8設(shè)定DDRAM位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定DDRAM位址到位址計(jì)數(shù)器〔AC9讀取忙碌狀態(tài)〔BF和位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:讀取忙碌狀態(tài)〔BF可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器〔AC的值10寫(xiě)資料到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:寫(xiě)入資料到內(nèi)部的RAM〔DDRAM/CGRAM/TRAM/GDRAM11讀出RAM的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:從內(nèi)部RAM讀取資料〔DDRAM/CGRAM/TRAM/GDRAM12待命模式〔12HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式13卷動(dòng)位址或IRAM位址選擇〔13HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHSR功能:SR=1;允許輸入卷動(dòng)位址SR=0;允許輸入IRAM位址14反白選擇〔14HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能:選擇4行中的任一行作反白顯示,并可決定反白的與否15睡眠模式〔015HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能:SL=1;脫離睡眠模式SL=0;進(jìn)入睡眠模式16擴(kuò)充功能設(shè)定〔016HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能:RE=1;擴(kuò)充指令集動(dòng)作RE=0;基本指令集動(dòng)作G=1;繪圖顯示ONG=0;繪圖顯示OFF17設(shè)定IRAM位址或卷動(dòng)位址〔017HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1;AC5~AC0為垂直卷動(dòng)位址SR=0;AC3~AC0寫(xiě)ICONRAM位址18設(shè)定繪圖RAM位址〔018HRSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定GDRAM位址到位址計(jì)數(shù)器〔AC3.4.3FYD12864液晶顯示接口電路設(shè)計(jì)FYD12864共有20個(gè)引腳,各引腳說(shuō)明如表3-6所示。表3-6接口信號(hào)說(shuō)明編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地11D4DataI/O2VDD電源正極12D5DataI/O3VO液晶顯示對(duì)比度調(diào)節(jié)端13D6DataI/O4RS數(shù)據(jù)/命令選擇端〔H/L14D7DataI/O5R/W讀/寫(xiě)選擇端〔H/L15PSB并/串選擇H并行L串行6E使能信號(hào)16NC空腳7D0DataI/O17RST復(fù)位,低電平有效8D1DataI/O18NC空腳9D2DataI/O19A背光電源正極10D3DataI/O20K背光電源負(fù)極FYD12864漢字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字〔16X16點(diǎn)陣、128個(gè)字符〔8X16點(diǎn)陣及64X256點(diǎn)陣顯示RAM〔GDRAM。下圖為FYD12864與單片機(jī)的接口連接圖。圖3-1012864引腳與單片機(jī)連接圖顯示模塊主要完成數(shù)據(jù)的顯示功能。用戶所編的顯示程序,開(kāi)始必須進(jìn)行初始化,否則模塊無(wú)法正常顯示,首先當(dāng)模塊接受指令前,單片機(jī)必須確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),然后根據(jù)接受到指令顯示相關(guān)的內(nèi)容在屏幕上。1、通過(guò)RS確定是寫(xiě)數(shù)據(jù)還是寫(xiě)命令。寫(xiě)命令包括使液晶的光標(biāo)顯示/不顯示、光標(biāo)閃爍/不閃爍、需/不需要移屏、在液晶的什么位置顯示,等等。寫(xiě)數(shù)據(jù)是指要顯示什么內(nèi)容。2、讀/寫(xiě)控制端設(shè)置為寫(xiě)模式,即低電平。3、將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。4、給E一個(gè)高脈沖將數(shù)據(jù)送入液晶控制器,完成寫(xiě)操作。3.5本章小節(jié)本章首先介紹了主要控制元件STC89C52單片機(jī),并且介紹了各引腳功能及組成最小系統(tǒng)各部分的原理。然后,了解了12864液晶的使用方法及其編程要點(diǎn),接著敘述了如何對(duì)按鍵編程,因?yàn)榘存I必須添加防抖動(dòng)設(shè)置,以減少誤差。最后介紹指紋模塊,列出本設(shè)計(jì)需要的程序模塊。第四章系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)主要以硬件電路設(shè)計(jì)為基礎(chǔ),以實(shí)現(xiàn)系統(tǒng)功能為導(dǎo)向,主要包括指紋識(shí)別程序設(shè)計(jì)、ADC鍵盤(pán)程序設(shè)計(jì)、液晶FYD12864程序設(shè)計(jì)幾部分。4.1系統(tǒng)工作過(guò)程分析在本文的硬件電路中,單片機(jī)嵌入到系統(tǒng)中作為控制器。應(yīng)用程序開(kāi)發(fā)分為兩個(gè)部分,即指紋識(shí)別模塊的應(yīng)用開(kāi)發(fā),和12864液晶,按鍵程序的開(kāi)發(fā)。程序開(kāi)發(fā)將建立主程序調(diào)用一系列子程序通過(guò)C語(yǔ)言函數(shù)作為主要途徑,也就是利用C語(yǔ)言函數(shù)分別對(duì)指紋識(shí)別模塊和液晶顯示電路編制子程序。在此設(shè)計(jì)中,使用編程單片機(jī)的keil軟件作為開(kāi)發(fā)環(huán)境的,因?yàn)榫幾g器支持模塊化設(shè)計(jì),可以將源程序分成幾個(gè)模塊各自進(jìn)行編寫(xiě),最后通過(guò)編譯器生成一個(gè)最終的文件。開(kāi)發(fā)環(huán)境可以調(diào)試軟件模擬程序,可以輕松進(jìn)行程序的編寫(xiě)和調(diào)試,調(diào)試成功的代碼文件通過(guò)開(kāi)發(fā)板就可以下載到單片機(jī)中。單片機(jī)上電后,主程序應(yīng)完成相應(yīng)的初始化。根據(jù)電路的功能性要求,主要程序必須初始化液晶,并且檢測(cè)按鍵。如果有相應(yīng)的鍵被按下,執(zhí)行相應(yīng)的操作,對(duì)指紋模塊的讀寫(xiě)是單片機(jī)通過(guò)串行接口進(jìn)行的。所以要對(duì)串口進(jìn)行初始化由于使用串口和模塊通訊,所以必須先約定好單片機(jī)和模塊的串口工作速度和數(shù)據(jù)包格式。SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:表4-1SCON寄存器地址位位76543210字節(jié)地址:98HSM0SM1SM2SM3SM4SM5SM6SM7SCONSM0和SM1為工作方式選擇位,可選擇四種工作方式:表4-2串行口工作方式SM0SM1方式說(shuō)明波特率000移位寄存器fosc/1201110位異步收發(fā)器〔8位數(shù)據(jù)可變10211位異步收發(fā)器〔9位數(shù)據(jù)fosc/64或fosc/3211311位異步收發(fā)器〔9位數(shù)據(jù)可變PCON中只有一位SMOD與串行口工作有關(guān):表4-3PCON寄存器位76543210字節(jié)地址:97HSMODPCONSMOD〔PCON.7波特率倍增位。在串行口方式1、方式2、方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。發(fā)送數(shù)據(jù)共11-14個(gè)字節(jié),前6個(gè)字節(jié)是模塊的XX和模塊地址為固定值,后5-8個(gè)字節(jié)是傳輸?shù)哪K的命令。同時(shí)根據(jù)外部晶振和系統(tǒng)默認(rèn)的傳輸速率算出控制串口的各寄存器的初始值。指紋模塊的通訊波特率〔UART的要求為9600bps,所以如果單片機(jī)要與指紋模塊進(jìn)行通信是,必須波特率一致,此時(shí)需要在編程時(shí)設(shè)置單片機(jī)的波特率為9600bps。串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器1、串行口控制和中斷控制。具體步驟如下:1、確定T1的工作方式〔編程TMOD寄存器;2、計(jì)算T1的初值,裝載TH1、TL1;3、啟動(dòng)T1〔編程TCON中的TR1位;4、確定串行口控制〔編程SCON寄存器;5、串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置〔編程IE、IP寄存器。下面是串口初始化程序:SCON=0x50;//UART方式1:8位UART;REN=1:允許接收PCON=0x00;//SMOD=0:波特率不加倍TMOD=0x21;//T1方式2,用于UART波特率,T0方式1TH1=0xFD;TL1=0xFD;//UART波特率設(shè)置:96004.2主程序流程圖根據(jù)分析后,制定如下圖的程序流程圖。主程序設(shè)計(jì)流程如圖4-1所示。程序的巡檢過(guò)程:首先對(duì)各模塊進(jìn)行初始化,檢測(cè)在有無(wú)按鍵按下,如果按下判斷是那一個(gè)按鍵,并作出判斷是否調(diào)用相應(yīng)子程序。主程序主要由液晶顯示、通訊子程序和按鍵程序組成。主程序的工作流程描述如下:首先初始化各種硬件功能模塊。包括液晶顯示、鍵盤(pán)掃描、指紋模塊建立通信。圖4-1主程序流程圖4.3鍵盤(pán)程序流程設(shè)計(jì)鍵盤(pán)是系統(tǒng)與外部傳遞信息的通道,在硬件的基礎(chǔ)上需要進(jìn)行軟件的設(shè)計(jì)。鍵盤(pán)模塊的工作流程圖如圖4-2所示。圖4-2鍵盤(pán)程序流程圖4.4LCD顯示模塊程序流程設(shè)計(jì)顯示模塊主要完成數(shù)據(jù)的顯示功能,然后根據(jù)接受到指令顯示相關(guān)的內(nèi)容在屏幕上。圖4-3顯示程序流程圖4.5指紋識(shí)別程序設(shè)計(jì)4.5.1指紋模塊通訊協(xié)議說(shuō)明指紋模塊采用UART與單片機(jī)通訊,對(duì)命令、數(shù)據(jù)、結(jié)果的接收和發(fā)送,都采用數(shù)據(jù)包的形式。對(duì)于多字節(jié)的,高字節(jié)在前低字節(jié)在后。數(shù)據(jù)包格式:XX地址包標(biāo)識(shí)包長(zhǎng)度包內(nèi)容〔指令/數(shù)據(jù)/參數(shù)/確認(rèn)碼校驗(yàn)和XX固定為0xef01,傳送時(shí)高字節(jié)在前。地址默認(rèn)值為0xffffffff,用戶可通過(guò)指令生成新地址,模塊會(huì)拒絕地址錯(cuò)誤的數(shù)據(jù)包。傳送時(shí)高字節(jié)在前。包標(biāo)識(shí),0x01表示是命令包,0x02表示是數(shù)據(jù)包<Datapacket>,且有后續(xù)包。數(shù)據(jù)包不能單獨(dú)進(jìn)入執(zhí)行流程,必須跟在指令包或應(yīng)答包后面。0x07表示是應(yīng)答包,可以跟后續(xù)包。0x08表示是最后一個(gè)數(shù)據(jù)包,即結(jié)束包。包長(zhǎng)度指的是包內(nèi)容<指令/數(shù)據(jù)>的長(zhǎng)度加上效驗(yàn)和的長(zhǎng)度〔即包內(nèi)容長(zhǎng)度+2。長(zhǎng)度以字節(jié)為單位〔即字節(jié)數(shù),傳送時(shí)高字節(jié)在前。包內(nèi)容可以是指令、數(shù)據(jù)、指令的參數(shù)、應(yīng)答結(jié)果等?!仓讣y特征值、指紋模板都是數(shù)據(jù)。校驗(yàn)和是包標(biāo)示、包長(zhǎng)度和包內(nèi)容的所有字節(jié)的算術(shù)累計(jì)和,超過(guò)2字節(jié)的進(jìn)位忽略。指令只能由上位機(jī)下發(fā)給模塊,模塊向上位機(jī)應(yīng)答。模塊收到指令后,會(huì)通過(guò)應(yīng)答包,將有關(guān)命令執(zhí)行情況與結(jié)果上報(bào)給上位機(jī)。應(yīng)答包含有參數(shù),并可跟后續(xù)數(shù)據(jù)包。上位機(jī)只有在收到模塊的應(yīng)答包后才能確認(rèn)模塊的收包情況與指令執(zhí)行情況。應(yīng)答包的內(nèi)容包括一個(gè)字節(jié)的確認(rèn)碼〔必須有和可能有的返回參數(shù)。模塊在上電完成初始化工作以后,等待接收上位機(jī)命令。在收到正確命令后,迅速執(zhí)行相應(yīng)的,操作,在操作完成后返回對(duì)應(yīng)的信息。在模塊執(zhí)行命令的過(guò)程中,模塊不會(huì)響應(yīng)上位機(jī)發(fā)出的其他命令。指紋模塊的命令如下表格所示類(lèi)型序號(hào)代碼功能說(shuō)明類(lèi)型序號(hào)代碼功能說(shuō)明系統(tǒng)類(lèi)10x13校驗(yàn)口令指紋處理130x08上傳特征20x12設(shè)置口令140x09下載特征30x15設(shè)置地址150x06存儲(chǔ)模版40x0e設(shè)置系統(tǒng)參數(shù)160x07下載模版50x0f讀系統(tǒng)參數(shù)170x0c刪除模版60x1f讀指紋模板索引表180x0d清空指紋庫(kù)70x1d讀指紋模板數(shù)190x03比對(duì)特征指紋處理類(lèi)80x01錄指紋圖像200x04搜索指紋90x0a上傳圖像其他類(lèi)210x14采樣隨機(jī)數(shù)100x0b下載圖像220x18寫(xiě)記事本110x02圖像轉(zhuǎn)特征230x19讀記事本120x05特征合成模板4.5.2指紋模版的采集存儲(chǔ)指紋模版的采集與存儲(chǔ)主要是單片機(jī)控制指紋模塊對(duì)用戶的同一枚指紋連續(xù)取兩次,存儲(chǔ)在圖像緩沖區(qū)ImageBuffer,然后分別將指紋圖像轉(zhuǎn)化為指紋特征,存儲(chǔ)在特征文件緩沖區(qū)CharBuffer1或CharBuffer2,然后將兩個(gè)指紋特征文件合成一個(gè)模版放在指紋庫(kù)中,每一個(gè)指紋模板對(duì)應(yīng)一個(gè)ID號(hào),指紋庫(kù)中的模版是斷電保存的。指紋模塊在FLASH中開(kāi)辟了一段存儲(chǔ)區(qū)域作為指紋模板存放區(qū),即指紋庫(kù)。存儲(chǔ)容量為1000枚,指紋庫(kù)中的數(shù)據(jù)是斷電保護(hù)的。指紋模板按照序號(hào)存放,若指紋庫(kù)容量為N,則指紋模板在指紋庫(kù)中的序號(hào)定義為:0、1、2……N-2、N-1。用戶只能根據(jù)序號(hào)訪問(wèn)指紋庫(kù)內(nèi)容,相應(yīng)的存儲(chǔ)和搜索功能對(duì)應(yīng)的都是針對(duì)指紋序號(hào)的操作。ATmega16控制指紋模塊進(jìn)行各種操作,主要涉及單片機(jī)串口控制的幾個(gè)特殊寄存器,USART寄存器包括I/O數(shù)據(jù)寄存器-UDR、控制和狀態(tài)寄存器A-UCSRA、控制和狀態(tài)寄存器B-UCSRB、控制和狀態(tài)寄存器C-UCSRC、波特率寄存器-UBRRL和UBRRH。在程序設(shè)計(jì)時(shí),串口采用異步倍速模式,需要設(shè)定的波特率寄存器UBRR的值,計(jì)算公式為UBRR=f/8BAUD-1,指紋模塊的波特率為57600bps,單片機(jī)晶振為6.0MHz,可以計(jì)算得到UBRR=12。指紋模版登錄的程序流程圖如圖4-4所示。圖4-4指紋模版采集存儲(chǔ)程序流程圖4.5.3指紋比對(duì)程序設(shè)計(jì)指紋比對(duì)程序設(shè)計(jì)是指紋鎖系統(tǒng)程序設(shè)計(jì)的主要方面,指紋匹配時(shí),通過(guò)指紋傳感器,錄入要驗(yàn)證指紋圖像并進(jìn)行處理,然后與模塊中的指紋模板進(jìn)行匹配比較〔若與模塊中指定的一個(gè)模板進(jìn)行匹配,稱(chēng)為指紋比對(duì)方式,即1:1方式;若與多個(gè)模板進(jìn)行匹配,稱(chēng)為指紋搜索方式,即1:N方式,模塊給出匹配結(jié)果〔通過(guò)或失敗,然后單片機(jī)控制電子鎖動(dòng)作。指紋比對(duì)程序設(shè)計(jì)如圖4-5所示:圖4-5指紋匹配程序流程圖4.6Keil編程所需要的各種硬件已經(jīng)選擇好,單片機(jī)是電路中主控制器,由單片機(jī)對(duì)指紋模塊及液晶、按鍵進(jìn)行開(kāi)發(fā)。首先應(yīng)建立一系列的C語(yǔ)言子程序供主程序進(jìn)行調(diào)用。本設(shè)計(jì)采用KeiluVision2對(duì)單片機(jī)編程。Keil可以編譯C源碼,匯編源程序,生成代碼效率非常高,多數(shù)語(yǔ)句生成的匯編代碼緊湊容易理解[11]。[Keil軟件可以提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,能夠連接和重定位目標(biāo)文件和庫(kù)文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序。使用Keil軟件的主要工作流程為:1、創(chuàng)建一個(gè)新工程,命名為"Fingerprint",然后從器件庫(kù)中選擇單片機(jī)型號(hào),因?yàn)槠渲袥](méi)有STC89C52,所以選擇與它完全兼容的Atmel89c52代替。2、新建text文件,命名為main.c,然后在Target1的子文件SourceGroup1中添加main.c文件。3、點(diǎn)擊下圖中箭頭所指的圖標(biāo),彈出如下對(duì)話框,在Xtal后輸入9600,即單片機(jī)的工作頻率為9600MHz[12]。圖4-6設(shè)置波特率4、點(diǎn)擊Output標(biāo)簽,在CreateHEX前的方框內(nèi)勾選,這樣可以生成hex文件以便輸入單片機(jī)中。5、用C語(yǔ)言創(chuàng)建源程序。6、修改源程序中的錯(cuò)誤。7、測(cè)試,鏈接應(yīng)用。4.7本章小結(jié)本章介紹了硬件選擇后設(shè)計(jì)軟件工作流程,及如何進(jìn)行Keil軟件編程,然后創(chuàng)建"Fingerprint.hex"文件,程序燒寫(xiě)時(shí)需要。接著若想系統(tǒng)各個(gè)部分工作有序,必須保持時(shí)鐘狀態(tài)一致。第五章實(shí)物制作與調(diào)試5.1電路的焊接1.焊前準(zhǔn)備首先要熟悉所焊印制電路板的裝配圖,并按圖紙配料,檢查元器件型號(hào)、規(guī)格及數(shù)量是否符合圖紙要求,并做好裝配前元器件引線成型等準(zhǔn)備工作。2.焊接順序元器件裝焊順序依次為:電阻、電容器、二極管、三極管、集成電路、大功率管,其它元器件為先小后大。3.對(duì)元器件焊接要求〔1電容器焊接將電容器按圖裝人規(guī)定位置,并注意有極性電容器其"+"與"-"極不能接錯(cuò),電容器上的標(biāo)記方向要易看可見(jiàn)。先裝玻璃釉電容器、有機(jī)介質(zhì)電容器、瓷介質(zhì)電容器,最后裝電解電容器?!?二極管的焊接二極管焊接要注意以下幾點(diǎn):第一,注意陽(yáng)極陰極的極性,不能裝錯(cuò);第二,型號(hào)標(biāo)記要易看可見(jiàn);第三,焊接立式二極管時(shí),對(duì)最短引線焊接時(shí)間不能超過(guò)2S?!?三極管焊接注意e、b、c三引線位置插接正確;焊接時(shí)間盡可能短,焊接時(shí)用鑷子夾住引線腳,以利散熱。焊接大功率三極管時(shí),若需加裝散熱片,應(yīng)將接觸面平整、打磨光滑后再緊固,若要求加墊絕緣薄膜時(shí),切勿忘記加薄膜。管腳與電路板上需連接時(shí),要用塑料導(dǎo)線。〔4集成電路焊接首先按圖紙要求,檢查型號(hào)、引腳位置是否符合要求。焊接時(shí)先焊邊沿的二只引腳,以使其定位,然后再?gòu)淖蟮接易陨隙轮饌€(gè)焊接。對(duì)于電容器、二極管、三極管露在印制電路板面上多余引腳均需齊根剪去[15]。〔5FYD12864注意事項(xiàng):1要避免在處理機(jī)械振動(dòng)和對(duì)模塊施加外力,都可能使屏不顯示或損壞。2不能用手或堅(jiān)硬工具或物體接觸、按壓、磨擦顯示屏,否則屏上的偏光片被物體劃壞。3如果屏破裂液晶材料外漏,液晶可以通過(guò)空氣被吸入,而且要避免液晶與皮膚接觸,如果接觸應(yīng)立即用酒精沖洗,然后再用水徹底沖洗。4不能使用可溶有機(jī)體來(lái)清洗顯示屏。因?yàn)檫@些可溶的溶劑對(duì)偏光片不利,清洗顯示屏?xí)r,可用棉花蘸少量石油苯輕輕擦拭或用透明膠帶粘起臟物。5要防止高壓靜電產(chǎn)生的放電,將損壞模塊中的CMOS電路。6不能把模塊放在溫度高的地方,尤其不能長(zhǎng)時(shí)間放在濕度大的地方,最好把模塊放在溫度為0℃-35℃,濕度低于70%的環(huán)境中。7模塊不能貯存在太陽(yáng)直射的地方。8當(dāng)電源接通時(shí),不能組裝或拆卸模塊。9在電源電壓的偏差、輸入電壓的偏差及環(huán)境溫度等最壞條件下,也不能超過(guò)最大的額定值,否則將損壞LCD模塊。按照以上順序及要求焊接好后的實(shí)物如圖5-1所示圖5-1焊接后的實(shí)物圖5.2程序的燒寫(xiě)STC-ISP是一款單片機(jī)下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。圖5-2STC-ISP工作界面調(diào)試通過(guò)的代碼文件通過(guò)STC_ISP_V480下載到單片機(jī)。STC_ISP_V480使用步驟為:1、打開(kāi)STC-ISP,如下圖界面,在MCUType欄目下選中單片機(jī)STC89C52RC。2、選中COM端口,波特率選擇9600。3、點(diǎn)擊"打開(kāi)文件"并在對(duì)話框內(nèi)找到要下載的HEX文件。4、點(diǎn)擊download/下載,根據(jù)提示給單片機(jī)上電,完成程序燒寫(xiě)。單片機(jī)在上電后,主程序應(yīng)該完成相應(yīng)的初始化工作。依據(jù)電路的功能要求,主程序必須對(duì)液晶初始化、同時(shí)對(duì)按鍵進(jìn)行檢測(cè),如果有對(duì)應(yīng)的按鍵按下,執(zhí)行相應(yīng)的操作,單片機(jī)通過(guò)串行接口對(duì)指紋模塊進(jìn)行讀寫(xiě)。5.3小燈、繼電器的調(diào)試首先按下電源,看電源指示燈是否點(diǎn)亮,證明電源電路正常。然后測(cè)試單片機(jī)是否正常工作,在Keil上編寫(xiě)了一段紅綠小燈以一秒間隔閃爍的程序,導(dǎo)入單片機(jī),上電后發(fā)現(xiàn)小燈按照我所要求的方式工作,證

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論