智能指紋密碼儲物柜的設(shè)計_第1頁
智能指紋密碼儲物柜的設(shè)計_第2頁
智能指紋密碼儲物柜的設(shè)計_第3頁
智能指紋密碼儲物柜的設(shè)計_第4頁
智能指紋密碼儲物柜的設(shè)計_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科論文本科生畢業(yè)設(shè)計(論文)使用授權(quán)聲明沈陽城市學院有權(quán)保留并向國家有關(guān)部門或機構(gòu)送交畢業(yè)設(shè)計(論文)的復印件和磁盤,允許畢業(yè)設(shè)計(論文)被查閱和借閱。本人授權(quán)沈陽城市學院可以將本科畢業(yè)設(shè)計(論文)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或其他復印手段保存、匯編畢業(yè)設(shè)計(論文)。設(shè)計(論文)作者簽名:日期:指導教師簽名:日期:目錄TOC\o"1-2"\h\u7733摘要 II4639Abstract III14030引言 1246151總體方案設(shè)計 350871.1設(shè)計要求 3183371.2方案比較與論證 3258672硬件介紹和設(shè)計 5129102.1單片機及最小系統(tǒng) 5108382.2液晶顯示模塊 6285672.3按鍵控制部分電路 7290112.4指紋模塊 8118612.5繼電器模塊 9196143系統(tǒng)軟件設(shè)計 10240753.1系統(tǒng)程序工作分析 10246663.2主程序流程圖 108543.3LCD顯示模塊程序設(shè)計流程 12295923.4Keil編程 14210924硬件調(diào)試 16137574.1電路的焊接 1684894.2程序的燒寫 1683014.3小燈的調(diào)試 1761994.4液晶的調(diào)試 18249684.5指紋模塊、按鍵的調(diào)試 1832568結(jié)論 1922063參考文獻 2010848附錄1原理圖 229979附錄2PCB圖 2330804附錄3源程序 2422206致謝 33摘要世界在不斷發(fā)展,人們的追求也在不斷提高。傳統(tǒng)的家庭防盜鎖不再能滿足人們的需求,因為其的構(gòu)造與制作比較簡單,安全性能不能得到很好的保障。現(xiàn)在的電子產(chǎn)品已經(jīng)更趨向于安全化、智能化、小型化。因此在這個行業(yè)內(nèi)只要談及到控制芯片,那么首先想到的就是單片機。傳統(tǒng)的機械式系統(tǒng)已經(jīng)不能符合當今時下的發(fā)展需求,已經(jīng)逐漸被安全性能強、體積小的電子式系統(tǒng)所取代。本系統(tǒng)所采用的控制器是單片機,型號是STC89C52單片機,采用的指紋存儲系統(tǒng)是通過自購實現(xiàn)的。比對流程和結(jié)果則通過液晶顯示出來,開鎖的動作需要用到直流繼電器與發(fā)光二極管來模擬。本系統(tǒng)摒棄了傳統(tǒng)系統(tǒng)體積大、性價比低、傳輸速度慢等缺點,非常適合家庭或者公司使用。結(jié)果表明,本設(shè)計制造由于結(jié)構(gòu)簡單,所以成本較低,性能也十分優(yōu)良。通過軟件與硬件方面的調(diào)試并進行仿真實驗,在技術(shù)上完全可行。預期功能可以全部實現(xiàn),本設(shè)計很好地實現(xiàn)了指紋密碼鎖在生活中的應用,也可以做出很好的推廣。關(guān)鍵詞:指紋;芯片;單片機AbstractWiththedevelopmentofscienceandtechnology,theprogressofsociety,peoplearemoreandmorepursuingthequalityoflife.Thetraditionalhomesecuritylockcannolongermeettheneedsofpeople,becauseitsstructureandproductionisrelativelysimple,thesecurityperformancecannotbewellguaranteed.Nowtheelectricproductsaremoresecurity,intelligenceandminiaturization.Therefore,aslongaswetalkaboutthecontrolchipinthisindustry,thefirstthingwethinkaboutisthesinglechipcomputer.Thetraditionalmechanicalsystemcannotmeetthecurrentdevelopmentneeds,hasgraduallybeenreplacedbytheelectronicsystemwithstrongsafetyperformanceandsmallvolume.Thecontrollerusedinthissystemissinglechipmicrocomputer,themodelisSTC89C52singlechipmicrocomputer,andthefingerprintstoragesystemisrealizedbyselfpurchase.ThecomparisonprocessandresultsaredisplayedbyLCD,andtheunlockingactionneedstobesimulatedbyDCrelayandled.Thissystemabandonstheshortcomingsoftraditionalsystem,suchaslargesize,lowcostperformance,slowtransmissionspeed,andsoon.Itisverysuitableforfamiliesorcompanies.Theexperimentalresultsshowthatthedesignandmanufactureissimpleinstructure,lowincostandexcellentinperformance.Throughthedebuggingofsoftwareandhardwareandthesimulationexperiment,itisfeasibleintechnology.Theexpectedfunctioncanberealized.Thisdesignwellrealizestheapplicationoffingerprintpasswordlockinlife,makingfingerprintidentificationtechnologymoreandmoremature.Keywords:Fingerprintidentification;Singlechipmicrocomputer;Acombinationlock引言科技是在不斷的進步的,欺騙人的手段同樣也是在不斷進步的,所以傳統(tǒng)的防盜系統(tǒng)在現(xiàn)今社會來講已經(jīng)有一些落后了。人們都有一些固有思維,總認為密碼銀行卡等等是最具安全性的,是安防系統(tǒng)最有效的驗證身份的信物,但是仔細分析來看,這些信物驗證的不是人本身,而是該人擁有的物品。在當今社會中,持有物品的本人只要物品的有效性得到了確認,其持有者本身的身份也就得到了證實。但是,若是物品造成了丟失或出錯就會相應導致物品主人的身份無法認證,并且在當今時代各種物品都是會被偽造的,所以這種通過物品來確認人的身份的辦法是存在明顯的漏洞的。隨著網(wǎng)絡(luò)科技的飛速發(fā)展,各種各樣的密碼伴隨著人們的生活,如銀行密碼、開機密碼、社交網(wǎng)站登陸密碼等,密碼已經(jīng)逐漸成為我們身份認證的標志。但是隨著科技水平的提高,密碼的弊端逐漸顯露,容易被人遺忘和竊取,其無論是在安全性還是智能化方面都不再能滿足人們的需求。如今如門鎖、汽車、保險柜的鑰匙也同密碼一樣,面臨著被更新?lián)Q代的局面,這些傳統(tǒng)的安全防盜系統(tǒng)的安全性越來越不能得到保障。但是隨著人們安保意識的加強,安全防盜系統(tǒng)是人們生活中必不可少的,每個人都要進行個人身份和權(quán)限的確認,同時也希望確認的方式能夠快捷方便。認識到這個問題后,生物識別技術(shù)逐步走進了大眾的視野,每個人都有自己獨特的生理特征和獨特的行為,這樣人們可以把這些特點用來進行防盜。生理特征相較于密碼、鑰匙來說安全性能更高,具有不可復制性,有專家推論300年內(nèi)都不會出現(xiàn)兩個指紋完全相同的人(以全球60億人口計算),這樣一來人們就不用再費心去記各種復雜的密碼,出門也就不用攜帶眾多的鑰匙了。拿當今電子商務(wù)的安全認證來說,如果使用安全性極高的生物特征認證方式,就可以有效杜絕假冒當事人的詐騙事件了。生物特征的應用范圍很廣泛。如今日常生活中用到的如電飯煲、汽車、洗衣機等都需要微處理器來控制,這是與單片機分不開關(guān)系的,單片機具有控制性能強、可靠性高等優(yōu)點,如今作為控制器的技術(shù)已經(jīng)發(fā)展得十分迅猛。因此本設(shè)計選擇了使用單片機控制,完成指紋識別操作這一課題。在實踐中將課堂中所學的知識利用起來,充分發(fā)揮二者結(jié)合的優(yōu)勢長處。生物識別技術(shù)包含的范圍很廣泛,很多的生理特性和特點都可以用來進行識別,由于不同生物識別技術(shù)之間存在著差異,指紋識別是其中較有優(yōu)勢的一種識別方式,也可以大規(guī)模的投入市場應用,這項新技術(shù)的研發(fā)有效緩解了當今世界的安保壓力,及時接替了傳統(tǒng)安保系統(tǒng)的重擔。一方面,市場上充斥著很多低價位的取樣產(chǎn)品,他們可以快速的取樣。這樣也加快了指紋識別系統(tǒng)的發(fā)展。這項新技術(shù)已經(jīng)應用到很多的產(chǎn)品上,包括人們現(xiàn)在使用的手機,大部分都已經(jīng)安裝了指紋解鎖的功能,人們所使用的門鎖大部分也都已經(jīng)采取了指紋解鎖的功能。目前我國在這一領(lǐng)域并沒有一個強有力的品牌和廠家可以推出自己的產(chǎn)品,并且去占有一定的市場份額,雖然有一些也已在研發(fā)這樣的產(chǎn)品,但他們大多數(shù)都是通過直銷的方式為政府機關(guān)、金融企業(yè)提供產(chǎn)品,并沒有放開全國性業(yè)務(wù)。可以看出這項產(chǎn)品的技術(shù)還是沒有攻克,還需要更加努力?,F(xiàn)在指紋鎖無論是技術(shù)還是工藝方面占據(jù)優(yōu)勢的是德國與韓國。國內(nèi)的工藝水平較低,主要以組合安裝為主,如嶺南鎖系。國內(nèi)的大部分指紋鎖產(chǎn)品由于技術(shù)水平不夠只是占據(jù)了低端市場。國外的產(chǎn)品在我國占據(jù)了很多的高端市場進行銷售,由此可見國內(nèi)外品牌的利潤相差懸殊。隨著公眾對于傳統(tǒng)門鎖需要更新?lián)Q代的呼聲越來越高,國內(nèi)企業(yè)在這樣巨大的市場需求下紛紛開始研制指紋安防產(chǎn)品,但是目前的這種情況并沒有得到有效的改觀。電子鎖、單片機、指紋模塊、ADC鍵盤、液晶顯示屏、時鐘是本設(shè)計的幾個主要部分構(gòu)成,在整個系統(tǒng)當中,指紋當然是整個系統(tǒng)最重要的重中之重,在第一章中介紹如何選擇這個方案以及如何構(gòu)思。第二章介紹是怎么設(shè)計所需要的電路的。第三章介紹設(shè)計系統(tǒng)軟件。第四章介紹實物制作與調(diào)試。1總體方案設(shè)計本設(shè)計采用的核心處理器為STC89C52單片機,其是一種直流供電電壓的8位微控制器單片機,電壓為2.0V至3.8V,內(nèi)部具有大存儲量的內(nèi)存空間。其在原有基礎(chǔ)上進行了許多改進,相較于傳統(tǒng)的51單片機單位時間內(nèi)消耗功率更少。STC89C52單片機是許多嵌入式控制系統(tǒng)的理想選擇,因為其的效率和靈活度都較高,具有平滑的8位CPU和可編程閃存系統(tǒng)??傮w框圖如圖1.1圖1.1系統(tǒng)總體框架圖1.1設(shè)計要求1)開機,按下開機鍵以后,根據(jù)顯示屏的指示,我們將手指進行放入。這里需特別注意,在本系統(tǒng)中識別成功的標志是綠燈亮起。如果沒有識別成功,則綠燈不會亮起,需要進行第二次識別。2)管理員模式:正確輸入六位數(shù)的密碼方可進入到管理員模式,如果密碼不正確則不能進入管理員模式。管理員模式是幫助用戶在初始狀態(tài)下錄入指紋,以及在必要時候刪除或更改指紋。本系統(tǒng)還具備修改密碼的功能。同時,管理員模式還可以進行危急情況下的應急開鎖功能。1.2方案比較與論證方案一:控制數(shù)字電路本法的優(yōu)勢就是設(shè)計簡單,經(jīng)濟實惠。一共需要輸入十六個按鍵,但是其中有十二個按鍵是有效的密碼按鍵。當其他人輸入密碼錯誤三次以上,則系統(tǒng)會自己鎖定。同時還有備用電源,備用電源的作用就是當停電時,備用的電源可以支持系統(tǒng)正常的工作。其如圖1.2所示:圖1.2數(shù)字密碼鎖方案方案二:控制主體是單片機首先,設(shè)備的編程方式是靈活的:為了提高使用的安全性和節(jié)約用戶的成本,用戶在更換程序時,可以直接擦拭之前輸入的程序,重新寫入程序下載到設(shè)備中,這樣在編程過程中用戶就可以根據(jù)自己的需求來進行程序設(shè)計。其次可以添加多個組件的I/O端口是非常靈活的,可以實現(xiàn)其他機械鎖不能完成的功能,比如可以顯示時間和溫度,還可以添加遠程控制等功能。若是在其他機械鎖中也想實現(xiàn)這種效果,則需要增加額外的組件。準確性是至關(guān)重要的,它是保障安全性的前提,如果想要實現(xiàn)穩(wěn)固的安全保障,精度就要達到一定的要求。單片機的準確性還是合乎標準的,以其為核心的控制方案在實現(xiàn)基本功能的基礎(chǔ)上,還可以增加一些額外的功能。進行比較后發(fā)現(xiàn)單片機方案還是有很大發(fā)展空間的,不僅可以滿足基本需求還能一定程度上增加一些額外的功能,同時系統(tǒng)升級也比較便利。所以在權(quán)衡利弊后我們選擇以單片機為核心的控制方案。2硬件介紹和設(shè)計2.1單片機及最小系統(tǒng) 該系統(tǒng)中最小的模塊是單片機的最小系統(tǒng)如圖2.1所示。圖2.1單片機最小系統(tǒng)2.1.1STC89C52單片機介紹單片機就是將各個方面的集成電路進行集合,并且具有自我計算能力的集成電路。它其中有中央處理功能,有存儲功能,還有輸入和輸出功能。STC89C52單片機的特點是能耗低、簡單實用、經(jīng)濟價值高。內(nèi)部存儲空間大,并且可以隨意編程,出現(xiàn)錯誤可以進行隨意改變。2.1.2外部晶振的設(shè)計該種振蕩器在系統(tǒng)中的作用十分重要。振蕩的頻率越快,則單片機運行的速度越快;振蕩的頻率越慢,則單片機運行的速度越慢。普通的已經(jīng)可以在本設(shè)計中使用,更高級別的暫時在本次設(shè)計中還用不到。在該系統(tǒng)中本設(shè)計選擇的是電容值為30PF的振蕩器。時鐘電路如圖2.2所示。圖2.2外部晶振電路本設(shè)計所選擇的晶振頻率是可以滿足單片機進行正常使用的,所以該設(shè)計十分合理。它的振蕩周期是約為1us。2.1.3復位電路的設(shè)計在實際的操作中,設(shè)計有時候需要將電路進行復位,也就是將電路調(diào)整到一個固定的狀態(tài),簡稱為復位。單片機也有自己的復位電路,在本次設(shè)計中需要用到。一般的復位電路分為兩個部分。一個部分是充上電源以后可以進行復位,另一個部分是通過按鍵對其進行復位。(1)上電復位:在本系統(tǒng)中就是通過電容將電壓降低到低電壓,作用就是可以將系統(tǒng)和單片機進行系統(tǒng)復位。(2)按鍵復位:在本系統(tǒng)中,通過按動開關(guān)S1,即可對系統(tǒng)進行復位。復位電路如圖2.3所示。圖2.3復位電路2.2液晶顯示模塊液晶顯示屏的技術(shù)成熟于上個世紀,它的特點是顯而易見的,所占的空間少,體積小。工作環(huán)境適用廣,在極高的溫度和極低的溫度下都可以保持正常的運行,同時價格低,易于大批量生產(chǎn),也易于在本次系統(tǒng)中進行選擇使用。2.3按鍵控制部分電路在本系統(tǒng)操作當中,斷開的顯示就是高電平。反之,如果系統(tǒng)顯示是低電平,則表明正常的連接。通過這個特點,我們就可以判斷按鍵是按下還是沒有按下。同時在本系統(tǒng)中我們還考慮到了消除干擾信號的問題,本設(shè)計加入了一個抖動電平。按鍵電路如圖2.4所示。圖2.4按鍵閉合及斷開前后的電壓按鍵的設(shè)計,本設(shè)計選擇了獨立按鍵和矩陣式按鍵兩種方案進行比較。獨立按鍵的優(yōu)點是獨立配置,簡單方便耐用,經(jīng)濟價值實惠,但是它比較浪費資源。所以在面對本設(shè)計按鍵較多的復雜情況下,本設(shè)計選擇矩形按鍵,如圖2.5所示。矩形按鍵的優(yōu)點是系統(tǒng)具有可靠性,鍵盤設(shè)計也較為簡單。按鍵按下呈低電平,并采用軟件消抖來減少對單片機影響。圖2.5按鍵電路如上圖所示,交叉點就是我們按鍵的位置。當按鍵時,通過電平的變化可以得知按鍵的變化。在此次實驗中所采用的方法是掃描法。當按鍵為按下時,則可以通過萬用表檢測出為低電平。如果想要確定是按下的哪個按鍵,那么只需要檢測其他按鍵為高電平,低電平的那個就是按下的按鍵。2.4指紋模塊2.4.1指紋模塊簡介AS608是本設(shè)計的指紋模塊型號,其電路圖如圖2.6所示。圖2.6指紋模塊指紋模塊里邊也有相應的填充芯片,外面用來驗證指紋生物特征的是CMOS芯片,圖2.7所示就是一個用戶的指紋模板,若想生成指紋模板需要進行兩次的指紋特征認證。首先用戶需要進行指紋掃描,在指紋模塊識別到指紋的生物特征后會形成一個合成模板,也就是建立屬于用戶的指紋庫文件。這就是指紋模塊的具體運作流程。圖2.7指紋模版這個模塊的作用主要就是記錄下每一個人手指的樣子,并且將記錄下來的樣子進行存儲。工作的流程就是當它進行識別指紋時,識別到的指紋會與數(shù)據(jù)庫中的指紋進行比對,如果可以比對的上則識別成功。主要技術(shù)指標:供電電壓:交流電3.8~7.0V背光顏色:紅色亮燈方式:亮和閃爍供電電流:工作電流:<65毫安峰值電流:<95毫安指紋圖像錄入時間:<0.5秒2.4.2指紋模塊命令單片機的接口發(fā)送與接受命令是指紋模塊能夠成功運行的關(guān)鍵。指紋模塊首先接受串口發(fā)送來的命令,之后再傳回數(shù)據(jù)。若想知道命令有沒有成功地執(zhí)行,則需要觀察單片機對數(shù)據(jù)的處理程度。2.5繼電器模塊由指紋模塊和密碼設(shè)置模塊接收上位機的信號,單片機收到指令開始工作。如果密碼輸入正確或者指紋識別成功,則控制門鎖電路的繼電器工作,控制門鎖打開,同時顯示模塊顯示鎖已開,延時一段時間后電子鎖本身電路工作,從而實現(xiàn)開鎖功能。繼電器模塊如圖2.8所示。圖2.8繼電器電路3系統(tǒng)軟件設(shè)計3.1系統(tǒng)程序工作分析本系統(tǒng)中所采用的控制器是單片機,其連接兩個模塊,一個是按鍵的程序。另一個是指紋的程序。其模式主要是主程序能夠隨時調(diào)用作為子程序的C語言函數(shù)(指紋識別模塊和液晶)。在本文所設(shè)計的程序中,對單片機進行編程的方式是利用到了Keil單片機軟件開發(fā)環(huán)境。首先將源程序拆分成幾個模塊分別進行編寫,最后整理成一個最終文件,這剛好符合模塊化的程序設(shè)計。我們可以比較大限度地進行程序的編寫和調(diào)試,代碼文件通過后可以下載到單片機,這都得力于開發(fā)環(huán)境的寬松,可以對軟件進行仿真調(diào)試。主程序的初始化工作應該伴隨著單片機的上電完成。主程序需要對液晶初始化,同時要檢測按鍵,這都是基于電路的功能要求。3.2主程序流程圖下圖3.1所示為根據(jù)分析后所制訂的主程序設(shè)計流程。若要對程序進行巡檢,第一個模塊首先會進行初始化狀態(tài)設(shè)置,之后系統(tǒng)會判斷是否有按鍵進行按下以及哪個按鍵進行按下。液晶、通訊子程序、按鍵程序是構(gòu)成主程序的重要組成部分。若要完成一個完整的主程序工作,首先則要對各種硬件功能模塊進行初始化。(這其中包括液晶顯示、鍵盤掃描、指紋模塊)圖3.1主程序流程圖3.3LCD顯示模塊程序設(shè)計流程這個模塊的主要功能就是為了在液晶屏幕上顯示收到指令的程序數(shù)據(jù)內(nèi)容。程序流程如圖3.2所示圖3.2程序流程圖3.3.1指紋模塊通訊協(xié)議說明該模塊在收到和發(fā)出信號的時候,都采用的是接收數(shù)字信號的模式。需要注意一點,在接收信號和發(fā)出信號的同時,高字節(jié)的信號要在低字節(jié)信號之前進行發(fā)出。模塊需要接收上位機發(fā)出的指令,與此同時,它會自己計算出一個結(jié)果,將該指令傳遞到下一個模塊。這里我們要引出一個新的概念叫應答包,應答包可以處理以上接收信號,并且做出判斷和指令傳輸?shù)较乱粋€模塊。與此同時接收到正確的指令以后將會執(zhí)行相應的操作,如果接收到的是錯誤指令,則不會進行相應的操作。3.3.2指紋模版的采集存儲對同一用戶的相同指紋連續(xù)收集兩次,收集的圖像存儲在緩沖區(qū)ImageBuffer,之后圖像會轉(zhuǎn)化成指紋的生物特征,從而可以將該指紋存儲到存儲庫當中。這樣一個簡單操作的過程就是指紋的采集。該系統(tǒng)的指紋庫一共可以存儲采集大約五百個左右的指紋,并且可以對每一個指紋進行獨立編號,編號的方式就是錄入的先后順序,分為一二三,一直到五百。指紋采集程序圖如圖3.3所示。圖3.3指紋采集程序3.3.3指紋比對程序設(shè)計該系統(tǒng)在進行指紋是否是正確的比對操作時,首先會將錄入的指紋與自己儲存的指紋庫當中的指紋進行比較。對指紋庫當中的指紋進行搜索,搜索出來的指紋與相應的指紋進行比較,如果比對成功則代表指紋輸入成功,如果比對失敗則代表輸入不成功。搜索的方式為從一到五百依次進行指紋搜索。指紋比對程序圖如圖3.4所示圖3.4指紋比對程序3.4Keil編程上文顯示所有的硬件都已經(jīng)選擇好,接下來就需要開發(fā)指紋模塊、液晶、按鍵,而進行開發(fā)的核心就是電路中的主控制器單片機。主程序需要對子程序進行調(diào)用,所以首先應建立C語言一系列的子程序。采用Keil用于單片機的編程。C源碼可以被Keil編譯并匯編源程序,其的優(yōu)點就在于可以快速生成代碼,且生成的匯編代碼通俗易懂。[11]該軟件的優(yōu)點為簡單操作實用,經(jīng)濟實惠,編程能力十分強大。流程:(1)創(chuàng)建一個命名為“Fingerprint”的新工程。(2)新建一個命名為main.c的text文件,然后在Target1的子文件SourceGroup1中添加main.c文件。(3)在彈出下一個對話框之后,在Xtal后輸入9600,即單片機的工作頻率為9600MHz。設(shè)置波特率如圖3.5所示。圖3.5設(shè)置波特率(4)點擊Output標簽,勾選CreateHEX前的方框,這樣可以生成hex文件以便輸入單片機中。(5)編程(6)修改錯誤(7)測試并且使用4硬件調(diào)試4.1電路的焊接4.1.1焊前準備如果想要做好引線成型等裝配前的準備工作,同時要熟悉焊接的先后順序。并且按照圖紙嚴格的進行焊接,不允許超過圖紙自己焊接。程序所遵循的順序就是先焊電阻,后焊電容。之后才是二極管,三極管等等,主要就是先小后大,先易后難。在焊接電容時,我們要清楚的一點是不要搞錯電容的正負極。在焊接二極管時,不要搞錯二極管的陰陽極,同時時間也不要超過太長,大概是一秒鐘左右為最好。焊接三極管時不要搞錯三個引線的位置,同時焊接的時間要最短,為的是加快散熱。對于集成電路的焊接,一定要嚴格按照圖紙來進行焊接,各個型號和引腳的位置都要符合圖紙中所出示的位置。多余的引腳不要保留,應該用剪刀將它剪去。4.1.2注意事項:1)為了讓屏幕能夠正常顯示、保持完好,不能對正在處理機械振動的模塊施加外力。2)為了保護屏幕的完整光滑,不能用手或堅硬工具劃、按壓、磨擦顯示屏。3)如果發(fā)生意外情況導致屏幕碎裂,液晶化學材料流出,要嚴禁皮膚與液晶接觸,如果不慎接觸要即刻用酒精和水清洗。4)如果顯示屏有異物,可以用棉球蘸取少量的石油苯來輕輕擦拭屏幕,不能使用對偏光片不利的可溶有機體來清洗顯示屏。5)要注意高壓靜電,其中放出的電流將損壞模塊中的CMOS電路。6)模塊的放置環(huán)境對溫度和濕度都有嚴格的要求,溫度不能過高,保持在35度一下,濕度也要保證好,如果濕度多大,很多的元器件將會失靈。7)模塊的存儲環(huán)境要遠離太陽直射的地方。4.2程序的燒寫本設(shè)計采用的是STC-ISP,該軟件的特點是操作簡單易于學習,編程發(fā)現(xiàn)錯誤以后可以盡快的修改,因此應用十分廣泛。燒寫程序如圖4.1所示。圖4.1燒寫程序調(diào)試通過的代碼文件通過STC_ISP_V480下載到單片機。STC_ISP_V480使用步驟為:打開STC-ISP,在MCUType欄目下選中單片機STC89C52RC。選中COM端口,波特率選擇9600。點擊“打開文件”按鈕并在對話框內(nèi)找到要下載的HEX文件。點擊download/下載,根據(jù)提示給單片機上電,即可完成程序燒寫。在對單片機進行增加電源之前,首先應該將主程序的初始化也完成。按照對電路的功能化要求,主程序在有對應的按鍵按下時,要執(zhí)行相應的操作,且必須要對按鍵檢測,液晶也要初始化。4.3小燈的調(diào)試當按下電源鍵的時候,燈是否亮起,則證明該電路是否已經(jīng)正常的運行。之后要做的工作就是進行單片機的測試。首先導入單片機一段程序。該程序如果可以正常運行時,小燈是可以正常的亮起。如果此時小燈沒有按照我們的程序正常亮起,則證明單片機是有問題的,需要把它拆下來進行維護和更換。4.4液晶的調(diào)試首先我們導入測試程序,并且對該系統(tǒng)進行通電。通過調(diào)節(jié)液晶顯示器后面的調(diào)節(jié)按鈕。這時在屏幕的正中央出現(xiàn)了一個小方格,這是液晶顯示屏出現(xiàn)了一定問題,所以不能正常地接收和發(fā)出指令??梢园凑諛藴驶牟襟E對其進行調(diào)試如圖4.2所示。圖4.2調(diào)試過程4.5指紋模塊、按鍵的調(diào)試首先將之前所編寫好的程序進行導入。1)打開電源,觀察電源的指示燈是否亮起。2)按“*”鍵,等待液晶顯示屏上出現(xiàn)讓用戶輸入指紋的指示。方法就是當有人把手指放到上面的時候,小燈也會正常的亮起。3)如果指紋被系統(tǒng)識別成功,則燈亮起以后使用者可以打開。如果用戶的指紋沒有被識別成功,此時則需要重新進行輸入,三次輸入失敗以后系統(tǒng)將會進行報警。4)該系統(tǒng)還可以進行輸入密碼、刪除密碼以及管理員進行操作的模式。5)進入管理員模式,此時我們可以進行密碼的輸入。密碼是由六位數(shù)字進行組成,如果我們輸錯可以進行刪除。6)對于已經(jīng)錄入的密碼,如果我們想要刪除這個密碼,進入管理員模式以后也可以對其進行相應的刪除。如果以上步驟不符合要求需要重新檢查程序,直到實物可以正常工作為止。如滿足上述要求時,實物就算調(diào)試完成,達到設(shè)計要求。結(jié)論在本篇文章中主要展示了一個指紋識別系統(tǒng),它的控制核心就是單片機。單片機進行控制指紋識別模塊識別我們的指紋,液晶顯示屏顯示數(shù)字和文字。通過按鍵可以精準的進行信號的識別與確認,最后LED指示燈也可以讓用戶一目了然操作是否成功。文章首先介紹了指紋識別系統(tǒng)的原理,還進一步介紹了識別系統(tǒng)所應用的各種硬件電路,系統(tǒng)使用Keil軟件進行編程,將軟件編程好以后,本設(shè)計通過檢測將正確的軟件導入到單片機中,使整個系統(tǒng)可以正常的運行。研制成功以后,此設(shè)計不僅可以運用到家里的門鎖上面,還可以運用到商場的貴重物品上,應用的前景十分廣泛。本設(shè)計由于還有很多硬件軟件待開發(fā),以上只是本設(shè)計的大致內(nèi)容,為了能使人們的信息安全得到保障,并且充分為受眾提供便利,還需要更多的相關(guān)從業(yè)者投入到其中來進行創(chuàng)新完善。參考文獻[1]L.Coetzee,etal.FingerprintRecognitioninLowQualityImages.PatternRecognition.1993,vol.26:1441-1460.[2]TIANJie,CHENXinjian,etal.Recentprogressin

fingerprint

recognition.ProgressinNaturalScience.2006,vol.03:231-240.[3]趙玉蘭,姜春風,方修豐.指紋識別技術(shù)在煤礦門禁系統(tǒng)中的應用與實現(xiàn)[J].煤炭技術(shù).2010,29(11):132-134.[4]趙曉玲.單片機在指紋保險柜中的應用[J].微計算機信息.2006,20(20):134-136.[5]劉小華,王燕生.指紋識別技術(shù)的發(fā)展[J].光學技術(shù).1998,23(04):78-80.[6]郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:60-400.[7]張毅剛.單片機原理與應用[M].北京:高等教育出版社,2006:56-234.[8]趙建領(lǐng).51單片機開發(fā)與應用技術(shù)詳解[M].北京:電子工業(yè)出版社,2009:75-124.[9]陳光新.自動指紋識別技術(shù)及其應用[J].江蘇船舶.2004,24(03):32-35.[10]KazuharuYamato,etal.ProblemsofFingerprintLookupDevicesandHowtoResolveThem.GazoDenshiGakkaishi.1995,vol.24:382-391.[11]鄭春來,韓團軍,李鑫.編譯軟件Keil在單片機教學中的應用[J].高教論壇.2009,15(12):96-97.[12]Prata.S.CPrimerPlus中文版[M].北京:人民郵電出版社,2005:74-99.[13]吳凌燕.基于Proteus的單片機仿真設(shè)計[J].儀表技術(shù).2011,17(07):31-37.[14]唐錢輝,丁明亮.ProteusISIS和Keil在單片機教學中的應用[J].重慶電力高等??茖W校學報.2006,8(04):46-49.[15]林三寶.高效焊接[M].北京:機械工業(yè)出版社,2012:45-78.[16]楊朋飛,聶亮,陳靖,蔡長龍.基于STC89C52單片機的指紋密碼鎖系統(tǒng)設(shè)計與實現(xiàn)[J].傳感器與微系統(tǒng),2020,39(05):81-83+86.[17]唐瑞,于娟.基于單片機的指紋密碼鎖系統(tǒng)設(shè)計[J].科技與創(chuàng)新,2016(12):12-13.[18]林立,張俊亮.單片機原理及其應用[M].北京:電子工業(yè)出版社,2009.[19]陳光新.自動指紋識別技術(shù)及其應用[J].江蘇船舶,2004,21(3).[20]趙玉蘭,姜春風,方修豐.指紋識別技術(shù)在煤礦門禁系統(tǒng)中的應用與實現(xiàn)[J].附錄1原理圖附錄2PCB圖附錄3源程序#include<reg52.h>#include<intrins.h>#include"matrix_key_4x4.h"#include"LCD12864.h"#include"24c0x.h"#include"finger.h"#include"JQ6500_KEY.h"unsignedcharpas[6]={1,5,8,1,5,8};//存儲密碼數(shù)組unsignedcharpas_power[6]={1,5,8,1,5,8};//強制密碼(忘了密碼時,這個密碼作為強制密碼可以生效)unsignedcharpas_tmp_[6]=1;//臨時輸入的密碼存儲地方unsignedcharfinger_del_num[3]={9,9,9};//存儲要刪除的指紋號#defineC_KEY_V10//密碼界面進入按鍵#defineB_KEY_V11//修改密碼界面進入按鍵#defineD_KEY_V12//刪除輸錯的密碼按鍵#defineQ_KEY_V13//確認按鍵#defineX_KEY_V14//星號鍵--用于進入指紋設(shè)置界面#defineM_KEY_V15//米號鍵--用于退出指紋設(shè)置界面sbitrelay=P3^6;//繼電器IO口引腳unsignedcharkey_value=20;//存儲矩陣鍵盤鍵值unsignedcharpas_check(unsignedcharpassword[6],unsignedcharpas_input[6]);//密碼對比函數(shù)unsignedcharget_6_bit_pas(unsignedcharpas_tmp[6]);//獲取六位密碼voidkeyboard_password_deal();//矩陣鍵盤密碼處理函數(shù)voidchange_password();//修改密碼函數(shù)voidinit_pas_data();//上電初始化密碼數(shù)據(jù)函數(shù)voidir_password_deal();//紅外密碼處理函數(shù)unsignedcharir_get_6_bit_pas(unsignedcharpas_tmp[6]);//獲取紅外鍵盤六位密碼voidir_change_password();//利用紅外鍵盤修改密碼函數(shù)voidfinger_idtf();//指紋識別函數(shù)voiddelay(unsignedinti){ while(i--);}//短延時函數(shù)voidbeep_short(unsignedinti){beep=0;delay(i);beep=1;}//蜂鳴器短鳴函數(shù)//首界面函數(shù)voidlcd_first_interface(){ LcmClearTXT(); PutStr(0,1,"密碼門禁系統(tǒng)"); PutStr(3,0,"按指紋解鎖"); PutStr(2,0,"按鍵C:輸入密碼"); PutStr(1,0,"按鍵B:修改密碼");}//主函數(shù)voidmain(){ fingerprint_init();//指紋模塊初始化 jq6500_init(); LcmInit(); //LCD12864初始化 LcmClearTXT(); //LCD12864清屏 init_pas_data();//上電初始化密碼數(shù)據(jù)函數(shù) lcd_first_interface();//首界面函數(shù) while(1){ key_value=get_key();//獲取矩陣鍵盤鍵值 keyboard_password_deal();//矩陣鍵盤密碼處理函數(shù) finger_idtf();//指紋識別與處理函數(shù) }}//指紋識別函數(shù)voidfingerprint_identification(){unsignedcharIDs1,IDs2,IDs3; LcmClearTXT(); PutStr(1,1,"請按手指開鎖"); delay(50000); SFG_identify(); while(confir_code==2){SFG_identify();} if(confir_code==0){ LcmClearTXT(); PutStr(1,2,"門已打開"); jq6500_Mkey_play(2); IDs1=PageID/100; IDs2=PageID/10%10; IDs3=PageID%10; PutStr(2,1,"編號為:"); WriteCommand(0x8D); //指定第三行顯示位置 WriteData(0x30+IDs1); WriteData(0x30+IDs2); WriteData(0x30+IDs3); relay=0;delay(50000);delay(50000);delay(50000);delay(50000);relay=1; }elseif(confir_code==9){ LcmClearTXT(); PutStr(1,1,"沒搜索到指紋"); PutStr(2,1,"請重新按手指"); jq6500_Mkey_play(3); beep=0;delay(50000);delay(50000);beep=1;}else{ LcmClearTXT(); PutStr(1,1,"請勿移開手指"); PutStr(2,1,"或重新按手指"); delay(50000);delay(50000); }}//錄入指紋voidfinger_add(){ unsignedcharIDa1,IDa2,IDa3; LcmClearTXT(); PutStr(1,2,"請按手指"); finger_wak=0; while(finger_wak==1); SFG_getimage(); while(confir_code!=0){SFG_getimage();delay(100);} SFG_genchar();UART_Init(); SFG_fastsearch();while(confir_code==1){SFG_fastsearch();} if(confir_code==0){ LcmClearTXT(); PutStr(1,1,"該指紋已存儲"); delay(50000);delay(50000);delay(50000); }elseif(confir_code==9){ SFG_enroll(); while(confir_code==2){SFG_enroll();} LcmClearTXT(); if(confir_code==0){ IDa1=PageID/100;IDa2=PageID/10%10;IDa3=PageID%10; PutStr(1,1,"指紋采集成功"); PutStr(2,1,"編號為:"); jq6500_Mkey_play(2); WriteCommand(0x8D); WriteData(0x30+IDa1);WriteData(0x30+IDa2);WriteData(0x30+IDa3); beep=0; }elseif(confir_code!=0){ PutStr(1,1,"指紋采集失敗"); PutStr(2,1,"請重新操作"); jq6500_Mkey_play(3); } } delay(50000);delay(50000);delay(50000);beep=1;}//清空所有指紋--應用函數(shù)voidfinger_clear_all(){ SFG_empty(); LcmClearTXT(); if(confir_code==0){ PutStr(1,1,"刪去所有指紋"); PutStr(2,3,"成功"); jq6500_Mkey_play(2); }else{ PutStr(1,1,"刪去所有指紋"); PutStr(2,3,"失敗"); jq6500_Mkey_play(3); } delay(50000);delay(50000);delay(50000);}unsignedcharget_3_bit_finger_del_num(unsignedcharpas_tmp[3]){ unsignedcharflag_cn=0; unsignedcharkey_v=20; LcmClearTXT(); PutStr(0,1,"請輸入指紋號"); WriteCommand(0x93); //指定第三行顯示位置 while(flag_cn<3){ key_v=get_key(); if(key_v<10){WriteData(0x30+key_v);pas_tmp[flag_cn++]=key_v;} if(key_v==D_KEY_V){if(flag_cn>0)PutStr(2,flag_cn--,"");} } PutStr(2,1,"請輸入確認鍵"); while(get_key()!=Q_KEY_V); return1;}//根據(jù)指紋錄入編號刪除指紋voidfinger_del(unsignedintnum){ SFG_deletchar(num); if(confir_code==0){ LcmClearTXT(); PutStr(1,1,"刪去指紋成功"); }else{ LcmClearTXT(); PutStr(1,2,"刪去指紋失敗"); } delay(50000);delay(50000);delay(50000);}voidfinger_deaL(){ LcmClearTXT(); PutStr(0,0,"按鍵1:錄入指紋"); PutStr(1,0,"按鍵2:刪去指紋"); PutStr(2,0,"按鍵3:清空指紋"); PutStr(3,0,"按鍵#:退出"); while(key_value!=M_KEY_V){ key_value=get_key(); if(key_value<4&&key_value>0){ switch(key_value){ case1:finger_add();break; case2:get_3_bit_finger_del_num(finger_del_num);finger_del(finger_del_num[0]*100+finger_del_num[1]*10+finger_del_num[2]);break; case3:finger_clear_all();break; } LcmClearTXT(); PutStr(0,0,"按鍵1:錄入指紋"); PutStr(1,0,"按鍵2:刪去指紋"); PutStr(2,0,"按鍵3:清空指紋"); PutStr(3,0,"按鍵#:退出"); } }}//指紋識別與處理函數(shù)voidfinger_idtf(){ finger_wak=0; if(finger_wak==1){ LcmClearTXT(); PutStr(0,1,"指紋喚醒"); fingerprint_identification(); while(finger_wak==1); lcd_first_interface(); } if(key_value==X_KEY_V){ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"輸入6位密碼"); get_6_bit_pas(pas_tmp_); if(pas_check(pas,pas_tmp_)==1||pas_check(pas_power,pas_tmp_)==1){ finger_deaL(); }else{ PutStr(3,2,"密碼錯誤"); jq6500_Mkey_play(3); //beep=0; delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000); beep=1; } lcd_first_interface(); }}//初始化內(nèi)部eeprom用于讀取之前保存的距離限制值voidinit_pas_data(){ unsignedcharis_first_init1=at24c0x_read(0x20); unsignedcharis_first_init2=at24c0x_read(0x21); unsignedchari=0; if((is_first_init1+is_first_init2)==8){ for(i=0;i<6;i++){pas[i]=at24c0x_read(i);} }else{ at24c0x_write(0x20,0x01); at24c0x_write(0x21,0x07); for(i=0;i<6;i++){ at24c0x_write(i,pas[i]);} }}//按鍵密碼處理函數(shù)voidkeyboard_password_deal(){ //密碼驗證開始 if(key_value==C_KEY_V){ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"輸入6位密碼"); get_6_bit_pas(pas_tmp_); if(pas_check(pas,pas_tmp_)==1||pas_check(pas_power,pas_tmp_)==1){ PutStr(3,2,"門已打開"); jq6500_Mkey_play(2); relay=0; delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000); relay=1; }else{ PutStr(3,2,"密碼錯誤"); jq6500_Mkey_play(3); //beep=0; delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000); beep=1; } lcd_first_interface(); }elseif(key_value>=0&&key_value<=9){ jq6500_Mkey_play(1); } //密碼驗證結(jié)束 //修改密碼開始 change_password(); //修改密碼結(jié)束}//修改密碼函數(shù)voidchange_password(){ unsignedcharnew_pas1[6]=0; unsignedcharnew_pas2[6]=0; unsignedchari=0; if(key_value==B_KEY_V){ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"輸入6位密碼"); get_6_bit_pas(pas_tmp_); if(pas_check(pas,pas_tmp_)==1||pas_check(pas_power,pas_tmp_)==1){ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"請輸入新密碼"); jq6500_Mkey_play(1); get_6_bit_pas(new_pas1); LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"再輸入新密碼"); jq6500_Mkey_play(4); get_6_bit_pas(new_pas2); if(pas_check(new_pas1,new_pas2)){ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"密碼修改成功"); jq6500_Mkey_play(2); for(i=0;i<6;i++){ pas[i]=new_pas1[i]; at24c0x_write(i,pas[i]); } }else{ LcmClearTXT(); //LCD12864清屏 PutStr(1,1,"兩次輸入密碼"); PutStr(2,2,"不一致"); jq6500_Mkey_play(3); } delay(50000);delay(50000);delay(50000); }else{ PutStr(3,2,"密碼錯誤"); jq6500_Mkey_play(3); //beep=0; delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000); beep=1; } lcd_first_interface(); }}//得到六位密碼unsignedcharget_6_bit_pas(unsignedcharpas_tmp[6]){ unsignedcharflag_c=0; unsignedcharkey_v=20; while(flag_c<6||key_v!=Q_KEY_V){ key_v=get_key(); if(key_v<10&&flag_c<6){pas_tmp[flag_c++]=key_v;PutStr(2,flag_c,"*");} if(key_v==D_KEY_V&&flag_c>0){PutStr(2,flag_c--,"");} } return1;}//六位密碼比較輸出unsignedcharpas_check(unsignedcharpassword[6],unsignedcharpas_input[6]){ inti=0; for(i=0;i<6;i++){ if(password[i]!=pas_input[i]){return0;} } return1;}致謝在本次畢業(yè)設(shè)計過程中,我也遇到了很多的困難和問題,但都正常的解決了。應該感謝謝瑩老師和馮雅麗老師的論文指導,因為在整個過程當中他們對我提供了很大的幫助和很多意見性上的指導。他們都對我進行了無私的指導和幫助,有的同學手把手教我焊電路板,由于我不熟練,在操作過程當中造成了元器件的損壞。但是,我并沒有氣餒。還有的同學幫我調(diào)試程序,有時一個程序要連續(xù)調(diào)好幾個小時,他們很有耐心,一邊調(diào)試一邊給我講程序的道理,我獲益匪淺。另外,在校圖書館查找資料的時候,也找到了很多對于本篇論文有幫助的書籍。還要感謝指導老師及學長不厭其煩的幫助我進行論文的修改和改進。還有我大學四年來教導過我的所有老師,為我打下了專業(yè)知識的基礎(chǔ),幫助我本次論文順利的完成。感謝本次畢業(yè)設(shè)計所涉及到的各位學者。本文引用了許多學者的研究文獻,這些給了我很多的思路和啟發(fā)。同時也讓我對自己的論文產(chǎn)生了一個明確的思路。最后還是感謝大學四年里在綠島幫助過我的同學和老師,希望在未來的日子里,我們可以共同進步,砥礪前行。

論文的研究方法和手段有哪些

(1)調(diào)查法

調(diào)查法是科學研究中最常用的方法之一。它是有目的、有計劃、有系統(tǒng)地搜集有關(guān)研究對象現(xiàn)實狀況或歷史狀況的材料的方法。一般是通過書面或口頭回答問題的方式獲得大量數(shù)據(jù),進而對調(diào)查中收集的大量數(shù)據(jù)進行分析、比較、總結(jié)歸納,為人們提供規(guī)律性的知識。

(一)典型例子

調(diào)查法中最典型的例子是問卷調(diào)查法。它是通過書面提問收集信息的一種方法,即調(diào)查人員編制調(diào)查項目表,分發(fā)或郵寄給相關(guān)人員,詢問答案,然后收集、整理、統(tǒng)計和研究。

(二)研究步驟

1.確定調(diào)查課題

確定題目時要注意選題是否具有研究的必要性和可能性,同時要注意選題切忌太大,也要避免無意義的重復勞動。

2.制定調(diào)查計劃

要明確調(diào)查課題、調(diào)查目的、調(diào)查對象、調(diào)查范圍、調(diào)查手段、調(diào)查步驟、時間安排。

3.收集材料

收集材料時要盡可能保持材料的客觀性,盡可能采取多種手段或途徑。

4.整理材料

將收集到的材料進行整理,以便后續(xù)總結(jié)歸納、形成結(jié)論。

5.總結(jié)研究

對整理完的材料進行分析、總結(jié)、歸納,得出一般性的結(jié)論。

(三)特點

調(diào)查法相對其他研究方法來說較為耗時耗力,但也有其優(yōu)勢,即獲得的一手資料信息真實具體,能夠?qū)ρ芯繉ο笥懈訙蚀_、清晰的認識。

(2)觀察法

觀察法是指人們有目的、有計劃地通過感官和輔助儀器,對處于自然狀態(tài)下的客觀事物進行系統(tǒng)考察,從而獲取經(jīng)驗事實的一種科學研究方法。

(一)典型例子

皮亞杰的兒童認知發(fā)展理論就是通過觀

溫馨提示

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

評論

0/150

提交評論