【基于51單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)(論文)9400字】_第1頁(yè)
【基于51單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)(論文)9400字】_第2頁(yè)
【基于51單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)(論文)9400字】_第3頁(yè)
【基于51單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)(論文)9400字】_第4頁(yè)
【基于51單片機(jī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)(論文)9400字】_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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ī)的指紋密碼鎖系統(tǒng)設(shè)計(jì)TOC\o"1-3"\h\u193411.引言 摘要:隨著社會(huì)的進(jìn)步,技術(shù)的迭代速度飛快,對(duì)于單片機(jī)來(lái)說(shuō),同樣如此,它的使用領(lǐng)域已經(jīng)十分的普遍了,它一直在科技領(lǐng)域有著基石逸一樣的存在,對(duì)于我們社會(huì)的進(jìn)步有有著非常重要的作用。在平常的工作和生活中,一些住宅以及公司的門戶,以及一些文檔文件,個(gè)人資料很多都是加鎖的方式來(lái)進(jìn)行保護(hù)。但是如果使用平常鎖的話,那么就需要用戶隨身隨地的在身上攜帶對(duì)應(yīng)的鑰匙,這樣就像的有些麻煩,而且鑰匙丟了,開(kāi)鎖更是一個(gè)大問(wèn)題。所以使用具有報(bào)警功能和電子鎖,必然是社會(huì)所需的趨勢(shì),而在普通電子密碼鎖的基礎(chǔ)上,再增加指紋解鎖,更是方便了用戶的開(kāi)鎖方式,更是增加其安全性和方便程度。因?yàn)槿说闹讣y是無(wú)法復(fù)制的,所以通過(guò)記錄人的指紋,通過(guò)解鎖時(shí)識(shí)別人的指紋,從而可以達(dá)到一對(duì)一匹配解鎖的目的,大大提高了安全性。此設(shè)計(jì)是已STC89C52單片機(jī)芯片、LCD12864液晶做顯示模塊、外加指紋模塊、矩陣鍵盤(pán)按鍵模塊、蜂鳴器聲光報(bào)警模塊、記憶模塊和電源模塊構(gòu)成。關(guān)鍵字:?jiǎn)纹瑱C(jī)指紋密碼鎖引言1.1研究背景隨著社會(huì)的進(jìn)步,技術(shù)的迭代速度飛快,對(duì)于單片機(jī)來(lái)說(shuō),同樣如此,它的使用領(lǐng)域已經(jīng)十分的普遍了,它一直在科技領(lǐng)域有著基石逸一樣的存在,對(duì)于我們社會(huì)的進(jìn)步有有著非常重要的作用。同時(shí),人們的生活水平不斷提高,對(duì)生活的質(zhì)量要求也有了較大提升;所以我們?cè)谄綍r(shí)的生活中以及在工作中,放在家里或者在公司的,更甚的在銀行的財(cái)產(chǎn)以及一些比較貴重的資料或者檔案的安全性,我們下意識(shí)的都會(huì)去選擇用加鎖的辦法來(lái)保證其安全。但是問(wèn)題就此事產(chǎn)生,如果使用我們傳統(tǒng)的機(jī)械鎖芯的鎖,那么就需要攜帶很多把的鑰匙,并且我們一旦丟失鑰匙、或者被偷走、遺忘到那個(gè)角落,那么這樣不僅再次配鑰匙,開(kāi)鎖會(huì)相當(dāng)?shù)穆闊?,并且可能被有歹心的人?fù)制冒用,這樣會(huì)造成極大的安全隱患,更有可能會(huì)造成大的財(cái)產(chǎn)上的損失。從現(xiàn)代社會(huì)的角度出發(fā),我們對(duì)安全方面給的標(biāo)準(zhǔn)就是更加的簡(jiǎn)單、更加的快捷和更加的高效。所以從這和角度出發(fā),我們發(fā)現(xiàn)生物特征識(shí)別技術(shù),它具備著不易遺忘、防偽技術(shù)優(yōu)秀、任何地方都可以用的優(yōu)點(diǎn)來(lái)先比較之前的傳統(tǒng)的方法,這樣我們可以看出后者更加的安全、方便以及保密。.在我們生活的世界來(lái)說(shuō),任何的一種物體或者說(shuō)是物質(zhì),他們之中都會(huì)有他們自己獨(dú)特的特征來(lái)表示自己的信息,表示他的存在是獨(dú)一無(wú)二,例如說(shuō)雪花,雖說(shuō)很多雪花都是六個(gè)紋路,但是世界上到現(xiàn)在為止,都還沒(méi)有發(fā)現(xiàn)兩個(gè)一模一樣的雪花。那么對(duì)于我們?nèi)祟悂?lái)說(shuō),DNA就是相當(dāng)于雪花的紋路,但是我們不可能說(shuō)開(kāi)鎖的驗(yàn)證來(lái)檢測(cè)每個(gè)人的DNA,但是我們還有一個(gè)自己獨(dú)一無(wú)二的特征,也是一種很常用的鑒別方式,就是我們?nèi)祟愖约旱闹讣y。指紋就是我們自己的手指上的紋路,指紋的成型主要是由我們?nèi)祟愒谧铋_(kāi)始還是胎兒發(fā)育時(shí)的環(huán)境所決定的。并且指紋的識(shí)別的歷史,已經(jīng)有很長(zhǎng)一段時(shí)間了,資料上,有的學(xué)家證實(shí)到:早在公元前6000年以前的時(shí)候,人類的指紋就可以作為自己的鑒別工具,當(dāng)時(shí)可能就在早時(shí)敘利亞和早時(shí)的中國(guó)開(kāi)始使用了。那么到了我們20世紀(jì)80年代的時(shí)候,社會(huì)發(fā)展迅速,并且電腦以及光學(xué)掃描這兩項(xiàng)技術(shù)的創(chuàng)新,從而充當(dāng)指紋取像的工具成為現(xiàn)實(shí),使的指紋識(shí)別技術(shù)得到大范圍的擴(kuò)展。一直到現(xiàn)在,隨著取像的科技更加飛速的發(fā)展,生物的指紋識(shí)別技術(shù)可以說(shuō)是逐漸的走向了完美,更加可靠的算法為指紋識(shí)別的技術(shù)提供了更加宏偉的發(fā)展。從當(dāng)前來(lái)看,世界內(nèi)都建立了專門的鑒定指的紋機(jī)構(gòu),還有記錄罪犯指紋的數(shù)據(jù)庫(kù),或者一些其他人的指紋數(shù)據(jù)庫(kù),其實(shí)指紋的鑒定早就被官方所采用,指紋鑒定成為了司法部門或者其他方面的一種識(shí)別人的手段。根據(jù)資料顯示,有人曾經(jīng)統(tǒng)計(jì)過(guò),在我們生活的50多億的人中,發(fā)現(xiàn)由19名生來(lái)就沒(méi)長(zhǎng)指紋,但是,這這是很小的特殊情況,除開(kāi)這些,我們之中沒(méi)有一個(gè)人會(huì)與其他人有著相同的指紋,所以指紋的識(shí)別,成為了警方破案抓捕犯人的一個(gè)重要的證據(jù)。還有的人把指紋稱做為我們的“人體的立體印章”,對(duì)于這個(gè)稱號(hào),可是想到的貼切。對(duì)于我們?nèi)祟悂?lái)說(shuō),一直都是具有獨(dú)一味二的自我特征特點(diǎn),所以很多人就把方向邁向了生物的識(shí)別技術(shù),期望以此來(lái)應(yīng)對(duì)現(xiàn)在的安全問(wèn)題的挑戰(zhàn)。最開(kāi)始的,我們?nèi)绻f(shuō)要想把人體特征做用于身份上的辨別,那么這個(gè)識(shí)別點(diǎn)肯定是要具有唯一特征以及穩(wěn)定特征。從經(jīng)驗(yàn)以及數(shù)據(jù)實(shí)驗(yàn)表明,人類的面孔、眼睛的視網(wǎng)膜、眼睛的虹膜,手的掌紋、手指的指紋、我們自己的發(fā)音、以及我們自己的骨架等都是具有著唯一性特征和穩(wěn)定性特征,每個(gè)人的這些特征都會(huì)與其他人的特征不同、并且終生都是不會(huì)改變的,所以我們就以此來(lái)識(shí)別出每個(gè)人的信息。發(fā)展到現(xiàn)在我們建立了發(fā)音識(shí)別的技術(shù)、指紋識(shí)別的技術(shù)、面部識(shí)別的技術(shù)等生物識(shí)別的技術(shù),并且現(xiàn)在我們的很多科技都是已經(jīng)成熟并且應(yīng)用到生活中了,這其中的指紋的識(shí)別技術(shù)在生物識(shí)別中的一大熱點(diǎn)。指紋識(shí)別技術(shù)的發(fā)展依靠了現(xiàn)代電子產(chǎn)業(yè)以及豐富有效的算法。雖然說(shuō)指紋算是我們?nèi)祟惼つw的一個(gè)不算出眾的部分,但是以此來(lái)用于識(shí)別的數(shù)據(jù)量確實(shí)非常的大,對(duì)于所采取的數(shù)據(jù)來(lái)進(jìn)行比較,這肯定不是相對(duì)簡(jiǎn)單的相等以及不想等的問(wèn)題了,現(xiàn)代電子的集成制造技術(shù)這使得我們現(xiàn)在可以吃創(chuàng)造出相當(dāng)較小的指紋圖像的讀取設(shè)備,那么在計(jì)算機(jī)上的運(yùn)算速度提供了在微機(jī)以及單片機(jī)上可以做到兩個(gè)指紋的比較運(yùn)算。并且,對(duì)于算法來(lái)說(shuō),它的可靠性以及算法的速度,性能也不斷提高,對(duì)此可以說(shuō)是,指紋的識(shí)別技術(shù)在現(xiàn)在來(lái)說(shuō)已經(jīng)非常的實(shí)用了。1.2研究意義我此次的設(shè)計(jì)是采用的便是上面說(shuō)到的指紋識(shí)別技術(shù)。指紋識(shí)別技術(shù)必定將成為未來(lái)人類生理上的特征身份信息識(shí)別技術(shù)的重要方向之一,根據(jù)資料來(lái)說(shuō),到現(xiàn)在為止了世界上找不到指紋相同的兩個(gè)人,哪怕對(duì)于雙胞胎來(lái)說(shuō)的他們的指紋也是不相同的。指紋識(shí)別技術(shù)打開(kāi)了個(gè)人身份信息識(shí)別的新大門,在我們將來(lái)的生活很多場(chǎng)合都會(huì)用到指紋以及相對(duì)應(yīng)的指紋識(shí)別技術(shù),它使得我們的生活更加的方便、更加的安全。現(xiàn)在的生活中,已單片機(jī)為控制中心的技術(shù)發(fā)展的已經(jīng)非常成熟了,因?yàn)閱纹瑱C(jī)的可靠性和控制性非常優(yōu)秀,一些我們常用的電子產(chǎn)品其實(shí)都是單片機(jī)所控制的,像電熱水壺,一些遙控器,電子鐘表等等它們這些都是由單片機(jī)所操控的。我們?cè)诖髮W(xué)中學(xué)到的單片機(jī)的知識(shí)是概念性的,所以我們肯定是要每一次的實(shí)踐來(lái)把我們的知識(shí)結(jié)合起來(lái),整理思路,總結(jié)吸收,最終的是我們需要我們所學(xué)到的知識(shí)體現(xiàn)在生活當(dāng)中去,所以我設(shè)計(jì)的指紋識(shí)別技術(shù)為難點(diǎn),外加單片機(jī)為核心,其他模塊為強(qiáng)化知識(shí)體系。設(shè)計(jì)的效果,以及成品期望可以達(dá)到我最開(kāi)始的需求面。1.3研究?jī)?nèi)容此設(shè)計(jì)是以STC89C52單片機(jī)芯片、LCD12864液晶做顯示模塊、外加指紋模塊、矩陣鍵盤(pán)按鍵模塊、蜂鳴器聲光報(bào)警模塊、記憶模塊和電源模塊構(gòu)成。LCD12864液晶顯示屏來(lái)進(jìn)行成功與失敗提示,顯示密碼的輸出進(jìn)度,以及每個(gè)模式的菜單顯示,STC型號(hào)單片機(jī)也是具有掉電設(shè)置參數(shù)保存功能的。指紋模塊包括了指紋的刪除,錄入,以及識(shí)別。并且可通過(guò)矩陣鍵盤(pán)來(lái)手動(dòng)按鍵輸入密碼來(lái)進(jìn)行開(kāi)鎖。由蜂鳴器和發(fā)光二極管組成聲光提醒,手動(dòng)輸入密碼錯(cuò)誤或者指紋識(shí)別失敗,蜂鳴器發(fā)生聲光報(bào)警。記憶模塊來(lái)行數(shù)據(jù)的儲(chǔ)存,可以實(shí)現(xiàn)密碼的斷電保護(hù),可以讀取到上次設(shè)置的密碼。開(kāi)發(fā)環(huán)境2.1keil4概述KeilC51的軟件是用來(lái)編寫(xiě)程序的邏輯代碼,它的來(lái)源是美國(guó)的一家公司發(fā)布的51系列并且可以執(zhí)行c51的軟件開(kāi)發(fā)的工具,對(duì)于匯編語(yǔ)言來(lái)說(shuō),因?yàn)槲覀円彩菍W(xué)習(xí)過(guò)匯編語(yǔ)言,那么C語(yǔ)言它在結(jié)構(gòu)性上、功能上、可讀以及維護(hù)性上相對(duì)與匯編來(lái)說(shuō)有相當(dāng)大的改進(jìn)。那么Keil中提供了包括C編譯、鏈接、管理、以及仿真的調(diào)試一切完備工具,這些是一個(gè)集成的開(kāi)發(fā)環(huán)境將這些結(jié)合起來(lái)的。2.2ad概述Ad軟件是仿真元器件原理圖,并且仿真pcb的一個(gè)軟件,它可以模擬設(shè)計(jì)出來(lái)你的實(shí)物原理圖,來(lái)總體的規(guī)劃你的設(shè)計(jì)思路來(lái)達(dá)到你的目的,在這其中你可以自己來(lái)規(guī)定自己的設(shè)計(jì)方案,最終我們可以再次通過(guò)我們的原理圖來(lái)進(jìn)行pcb圖的設(shè)計(jì),這其中是由自己來(lái)規(guī)劃元器件放置的合理性,達(dá)到接近完美的放置效果,從而在實(shí)物制造焊接時(shí),更加的簡(jiǎn)單,更加的輕松。2.3keil與ad配合Keil編寫(xiě)的程序代碼,ad進(jìn)行器件的設(shè)計(jì),設(shè)計(jì)成功以及檢查無(wú)誤之后,我們就可以使用轉(zhuǎn)移機(jī)來(lái)進(jìn)行轉(zhuǎn)印設(shè)計(jì)圖紙,這樣我們就可以進(jìn)行實(shí)物的制作,在實(shí)物制造完成之后就可以把keil中我們編譯成功之后生成的“.hex”文件,燒錄到芯片中,這樣就可以進(jìn)行測(cè)試代碼邏輯和硬件設(shè)計(jì)的方案是否合理了。2.4燒寫(xiě)單片機(jī)程序軟件燒些也叫燒錄,就是把你寫(xiě)好代碼或者專程的機(jī)器語(yǔ)言通過(guò)一定的方式下載到單片機(jī)中。這個(gè)就稱作為燒寫(xiě)?,F(xiàn)在來(lái)說(shuō)燒寫(xiě)軟件很多,方式也很多,主要看你的單片機(jī)型號(hào)。不過(guò)現(xiàn)在的燒寫(xiě)軟件都是可以支持多種單片機(jī)燒寫(xiě)的。想要程序的前提是有程序,這的程序就是keil軟件所編譯形成的“.hex”,然后就可以使用燒寫(xiě)軟件進(jìn)行燒寫(xiě)了,燒寫(xiě)過(guò)程中一定要注意波特率,每個(gè)單品機(jī)都有自己的波特率,如果不一樣,是無(wú)法進(jìn)行燒寫(xiě)的。如果想要進(jìn)行usb接口來(lái)進(jìn)行燒寫(xiě)的話,還需要usb的驅(qū)動(dòng)軟件,否則是無(wú)法進(jìn)行usb連接燒寫(xiě)程序的。在燒錄的時(shí)候,我們需要先點(diǎn)擊燒錄,再開(kāi)啟單片機(jī)最小程序燒錄,或者單片機(jī)學(xué)習(xí)機(jī)來(lái)進(jìn)行燒錄。硬件設(shè)計(jì)硬件設(shè)計(jì)主要是以單片機(jī)為核心,其他模塊連接單片機(jī),以單片機(jī)為驅(qū)動(dòng)核心進(jìn)行整合的工作,其他的模塊在單片機(jī)的io引腳的驅(qū)動(dòng)中,進(jìn)行邏輯判斷從而能夠達(dá)到我們?cè)O(shè)計(jì)的效果,硬件設(shè)計(jì)的整體框架圖下圖所示:圖3圖3程序框架圖3.1單片機(jī)單片機(jī)我所用的是STC89C52,雖然說(shuō)STC系列的單片機(jī)已經(jīng)很多年了,現(xiàn)在多數(shù)是STM系列的,但是STC經(jīng)久不衰,我們所學(xué)習(xí)的就是STC系列的51單片機(jī),并且我設(shè)計(jì)的所需STC89C52全都可以滿足。C52單片機(jī)充當(dāng)系統(tǒng)核心,擁有給予電源,還可以邏輯控制程序中的各自模塊發(fā)揮自己的作用。STC89C52的上手是非常容易的,但是使用的時(shí)候也會(huì)有一些小的細(xì)節(jié),比如說(shuō)是STC89C52使用過(guò)的時(shí)候,我們需要注意它的P0口,這8個(gè)引腳是需要連接上拉電阻才可以使用的,不然的話就會(huì)造成該單片機(jī)的電壓上拉不夠,這樣的話系統(tǒng)就運(yùn)行不了,那么P0口所接的模塊,是沒(méi)辦法實(shí)現(xiàn)工作的。圖3.1STC89C52引腳圖3.2指紋模塊指紋模塊選擇的是FM系列的指紋,雖然說(shuō)是AS608指紋模塊是比較經(jīng)典的,但是我選擇的這個(gè)FM-40指紋模塊這個(gè)系列之中自帶EEPROM,指紋的存儲(chǔ)可以說(shuō)是都會(huì)放在里面,存儲(chǔ)量比較大,而且指紋模塊的作用以及二次開(kāi)發(fā)都是差不多的,所以我選擇了FM-40這個(gè)指紋模塊。FM-40光學(xué)指紋模塊是帶有自己的數(shù)據(jù)庫(kù)的,所以說(shuō)我們?cè)谑褂玫耐局校覀兯鎯?chǔ)的指紋是存儲(chǔ)在指紋模塊的存儲(chǔ)空間中,這樣的話我們就可以不用去做指紋的存儲(chǔ),因?yàn)橐粋€(gè)指紋的所占字節(jié)也不是特別的小,如果說(shuō)我們?nèi)ビ盟x的記憶模塊來(lái)存儲(chǔ)指紋的話,那么是存儲(chǔ)不了指紋的,但是FM-40中攜帶了存儲(chǔ)庫(kù),我們放心的使用記憶模塊去存儲(chǔ)其他的東西。FM-40指紋模塊的核心是性能比較高的高速DSP處理器所構(gòu)成,并且它可以在沒(méi)有上位機(jī)的管理參與下,就會(huì)有指紋對(duì)比以及指紋的錄入和搜索儲(chǔ)存功能的非常智能的一個(gè)模塊。并且和其他指紋模塊相比來(lái)所的話FM-40的功耗在工作時(shí)會(huì)更加的小,我們實(shí)際操縱起來(lái)會(huì)更加的便捷。FM-40指紋模塊之中給我們提供了很多指令,這就讓我們不需要去操作指針,操作高低電平,可以直接使用它的指令來(lái)操作行為在現(xiàn)在的生活之中FM-40指紋模塊它已經(jīng)應(yīng)用到了比較多的領(lǐng)域。比如說(shuō)銀行,公司等方面。FM-40指紋模塊在完成上電初始化之后,它自己就會(huì)主動(dòng)的發(fā)送一個(gè)握手的標(biāo)識(shí),來(lái)告訴上位機(jī)的模塊它已經(jīng)準(zhǔn)備完畢了,已經(jīng)可以隨時(shí)的接受指令了。指紋模塊的工作原理就是,在我們的手指上會(huì)有凹凸不平的紋路,我們就叫做指紋,每一個(gè)指紋就相當(dāng)于一個(gè)不同的圖案。這些不用的圖案專業(yè)的名稱把它們叫做“特征”。并且我們的手指的特征都是各不相同的,也可以說(shuō)時(shí)我們的指紋是世界上唯一的。而依賴這種唯一特性,每個(gè)人就可以通過(guò)他本身的指紋對(duì)應(yīng)他自己的身份信息。這樣的話,就建立一對(duì)一的關(guān)系,就可以去比較他現(xiàn)場(chǎng)的指紋于事先保留的指紋來(lái)就行比較,從而達(dá)到識(shí)別他的真實(shí)身份。圖3.2指紋模塊原理圖圖3.2指紋模塊原理圖3.3記憶??煳覀?cè)陂_(kāi)發(fā)中,是否這樣想過(guò),程序在斷電之后,再次啟動(dòng)之后,所有的數(shù)據(jù)都變成在最開(kāi)始的狀態(tài),我們是否可以存儲(chǔ)之前的數(shù)據(jù)呢?記憶模塊就是來(lái)實(shí)現(xiàn)這種功能的,我在此次設(shè)計(jì)中,使用記憶模塊來(lái)存儲(chǔ)每次我們修改的手動(dòng)密碼。這樣的話,我們每次在修改密碼之后,不管單片機(jī)是否重啟斷電,我們修改的密碼都會(huì)記錄下來(lái)。記憶模塊使用的是AT24C02,這是一個(gè)2k位的,有著256個(gè)字節(jié)的存儲(chǔ)器,它的里面有一個(gè)8個(gè)字節(jié)的頁(yè)寫(xiě)緩沖器。AT24C02串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘,這是一個(gè)輸入管腳。圖3.3AT24c02原理圖圖3.3AT24c02原理圖3.4顯示模塊顯示器是人類和設(shè)計(jì)的物體東西之間的重要溝通界面,這些年來(lái)跟著單片機(jī)以及電子科技的迅猛發(fā)展下,液晶屏的顯示方面的技術(shù)也是在我們的現(xiàn)實(shí)生活中得到了比較廣泛的應(yīng)用。并且其液晶顯示的模塊是以其體積較小,微功耗,并且有相當(dāng)多的內(nèi)容顯示,也以模塊化以及接口電路簡(jiǎn)單等優(yōu)點(diǎn)而得以追捧,并且在科研上面,產(chǎn)品設(shè)計(jì)上面以及生產(chǎn)上面等多種領(lǐng)域發(fā)揮著越來(lái)越大的作用。自從我們學(xué)習(xí)以來(lái),顯示模塊就有很多種的選擇,最經(jīng)典的顯示模塊是LCD系列的LCD1602,我們最開(kāi)始接觸的LCD顯示就是它,雖說(shuō)LCD1602比較經(jīng)典,但是也有它達(dá)不到的地方。LCD1602的顯示是16x02也就是說(shuō)一共可以顯示32個(gè)字符。并且LCD1602液晶的顯示原理是利用了液晶的物理特性,是通過(guò)了對(duì)其顯示區(qū)域進(jìn)行電壓的控制,也就是說(shuō)有電就可以顯示出圖形。LCD1602于LCD12864之間的區(qū)別其中最大的就是分辨率的差別,LCD1602它是以每個(gè)字的5*8的點(diǎn)陣來(lái)進(jìn)行顯示,字符區(qū)域16*2個(gè)字點(diǎn)陣組成,所以說(shuō)這是一個(gè)相當(dāng)大的限制;而LCD12864是128*64分辨率的點(diǎn)陣。從顯示這個(gè)角度來(lái)說(shuō),LCD1602它是有大小限制的,而對(duì)于LCD12864來(lái)說(shuō),大小是可以自己在有效的分辨率中自由的編寫(xiě)的。成本來(lái)說(shuō),LCD1602是要比LCD12864造價(jià)要低的。但是由于LCD1602顯示區(qū)域有限,因?yàn)樵O(shè)計(jì)所需要顯示的菜單的顯示單元字是比較多的,而這就導(dǎo)致LCD1602是沒(méi)辦法實(shí)現(xiàn)的,所以本次設(shè)計(jì)的顯示模塊采用LCD12864。市場(chǎng)上的LCD12864是分為兩種的,一種是自己自帶字庫(kù)的,如果是這樣的話,我們不需要去自己封裝顯示子所需的十六進(jìn)制字符,還有一種是不帶字庫(kù)的,如果我們要用到那個(gè)字是要自己去封裝的,如果要自己去寫(xiě)入字的話,這時(shí)候我們就需要借助一個(gè)工具了,字模工具來(lái)自動(dòng)的生成我們自己字的十六進(jìn)制數(shù)組,我們要把這個(gè)十六進(jìn)制寫(xiě)在所需的液晶顯示模塊里面,然后使用的時(shí)候讀出來(lái)顯示,這樣我們就可以使用自己封裝的字。但是,這只是一個(gè)字,并不說(shuō)把所有的漢字都封裝進(jìn)去了,我們需要一個(gè)一個(gè)去封裝。LCD12864有的攜帶字庫(kù)的原理是因?yàn)檫@些顯示模塊自己本身是有存儲(chǔ)空間的,里面放的是提前寫(xiě)好的每個(gè)字的數(shù)組。這樣我們使用的時(shí)候直接用就行了。3.5繼電器與電磁鎖電磁鎖它的設(shè)計(jì)方式其實(shí)是和電磁鐵的一樣,它們都是利用了電生磁的原理,當(dāng)有電流經(jīng)過(guò)硅鋼片的時(shí)候,電磁鎖就會(huì)有很大的吸力會(huì)緊緊的吸住鐵板或者吸住鐵柱從而達(dá)到鎖門或者開(kāi)門的效果。設(shè)計(jì)中采取了微型電磁鎖來(lái)判斷此程序執(zhí)行的邏輯正常與否。因?yàn)槔^電器的種類也有很多,我所選取的是繼電器中的電磁式繼電器,對(duì)于電磁式繼電器來(lái)說(shuō),他價(jià)格便宜,維護(hù)起來(lái)比較方便,并且它結(jié)構(gòu)比較簡(jiǎn)短,動(dòng)作敏捷,變換準(zhǔn)確,相當(dāng)可靠,依靠這些有點(diǎn),電磁式繼電器被廣泛地應(yīng)用到了低壓控制地系統(tǒng)中。繼電器地實(shí)現(xiàn)就是用其中地一個(gè)回路去控制另外的一個(gè)回路的斷開(kāi)還是連接,在這個(gè)控制地過(guò)程中,這兩個(gè)回路它們都會(huì)是互相隔離狀態(tài)地,繼電器地原理就是利用了電磁地效應(yīng)從而控制了觸點(diǎn)以達(dá)到電路地通斷目標(biāo),這樣的話如果有鐵芯地線圈通電之后,這個(gè)線圈地電流就會(huì)產(chǎn)生一個(gè)磁場(chǎng),那么這個(gè)磁場(chǎng)就會(huì)產(chǎn)生吸附銜鐵的動(dòng)作來(lái)控制觸點(diǎn)通斷,整個(gè)流程就是這樣的一個(gè)過(guò)程。關(guān)于鎖的方面,系統(tǒng)信號(hào)最終會(huì)控制繼電器,從而傳輸控制字電磁鎖的信號(hào),來(lái)達(dá)到電磁鎖的開(kāi)啟和關(guān)閉。圖3.5繼電器原理圖圖3.5繼電器原理圖3.6矩陣鍵盤(pán)模塊矩陣鍵盤(pán)是由4*4一共十六個(gè)獨(dú)立鍵盤(pán)組成,但是它們是互相響應(yīng)的,每個(gè)按鍵是位于每個(gè)行與列的交叉上的。這樣的矩陣按鍵只需要8個(gè)io就可以了。這樣來(lái)看,在按鍵多了的情況下,矩陣鍵盤(pán)是要比獨(dú)立的按鈕非常的節(jié)省io引腳的,在程序判斷每個(gè)按鍵的時(shí)候,8個(gè)io是4個(gè)相連的引腳為低電平或者高電平,另外的4個(gè)為相反的電平。判斷的時(shí)候,檢測(cè)行中時(shí)候有電平變化,如果沒(méi)有,則無(wú)按鍵按下,如果變化了,則說(shuō)明有按鍵按下,然后接著判斷底下的四個(gè)電平那個(gè)發(fā)生了變化,則可證明每個(gè)按鍵的獨(dú)立性。圖3.6矩陣鍵盤(pán)原理圖圖3.6矩陣鍵盤(pán)原理圖軟件設(shè)計(jì)4.1程序設(shè)計(jì)流程如果在最開(kāi)始的構(gòu)思中,能夠有一個(gè)優(yōu)秀的設(shè)計(jì)方案,那么就可以大大地減少軟件方面設(shè)計(jì)的工作量,從而提高軟件方面的擴(kuò)展性能,可讀性能以及執(zhí)行性能。我們需求根據(jù)每個(gè)系統(tǒng)的功能要求,來(lái)進(jìn)行維度地劃分以及模塊地劃分。我們要知道每個(gè)模塊之間它們的數(shù)據(jù)流是怎么傳遞地,盡量要做到數(shù)據(jù)傳遞地少,從而達(dá)到增強(qiáng)每個(gè)模塊自己的獨(dú)立性能,這就方便于我們之后地軟件編寫(xiě)和調(diào)試。這是很重要地,其次我們盡量確定一個(gè)從開(kāi)始到結(jié)束的軟件開(kāi)發(fā)的環(huán)境,選擇合適的設(shè)計(jì)語(yǔ)言,這方面要保證能夠完成模塊功能設(shè)計(jì)邏輯代碼,并且可以編譯調(diào)試通過(guò)。按照開(kāi)發(fā)式軟件設(shè)計(jì)結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來(lái),即成一個(gè)較完善的系統(tǒng)。所以根據(jù)這種設(shè)計(jì)方式步驟,我想如果程序都寫(xiě)著在一個(gè)c文件中就顯得太臃腫了,所以我把顯示模塊的基本函數(shù)都獨(dú)立出來(lái),主程序如果需要直接調(diào)用函數(shù)就可以了,這樣主程序邏輯就看起來(lái)不太亂,指紋模塊以及記憶模塊的邏輯也獨(dú)立寫(xiě)出來(lái),和顯示模塊一樣,這樣的話,主程序里面就是邏輯代碼了。軟件開(kāi)發(fā)中的細(xì)節(jié)都是有規(guī)范的,比如說(shuō)常數(shù)的宏定義,常用參數(shù)類型的宏定義,在同一個(gè)文件中,如果一個(gè)方法要調(diào)用另一個(gè)方法,那么被調(diào)用的方法,要在這方法的上面實(shí)現(xiàn),這些是一些軟件編寫(xiě)方面的規(guī)定,代碼的規(guī)定都是規(guī)范,我們寫(xiě)代碼的時(shí)候應(yīng)當(dāng)盡量的去遵守,這樣我們的代碼才能更加的具有可讀性,以及更加方便的去修改或者去迭代。4.2程序設(shè)計(jì)邏輯顯示模塊邏輯:頭文件也就是以“.h”結(jié)尾的文件,這其中有四個(gè)函數(shù)可進(jìn)行調(diào)用,c文件寫(xiě)具體實(shí)現(xiàn)邏輯,其中四個(gè)方法為:寫(xiě)一個(gè)字節(jié)的指令以及讀一個(gè)字節(jié)的數(shù)據(jù)指令,LCD初始化以及清除文本。記憶模塊包含的三個(gè)方法為:記憶模塊的初始化,記憶模塊的讀取數(shù)據(jù)以及記憶模塊的寫(xiě)入數(shù)據(jù)。指紋模塊包含方法:通訊握手,錄入指紋圖像,生成指紋的標(biāo)記并存儲(chǔ),查找指紋并且返回指紋的ID號(hào),自動(dòng)注冊(cè)模板返回存儲(chǔ)ID,刪除指紋,主動(dòng)校驗(yàn)指紋。主程序邏輯方法包括密碼檢測(cè),單片機(jī)串口初始化,按鍵掃描,指紋開(kāi)鎖,指紋存儲(chǔ),刪除指紋,修改密碼,開(kāi)鎖,密碼開(kāi)鎖,開(kāi)機(jī)界面,main程序入口。主程序是整個(gè)程序的入口,程序的運(yùn)行是要要i運(yùn)行main函數(shù),所以要注意的話,所有的邏輯都是要在main函數(shù)之中交匯的,我們要分清楚main函數(shù)與其他函數(shù)的區(qū)別,但是我們也不要所有的邏輯都要寫(xiě)在main函數(shù)里面,這樣的話main函數(shù)中的代碼就太多了,我們要做到,函數(shù)盡量制作自己的事情,如果遇到別的事情,而這個(gè)事件是可以寫(xiě)成獨(dú)立的函數(shù)的,那么在這個(gè)函數(shù)中,我們就只需要調(diào)用這個(gè)函數(shù)就行,不需要把邏輯寫(xiě)在一起,這樣增加了代碼的可讀性,并且這樣我們的代碼是可復(fù)用的,因?yàn)椴⒉皇钦f(shuō)只有這一個(gè)函數(shù)在調(diào)用它,如果不封裝的話,在遇到另外一個(gè)方法需要調(diào)用它的話,我們又要把邏輯重新寫(xiě)一遍,雖然邏輯可能變化不大,但是我們代碼的整體性就會(huì)顯得特別多,這樣的代碼肯定是不行的,所以我們一定是要封裝起來(lái)的,這樣代碼看起來(lái)才會(huì)更加的美觀。而且代碼所占的字符也會(huì)比較大的減少。系統(tǒng)制作與調(diào)試5.1系統(tǒng)制作各個(gè)模塊需要分布好位置,因?yàn)槿f(wàn)能板方便連接中進(jìn)行替換以及在錯(cuò)誤的連接之中會(huì)有黑大的容錯(cuò)率,所以我選擇萬(wàn)能板來(lái)進(jìn)行電路的底板,首先我們單片機(jī)的位置,接著在單片機(jī)的基礎(chǔ)上,進(jìn)行各個(gè)模塊的配置,以及設(shè)計(jì)上的美觀程度,矩陣鍵盤(pán)盡量在顯示模塊的下方,這樣來(lái)一個(gè)個(gè)確定好位置,最后進(jìn)行電路的連接。因?yàn)槲疫x擇的是萬(wàn)能板子,所以需要手動(dòng)來(lái)進(jìn)行電路的連接,覆銅板的電路是軟件設(shè)計(jì)好的,然后通過(guò)轉(zhuǎn)印紙覆蓋,最后腐蝕得到的。覆銅板的結(jié)構(gòu)上會(huì)看上去更加的清爽,但是容錯(cuò)率會(huì)低一點(diǎn),電路我們連接好之后,就可以往單片機(jī)中燒入程序,來(lái)檢查我們的程序在實(shí)物中的正確性了。燒入程序的軟件可以自己選擇。5.2系統(tǒng)調(diào)試調(diào)試過(guò)程可總結(jié)成三部分,一是檢查硬件的焊接是否正常,是否存在虛焊,漏焊的點(diǎn),這點(diǎn)是很重要的,因?yàn)槲覀儾粰z查仔細(xì)的話,實(shí)物出現(xiàn)問(wèn)題,一般都是兩種可能,我們所寫(xiě)的代碼邏輯不對(duì),還有就是實(shí)物焊接不對(duì),在我們下意識(shí)以為自己檢查可以沒(méi)問(wèn)題的情況下,我們就回去檢查代碼,但是檢查代碼是一個(gè)很負(fù)責(zé)的事情,因?yàn)榇a我們?cè)谶壿嫏z查的情況下,很難把所有的突發(fā)情況都考慮到一起,這會(huì)消耗很長(zhǎng)的時(shí)間,所以我們?cè)跈z查的時(shí)候要用萬(wàn)用表來(lái)檢查是否每個(gè)元器件是否是導(dǎo)通狀態(tài),是否每個(gè)都是正常的,二是在保證焊接無(wú)誤的情況下,燒錄程序代碼,進(jìn)行檢測(cè)調(diào)試,三是如果出現(xiàn)bug,則要在軟件開(kāi)發(fā)工具上進(jìn)行代碼的修改,出現(xiàn)bug不要先去急著修改代碼邏輯,我們要先分析是否是因?yàn)閯e的原因,我們要多試幾次,是否每次都是出現(xiàn)這種情況,在確定是代碼問(wèn)題的情況下,再去修改代碼,代碼修改完成之后,我們需要再次進(jìn)行第二步,直到一切都正常執(zhí)行,則調(diào)試完畢。圖5.2.2圖5.2.2管理員界面圖5.2.1程序界面圖5.2.4圖5.2.4指紋開(kāi)鎖圖5.2.3選擇密碼開(kāi)鎖結(jié)語(yǔ)程序測(cè)試調(diào)試完畢,實(shí)現(xiàn)了指紋開(kāi)鎖以及密碼開(kāi)鎖的主要功能,然后進(jìn)入管理員模式的操作,修改開(kāi)鎖密碼,錄入指紋,刪除指紋,一鍵開(kāi)鎖都已實(shí)現(xiàn),蜂鳴器以及二極管的警報(bào)操作也已經(jīng)實(shí)現(xiàn)。最后的記憶模塊來(lái)存儲(chǔ)重新設(shè)置的密碼,驗(yàn)證可以實(shí)現(xiàn)。經(jīng)過(guò)這些一系列的測(cè)試,最終的效果是可以在現(xiàn)實(shí)生活中使用的。如果后期在

溫馨提示

  • 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)論