




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.概述1.1本文的研究背景及意義指紋鎖是內(nèi)置了電子信息技術(shù)、指紋識(shí)別技術(shù)等多種技術(shù)的鎖定裝置。另一方面,最近社會(huì)上,互聯(lián)網(wǎng)如此發(fā)達(dá)的現(xiàn)在起著更加重要的作用。能夠?qū)⑹种告i與互聯(lián)網(wǎng)連接相結(jié)合,不僅能顯著發(fā)展鎖具行業(yè),還具有顯著的市場(chǎng)潛力,目前已在許多高級(jí)領(lǐng)域進(jìn)行了初步應(yīng)用。近些年來,人們的生活水平提升到了到了較高水平,安全防范意識(shí)也隨著社會(huì)的發(fā)展逐步提高,尤其是對(duì)個(gè)人辦公區(qū)、家庭等小型私人場(chǎng)所……因此,這篇文章的設(shè)計(jì)顯得很重要。1.2指紋識(shí)別技術(shù)發(fā)展現(xiàn)狀隨著社會(huì)的進(jìn)步,傳統(tǒng)的鎖不再滿足人們逐漸增加的安全需求,指紋鎖就應(yīng)運(yùn)而生。智能指紋鎖是以識(shí)別指紋為基本,是通過多種電子信息技術(shù)和機(jī)械制造技術(shù)完美結(jié)合的鎖。指紋的唯一性和難以復(fù)制的程度決定了手指鎖的安全性。在我國,指紋識(shí)別技術(shù)在事件調(diào)查中得到廣泛使用,同時(shí)在民間領(lǐng)域也逐漸成為初步應(yīng)用的可能。目前生活中常常使用指紋鎖的地方是公司考勤機(jī)、手機(jī)、電腦等電子設(shè)備,因?yàn)樗歇?dú)特的安全性和便利性等。由于它具有獨(dú)特的優(yōu)勢(shì)在同類行業(yè)中,由明顯的發(fā)展優(yōu)勢(shì),同時(shí)民營市場(chǎng)也開始逐漸發(fā)展。近年來,國內(nèi)水平提高,可以實(shí)現(xiàn)多種智能功能,但電子元件的信號(hào)接收和分析技術(shù)掌握也不穩(wěn)定。因此,很少有指紋鎖企業(yè)實(shí)際掌握了指紋鎖核心技術(shù)。總的來說,國內(nèi)手指鎖技術(shù)開發(fā)水平不是很高,但總的技術(shù)水平發(fā)展得比較快,在某些方面已經(jīng)接近世界水平。在國外,美國、日本、德國的電子鎖市場(chǎng)走在世界前沿。這三個(gè)國家制造的鎖定裝置,密碼確認(rèn)方法更加繁瑣、安全性高、高質(zhì)量。這樣的鎖已進(jìn)入市場(chǎng)發(fā)展的成熟期。高科技急速發(fā)展的當(dāng)下,尤其在近些年,家庭住宅、私人汽車、CBD辦公大樓寫字間、酒店等高端產(chǎn)業(yè)的迅猛發(fā)展,如今對(duì)金融方面、公安系統(tǒng)、國防等都需要高度安全的鎖具,智能指紋鎖應(yīng)運(yùn)而生,被大眾接受。智能指紋鎖的安全性高、實(shí)用性也高,將帶來比較樂觀的市場(chǎng)前景,新的市場(chǎng)競(jìng)爭(zhēng)將促進(jìn)市場(chǎng)的快速發(fā)展。隨著對(duì)鎖具安全性能要求的提高,指紋鎖的市場(chǎng)局面逐漸打開。經(jīng)過近幾年的開發(fā),中國私營市場(chǎng)的指紋鎖份額接近10%,但只有西方國家的平均值的1/6,所以待開發(fā)市場(chǎng)的比重仍然很大。據(jù)研究機(jī)構(gòu)稱,現(xiàn)在國內(nèi)的私人經(jīng)營市場(chǎng)對(duì)指紋鎖的需求很大,幾乎占到世界總需求的20%,還沒有開發(fā)出來的市場(chǎng)量也已經(jīng)超過西方國家市場(chǎng)的總需求。預(yù)計(jì)到2025年,全世界的智能指紋鎖市場(chǎng)總份額額將增加到50億美元。中國以巨大的市場(chǎng)需求分擔(dān)這個(gè)市場(chǎng)總額,目前開發(fā)的市場(chǎng)份額只是整個(gè)市場(chǎng)的一小部分。指紋鎖未來具有以下的幾個(gè)重要的發(fā)展方向:(1)小型化:采用嵌入式的方式,對(duì)指紋鎖技術(shù)進(jìn)行不斷開發(fā)利用,能夠節(jié)約時(shí)間。(2)網(wǎng)絡(luò)互聯(lián)化:將智能指紋鎖結(jié)合無線傳輸技術(shù),在網(wǎng)絡(luò)平臺(tái)技術(shù)的創(chuàng)新進(jìn)行中,同時(shí)也滿足了高度靈活便捷的應(yīng)用需求。(3)個(gè)性化:用戶可以根據(jù)自己不同的要求,可以自己進(jìn)行個(gè)性化的設(shè)計(jì)。定制自己專屬的模式和使用功能。(4)多功能化:添加自動(dòng)識(shí)別指紋、遠(yuǎn)程報(bào)警、遠(yuǎn)程監(jiān)控和控制的功能,便于對(duì)指紋鎖的狀態(tài)隨時(shí)監(jiān)控,安全高效,有很大的實(shí)用價(jià)值?,F(xiàn)代電子集成技術(shù)和可靠算法的結(jié)合研究,促使指紋識(shí)別技術(shù)也得到了大幅的發(fā)展。指紋雖然只屬于皮膚其中的一小部分,但是能夠用于識(shí)別和標(biāo)記的數(shù)據(jù)量很大,比較它不僅僅是一個(gè)對(duì)等不對(duì)等的問題。目前,電子集成制造技術(shù)可便捷快速的生成一組指紋圖像讀取器,而快速發(fā)展的個(gè)人計(jì)算機(jī)計(jì)算速度使我們能夠在計(jì)算機(jī)和單芯片微計(jì)算機(jī)上比較兩個(gè)指紋,同時(shí)匹配算法的可靠性也在不斷提高,指紋識(shí)別技術(shù)已經(jīng)很實(shí)用。1.3選題目的及意義現(xiàn)在的社會(huì)對(duì)高效可靠的身份確認(rèn)系統(tǒng)極其需要??诹?、密碼、身份證等傳統(tǒng)的個(gè)人身份信息識(shí)別手段能夠與身份的可分離使用,也就是可以假冒、偽造、盜用及破譯,不能夠完全滿足社會(huì)經(jīng)濟(jì)活動(dòng),以及社會(huì)保障預(yù)防的要求。在多重要求的考慮下,指紋被大家關(guān)注,它是最傳統(tǒng)和比較成熟的生物鑒定方法,穩(wěn)定性也很好。每個(gè)人都是在胚胎形成的6個(gè)月內(nèi)完全長出指紋,直到人去世之后很久,尸體開始腐爛為止。各類生物研究到現(xiàn)在為止,仍然還沒有發(fā)現(xiàn)指紋完全相同的兩個(gè)人,就算是同卵雙胞胎,他們的指紋也是不同的。單片機(jī)技術(shù)由于控制性能和高可靠性性能的優(yōu)點(diǎn)而非常熟練,生活中的電子產(chǎn)品對(duì)單片機(jī)控制不可或缺。1.4本文研究的主要內(nèi)容本設(shè)計(jì)應(yīng)用到了指紋識(shí)別技術(shù)與嵌入式技術(shù)、控制內(nèi)核與STM32微控制器和μC/OS-Ⅱ操作系統(tǒng)相結(jié)合的硬件。該系統(tǒng)基于嵌入式技術(shù),結(jié)合指紋識(shí)別、密碼匹配等技術(shù),通過指紋識(shí)別模塊執(zhí)行指紋收集、存儲(chǔ)和比較,并將結(jié)果發(fā)送到主芯片。主芯片完成信息的處理和判斷,以確定是否解鎖。本文主要有以下研究內(nèi)容:(1)首先,必須設(shè)計(jì)手指鎖定控制系統(tǒng)的整個(gè)框架,完成各種硬件設(shè)施的購買等。從軟件角度來看,需要準(zhǔn)備各種開發(fā)計(jì)劃并完成操作接口設(shè)計(jì)。(2)設(shè)計(jì)了各部分的硬件電路,實(shí)現(xiàn)指紋鎖的硬件基本設(shè)計(jì)。(3)構(gòu)建基于STM32的嵌入式開發(fā)平臺(tái)。(4)指紋識(shí)別和密碼比較的雙層保護(hù)方法,實(shí)現(xiàn)指紋鎖定。1.5簡(jiǎn)述實(shí)物工作流程(1)開啟使用:按下電源,電源指示燈亮起,液晶屏顯示“歡迎使用指紋門禁系統(tǒng)請(qǐng)您開鎖”。按下按鈕后,液晶屏可見,“歡迎使用請(qǐng)輸入密碼”指紋模塊綠色燈亮起,指紋識(shí)別解鎖功能可用。指紋識(shí)別成功,繼電器操作,LED指示燈亮起,表示開鎖成功,人員則可以進(jìn)入,同時(shí)要在液晶屏上顯示已經(jīng)記錄的指紋編號(hào)。如果指紋識(shí)別失敗,那么繼電器就無法正常工作,LED指示燈不亮,無法解鎖,人無法進(jìn)入,液晶顯示:“沒有搜索到指紋請(qǐng)重新按下手指”。指紋開鎖不成功可以改用密碼開鎖,根據(jù)提示輸入六位數(shù)字的密碼,按下“確認(rèn)”鍵之后即可開鎖,繼電器動(dòng)作,LED指示燈亮起。(2)設(shè)置模式:要使用按鍵進(jìn)入設(shè)置模式,按下按鍵A,再輸入6位密碼,如果密碼輸入正確,則可以進(jìn)入設(shè)置模式;如果密碼錯(cuò)誤,則無法進(jìn)入設(shè)置模式;設(shè)置模式界面顯示有四行,第一行是“1.增加指紋”,第二行是“2.手動(dòng)開鎖”,第三行是“3.刪除指紋”,第四行是“4.更改密碼”。選擇對(duì)應(yīng)序號(hào)則可進(jìn)行相應(yīng)的操作。這里要注意,刪除指紋的時(shí)候輸入一位指紋序號(hào)按下確認(rèn)則可完成,增加指紋后對(duì)應(yīng)指紋的編號(hào)會(huì)自動(dòng)生成,更改密碼的時(shí)候要保證兩次輸入的密碼一致,若有不同,則不能完成更改密碼。2.指紋鎖控制系統(tǒng)總體設(shè)計(jì)2.1指紋鎖控制系統(tǒng)功能需求分析根據(jù)實(shí)際的用戶需求,系統(tǒng)需要實(shí)現(xiàn)的主要功能包括:表2.1.1系統(tǒng)能實(shí)現(xiàn)的主要功能Table2.1.1MainFunctionsoftheSystem實(shí)現(xiàn)的功能功能描述指紋識(shí)別功能指紋頭實(shí)時(shí)采集指紋,與指紋庫中的模板對(duì)比,識(shí)別指紋的對(duì)錯(cuò),將結(jié)果傳輸至主控芯片。并在顯示器上實(shí)時(shí)顯示此時(shí)的模式和指紋的個(gè)數(shù)。繼電器開關(guān)功能主控芯片判斷指紋頭識(shí)別指紋的結(jié)果,控制繼電器的開關(guān)。密碼比對(duì)功能實(shí)時(shí)對(duì)位比對(duì)密碼,把輸入密碼與掉電保存的密碼逐位進(jìn)行比對(duì),如果比對(duì)成功則顯示密碼正確,如果密碼錯(cuò)誤則提示密碼錯(cuò)誤不開門。2.2系統(tǒng)整體架構(gòu)設(shè)計(jì)本文以STM32為控制芯片,以指紋識(shí)別模塊結(jié)合嵌入式技術(shù),實(shí)現(xiàn)了指紋鎖控制系統(tǒng)的設(shè)計(jì)。通過指紋頭對(duì)指紋信息的采集和識(shí)別,將結(jié)果發(fā)送至主控芯片;驗(yàn)證錯(cuò)誤時(shí)密碼鎖不能打開,指紋驗(yàn)證錯(cuò)誤時(shí)可以選用密碼驗(yàn)證。本文的設(shè)計(jì)方案分為硬件設(shè)計(jì)以及軟件設(shè)計(jì)兩方面的內(nèi)容。其中所需要的硬件主要由STM32F01C8T6、12864LCD顯示屏、矩陣鍵盤、繼電器、指紋識(shí)別模塊等。2.3指紋鎖控制系統(tǒng)的整體原理(1)硬件工作原理用于數(shù)據(jù)收集的指紋識(shí)別此模塊集成了高速DSP處理器芯片,可直接進(jìn)行指紋數(shù)據(jù)信息處理轉(zhuǎn)換,因此MCU和指紋模塊之間的串行通信使您能夠讀取指紋信息,并相應(yīng)地控制訪問控制。繼電器負(fù)責(zé)關(guān)門的具體執(zhí)行。鍵盤可以選擇模式。主芯片負(fù)責(zé)整個(gè)系統(tǒng)的信息控制。在信息的通信過程中,通信的數(shù)據(jù)信息。系統(tǒng)上電后,使用鍵盤進(jìn)行功能設(shè)置。設(shè)置完成之后,系統(tǒng)各個(gè)外設(shè)開始工作。(2)軟件工作原理給STM32主控芯片中加入μC/OS-II實(shí)時(shí)操作系統(tǒng),這樣則可以為系統(tǒng)提供實(shí)時(shí)操作的基礎(chǔ)。系統(tǒng)的不同外設(shè)可以用不同任務(wù)進(jìn)行管理。2.4系統(tǒng)硬件設(shè)備的選型本系統(tǒng)所選的硬件設(shè)備需要根據(jù)具體情況做出分析,首先就是要分析使用的人群、場(chǎng)所等,還要根據(jù)客戶的需求來分析開發(fā)的難易程度,這樣就能夠做到設(shè)計(jì)的控制。同時(shí),設(shè)備的選取是非常重要的,這決定本文設(shè)計(jì)的系統(tǒng)的難易程度以及完善程度。因此,可以在滿足用戶基本需求的條件之下,選擇合適的器件,可以提高系統(tǒng)在工作時(shí)的穩(wěn)定性和可靠性。(1)指紋識(shí)別模塊的選擇指紋識(shí)別首先應(yīng)該將收集到的指紋進(jìn)行存儲(chǔ)、計(jì)算、處理等工作。我們知道,性能比較高的指紋頭不僅能夠增加采集的速度,而且信息的準(zhǔn)確性等都能夠較為準(zhǔn)確地得到判斷。具有體積較小、功耗極低的特點(diǎn)。本設(shè)計(jì)使用了AS608指紋識(shí)別模塊,可以對(duì)識(shí)別對(duì)象進(jìn)行數(shù)據(jù)的采集,因?yàn)檫@個(gè)模塊內(nèi)部由速度很高的DSP處理器芯片,直接會(huì)對(duì)指紋數(shù)據(jù)信息進(jìn)行處理轉(zhuǎn)換,開發(fā)的時(shí)候,只需要MCU與指紋模塊進(jìn)行串口通信就能夠讀取指紋信息并進(jìn)行比對(duì)實(shí)現(xiàn)門鎖的控制。AS608指紋頭有很多優(yōu)點(diǎn):指紋很容易能夠識(shí)別,環(huán)境的干濕度對(duì)成像質(zhì)量沒有很大的影響,有著很廣泛的適用人群,算法比較先進(jìn),它對(duì)錯(cuò)誤的鑒別和容錯(cuò)能力比較好,很容易能夠?qū)ζ溥M(jìn)行擴(kuò)充,這個(gè)指紋頭有豐富的控制指令,方便開發(fā)更多的功能。主控芯片的選擇本系統(tǒng)采用STM32F系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)點(diǎn)。STM32F單片機(jī)比其他類型的單片機(jī)資源豐富,處理速度極快;STM32F系列單片機(jī)可以用簡(jiǎn)單的串口通信對(duì)其進(jìn)行燒寫,下載程序也很方便;它的內(nèi)部由看門狗電路,所以它具有很強(qiáng)抗干擾能力。2.5指紋鎖系統(tǒng)軟件方案設(shè)計(jì)指紋鎖的軟件設(shè)計(jì)主要還是有實(shí)時(shí)的操作系統(tǒng)的設(shè)計(jì)以及其中應(yīng)用軟件的設(shè)計(jì)。對(duì)于其中的實(shí)時(shí)操作系統(tǒng),是本次控制系統(tǒng)開發(fā)以及設(shè)計(jì)的重要內(nèi)容,結(jié)構(gòu)簡(jiǎn)單性能好的操作系統(tǒng)很難得,也很重要,如果對(duì)其的開發(fā)和應(yīng)用足夠充分,則能夠帶來很好的效果。2.5.1嵌入式操作系統(tǒng)的選用嵌入式操作系統(tǒng)主要會(huì)選用VxWorks、WindowsCE、BSD、μC/OS-II和linux等。結(jié)合主控芯片和需要設(shè)計(jì)的功能,因此本文選用μC/OS-II操作系統(tǒng)。表2.5.1μC/OS-II實(shí)時(shí)操作系統(tǒng)的優(yōu)點(diǎn)Table2.5.1AdvantagesofμC/OS-IIReal-TimeOperatingSystem優(yōu)點(diǎn)描述可固化μC/OS-II主要應(yīng)用于嵌入式的設(shè)計(jì),可以嵌入到產(chǎn)品中。多任務(wù)該系統(tǒng)可以管理幾十個(gè)任務(wù),應(yīng)用程序可以有上百個(gè)任務(wù)。開源性源碼開源,便于學(xué)習(xí)開發(fā)可剪裁結(jié)合實(shí)際需要,可以只使用部分功能,通過剪裁完成。任務(wù)棧每個(gè)任務(wù)都有自己?jiǎn)为?dú)的棧,以便降低對(duì)RAM的需求。可移植性大部分源碼是由ANSIC編寫的,硬件的代碼由匯編語言編寫,匯編語言壓縮至很小,便于移植。2.5.2指紋鎖控制系統(tǒng)軟件設(shè)計(jì)方案(1)指紋鎖系統(tǒng)的軟件體系我們所使用的軟件中包含uC/OS-II實(shí)時(shí)操作系統(tǒng)嵌入和應(yīng)用程序設(shè)計(jì)兩個(gè)部分。在前者當(dāng)中,其所采用的的操作系統(tǒng)能夠比較充分地利用內(nèi)核的資源,在此基礎(chǔ)上,對(duì)外圍的設(shè)備進(jìn)行相應(yīng)的驅(qū)動(dòng),再將每個(gè)模塊所具有的作用結(jié)合在一起,系統(tǒng)就能夠快速地實(shí)現(xiàn)指紋的識(shí)別等功能。①嵌入式μC/OS-II操作系統(tǒng)重點(diǎn)對(duì)幾個(gè)重要文件進(jìn)行編輯,移植到微控制器上,實(shí)現(xiàn)對(duì)操作系統(tǒng)的移植,最終實(shí)現(xiàn)基本功能。②嵌入式μC/OS-II應(yīng)用程序3.系統(tǒng)硬件介紹及設(shè)計(jì)STM32是整個(gè)系統(tǒng)的主控芯片,它的工作是要完成各種信息的處理,同時(shí)要調(diào)度應(yīng)用程序在操作系統(tǒng)下的運(yùn)行,以及控制其他外部設(shè)備:指紋識(shí)別模塊、鍵盤、12864液晶顯示屏、繼電器等。3.1單片機(jī)最小系統(tǒng)整個(gè)系統(tǒng)主要分五大塊,分別是單片機(jī)控制部分、指紋模塊部分、矩陣鍵盤部分、LCD液晶顯示部分以及所驅(qū)動(dòng)的繼電器部分。圖3.1.1整體硬件框架圖單片機(jī)是一個(gè)集CPU,RAM,ROM,和I/O口于一體的一塊微型電路。本設(shè)計(jì)選取STM32F103C8T6,是一款基于ARMCortex-M內(nèi)核STM32系列的32位控制器,程序存儲(chǔ)器容量是64KB,需要電壓2V~3.6V。單片機(jī)的工作起始狀態(tài)由復(fù)位電路確定,它能完成單片機(jī)的啟動(dòng)過程。他的內(nèi)部有40kHz的RC振蕩器,由PLL供應(yīng)CPU時(shí)鐘,有三種模式分別為睡眠、停機(jī)和待機(jī),是為了實(shí)現(xiàn)低功耗。它的內(nèi)部有7通道的DMA控制器和2個(gè)12位模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換的范圍為0~3.6V,它支持的外部設(shè)備包括定時(shí)器、ADC、SPI、I2C和USART。這個(gè)型號(hào)的單片機(jī)有37個(gè)多功能雙向轉(zhuǎn)化5V兼容的I/O口,所有的I/O口都可以投射到16個(gè)外部中斷。3.1.1STM32控制芯片STM32控制芯片是ST公司率先推出的基于Cortex-M3內(nèi)核的MCU。它以高性能、低成本、低功耗的特點(diǎn)專門應(yīng)用于嵌入式系統(tǒng)中。3.1.2STM32F01C8T6引腳排布圖在AD軟件中調(diào)取STM32F01C8T6的電路圖圖3.3.1STM32F01C8T6引腳排布圖3.1.3STM32F01C8T6與其他各部件連接所實(shí)現(xiàn)的功能最小系統(tǒng)1引腳連接1k電阻和8050三極管再接上蜂鳴器的2引腳,實(shí)現(xiàn)按鍵按下蜂鳴器發(fā)出按鍵成功的聲音;在密碼或者指紋識(shí)別成功之后,開門的提醒蜂鳴器也會(huì)發(fā)出聲音。最小系統(tǒng)的11引腳連接繼電器與小燈,實(shí)現(xiàn)的功能是模擬開鎖,指紋或者密碼比對(duì)成功即可開鎖即小燈亮起。在設(shè)置模式種,第二項(xiàng)功能為“手動(dòng)開鎖”,在此情況下小燈也會(huì)亮起,模擬開鎖成功。最小系統(tǒng)12~15引腳連接矩陣按鍵的列控制線1,2,4,8,16~19引腳連接矩陣按鍵的行控制線1,2,4,8,在一行一列的控制線的并行下可以最終得到一個(gè)按鍵,讀取一個(gè)按鍵值。最小系統(tǒng)10、23、24引腳連接指紋識(shí)別模塊,實(shí)現(xiàn)指紋識(shí)別比對(duì)標(biāo)記位的功能,把現(xiàn)場(chǎng)采集的指紋信息進(jìn)行一次照相,采取標(biāo)記為比對(duì)的方法進(jìn)行比對(duì),比對(duì)模板為內(nèi)部掉電保存的指紋。最小系統(tǒng)30、31、32引腳分別連接LCD12864液晶顯示屏的4、5、6號(hào)引腳,把下載入芯片的程序編譯運(yùn)行后的結(jié)果顯示出來。顯示屏既可顯示已設(shè)置的17種界面,又可以根據(jù)按鍵的選擇顯示相對(duì)應(yīng)的界面。3.2指紋識(shí)別模塊在AD軟件中調(diào)出指紋模塊圖3.2.1指紋模塊電路圖3.2.1指紋識(shí)別模塊的工作原理如圖3.2.1所示就是一個(gè)指紋模板,兩次錄入相同的指紋特征就能生成一個(gè)指紋模板。具體的工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板(建立一個(gè)指紋庫文件,成功錄入一個(gè)指紋)。圖3.2.1指紋模版指紋模板就是“拍照”,CMOS芯片采集指紋信息,然后處理生成0和1兩種記錄信息,傳送到指紋模塊的FLASH芯片里。在識(shí)別模式的時(shí)候,指紋模塊就會(huì)先讓CMOS芯片采集一次指紋,然后把FLASH芯片里已存的數(shù)據(jù)拿出來進(jìn)行對(duì)比,看是不是存在相同的特征數(shù)據(jù),如果存在就給出是幾號(hào)指紋。指紋模塊的主要技術(shù)指標(biāo):表3.2.1主要技術(shù)指標(biāo)Table3.2.1MainTechnicalIndicators類別參數(shù)供電電壓DC3.8~7.0V背光顏色綠色亮燈方式長亮/閃爍續(xù)表3.2.1主要技術(shù)指標(biāo)ContinuedTable3.2.1MainTechnicalIndicators類別參數(shù)供電電流工作電流:<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)拒真率(FRR)<1.0%(安全等級(jí)為3時(shí))搜索時(shí)間14.5×19.4mm上位機(jī)接口比對(duì)方式(1:1)搜索方式(1:N)通訊波特率(UART)(9600×N)bps其中N=1~12(默認(rèn)值N=6,即57600bps)3.2.2指紋識(shí)別模塊的工作命令(1)開機(jī)的時(shí)候進(jìn)行模塊握手,從而判斷模塊是不是連接正常。命令如下:驗(yàn)證口令:指令包格式:2bytes4bytes1byte2bytes1byte4bytes2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼口令校驗(yàn)和0xEF01Xxxx01H07H13HPasswordSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示口令驗(yàn)證正確;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=13H表示口令不正確;(2)生成指紋模板需要進(jìn)行如下四個(gè)個(gè)命令:錄入圖像、生成特征、合成指紋模板、存儲(chǔ)指紋模板。錄入指紋圖像指令:指令包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼校驗(yàn)和0xEF01Xxxx01H03H01HSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示錄入成功;確認(rèn)碼=02H表示傳感器上無手指;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=03H表示錄入不成功;圖像生成特征Img2Tz指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼緩沖區(qū)號(hào)校驗(yàn)和0xEF01Xxxx01H04H02HBufferIDSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(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)沒有有效原始圖而生不成圖像;特征合成模板RegMode1指令:功能說明:將CharBuffer1與CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼校驗(yàn)和0xEF01Xxxx01H03H05HSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示合并成功;確認(rèn)碼=01H表示收包有錯(cuò);確認(rèn)碼=0aH表示合并失敗(兩枚指紋不屬于同一手指);存儲(chǔ)模板Store指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼緩沖區(qū)號(hào)位置號(hào)校驗(yàn)和0xEF01XXXX01H06H06HBufferIDPageIDSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(rèn)碼校驗(yàn)和0xEF01Xxxx07H03HxxHSUM注:確認(rèn)碼=00H表示儲(chǔ)存成功;確認(rèn)碼=01H表示收包有錯(cuò);經(jīng)過以上四個(gè)步驟與命令,我們就錄入了一個(gè)指紋,重復(fù)以上步驟,我們可以再錄入其它指紋。(3)指紋識(shí)別是先轉(zhuǎn)換到識(shí)別模式,然后不斷的探測(cè)是不是有指紋出現(xiàn)在光學(xué)采集頭上。如果有則掃描指紋,與庫里面的指紋進(jìn)行比對(duì),如果是就讀出是幾號(hào)指紋。模塊會(huì)自動(dòng)探測(cè)是不是有指紋,如果有則發(fā)送下面的命令:搜索指紋Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytes包頭模塊地址包標(biāo)識(shí)包長度指令碼緩沖區(qū)號(hào)參數(shù)參數(shù)校驗(yàn)和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM應(yīng)答包格式:2bytes4bytes1byte2bytes1byte2bytes2bytes2bytes包頭模塊地址包標(biāo)識(shí)包長度確認(rèn)碼頁碼得分校驗(yàn)和0xEF01Xxxx07H07HxxHSUM注:確認(rèn)碼=00H表示搜索到;確認(rèn)碼=09H表示沒有搜索;如果搜索到就返回相應(yīng)的指紋號(hào),如果沒有就會(huì)返回0。3.3矩陣按鍵3.3.1矩陣按鍵控制電路在AD軟件中畫出矩陣按鍵對(duì)應(yīng)的電路圖,如下所示:圖3.3.1矩陣按鍵電路圖3.3.2矩陣按鍵控制界面跳轉(zhuǎn)的流程按鍵有沒有被按下,直接反應(yīng)在電壓上就是,呈現(xiàn)出高電平或低電平,若高電平表示被按下,則低電平則表示沒有按下,反之也成立。通過檢測(cè)電平的高低狀態(tài)就能判斷有沒有按鍵被按下。為了確保單片機(jī)對(duì)每一次按鍵動(dòng)作只確認(rèn)一次,并且防止干擾信號(hào)的影響,則要加入消除電平抖動(dòng)的措施,下圖3.3.2為按鍵抖動(dòng)示意。行控制線與列控制線的交叉處則可認(rèn)定按鍵被按下。有鍵按下有鍵按下前沿抖動(dòng)按鍵確定后沿抖動(dòng)圖3.3.2按鍵閉合及斷開前后的電壓3.4液晶顯示模塊3.4.112864液晶顯示屏介紹從20世紀(jì)中期開始,輕薄的顯示屏被廣泛使用,因?yàn)橐壕в衅涮厥獾奈锢怼⒒瘜W(xué)和光學(xué)特性。為了便于說明,多種液晶顯示器通常稱為液晶屏。液晶屏小巧、功耗低、操作簡(jiǎn)單,但使用溫度范圍窄,典型液晶屏正常操作溫度范圍為0°C~+55°C,存儲(chǔ)溫度范圍為-20°C~+60°C,因此在設(shè)計(jì)合適的產(chǎn)品時(shí),必須仔細(xì)選擇合適的液晶屏。12864液晶顯示屏,它有8192個(gè)中文漢字(16×16點(diǎn)陣)、128個(gè)字符(8×16點(diǎn)陣),64×256點(diǎn)陣顯示RAM(GDRAM)。表3.4.1接口信號(hào)說明Table3.4.1DescriptionofInterfaceSignals編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地11D4DataI/O2VDD電源正極12D5DataI/O3VO液晶顯示對(duì)比度調(diào)節(jié)端13D6DataI/O4RS數(shù)據(jù)/命令選擇端(H/L)14D7DataI/O5R/W讀/寫選擇端(H/L)15PSB并/串選擇H并行L串行6E使能信號(hào)16NC空腳7D0DataI/O17RST復(fù)位,低電平有效8D1DataI/O18NC空腳9D2DataI/O19A背光電源正極10D3DataI/O20K背光電源負(fù)極3.4.2控制器接口說明(1)基本操作時(shí)序:表3.4.2操作時(shí)序狀態(tài)Table3.4.2OperatingSequenceStatus狀態(tài)類別輸入/輸出讀狀態(tài)輸入:RS=L,RW=H,E=H輸出:D0~D7=狀態(tài)字寫指令輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖輸出:D0~D7=數(shù)據(jù)讀數(shù)據(jù)輸入:RS=H,RW=H,E=H輸出:無讀數(shù)據(jù)輸入:RS=H,RW=H,E=H輸出:無寫數(shù)據(jù)輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖輸出:無(2)狀態(tài)字說明表3.4.3狀態(tài)字說明Table3.4.3DescriptionofStatusWordsSTA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0STA0~6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止0:允許注:對(duì)控制器每次進(jìn)行讀寫操作之前都必須進(jìn)行讀寫檢測(cè),確保STA7為實(shí)際上,因?yàn)閱纹瑱C(jī)的操作速度比液晶控制器反應(yīng)速度,因此可以不進(jìn)行讀/寫檢測(cè),或只進(jìn)行簡(jiǎn)短延時(shí)即可。表3.4.4指令集(RE=0:基本指令集)Table3.4.4InstructionSet(RE=0:BasicInstructionSet)指令指令碼(RS/RW/DB7/DB6/DB5/DB4/DB3/DB2/DB1/DB0)說明清除顯示0/0/0/0/0/0/0/0/0/1將DDRAM填滿“20H”,并且沒定DDRAM的地址計(jì)數(shù)器(AC)到“00H”地址歸位0/0/0/0/0/0/0/0/1/X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到“00H”,并且將游標(biāo)移到開頭原點(diǎn)位置;這個(gè)指令并不改變DDRAM的內(nèi)容進(jìn)入點(diǎn)設(shè)定0/0/0/0/0/0/0/1/(I/D)/S指定在資料的讀取與寫入時(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:顯示畫面整體位移顯示狀態(tài)開/關(guān)0/0/0/0/0/0/1/D/C/BD=1:整體顯示ONC=1:游標(biāo)ONB=1:游標(biāo)位置ON游標(biāo)或顯示移位控制0/0/0/0/0/1/(S/C)/(R/L)/X/X設(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è)定0/0/0/0/1/DL/X/RE/X/XDL=1(必須設(shè)為1)RE=1:擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作設(shè)定CGRAM地址0/0/0/1/AC5/AC4/AC3/AC2/AC1/AC0設(shè)定CGRAM地址到地址計(jì)數(shù)器(AC)設(shè)定DGRAM地址0/0/1/AC6/AC5/AC4/AC3/AC2/AC1/AC0設(shè)定DDRAM地址到地址計(jì)數(shù)器(AC)續(xù)表3.4.4指令集(RE=0:基本指令集)ContinuedfromTable3.4.4InstructionSet(RE=0:BasicInstructionSet)指令指令碼(RS/RW/DB7/DB6/DB5/DB4/DB3/DB2/DB1/DB0)說明讀取忙碌標(biāo)志(BF)和地址0/1/BF/AC6/AC5/AC4/AC3/AC2/AC1/AC0讀取忙碌標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫資料到RAM1/0/D7/D6/D5/D4/D3/D2/D1/D0寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/IRAM/GDRAM)讀出RAM的值1/1/D7/D6/D5/D4/D3/D2/D1/D0從內(nèi)部RAM讀取資料(DDRAM/CGRAM/IRAM/GDRAM)表3.4.5指令表(RE=1:擴(kuò)充指令集)Table3.4.5InstructionTable(RE=1:ExtendedInstructionSet)指令指令碼(RS/RW/DB7/DB6/DB5/DB4/DB3/DB2/DB1/DB0)說明待命模式0/0/0/0/0/0/0/0/0/1將DDRAM填滿“20H”,并且沒定DDRAM的地址計(jì)數(shù)器(AC)到“00H”卷動(dòng)地址或IRAM地址選擇0/0/0/0/0/0/0/0/1/SRSR=1:允許輸入垂直卷動(dòng)地址SR=0:允許輸入IRAM地址反白選擇0/0/0/0/0/0/0/1/R1/R0選擇4行中的任一行作反白顯示,并可決定反白與否睡眠模式0/0/0/0/0/0/1/SL/X/XSL=1:脫離睡眠模式SL=0:進(jìn)入睡眠模式擴(kuò)充功能設(shè)定0/0/0/0/1/1/X/RE/G/0RE=1:擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作G=1:繪圖顯示ONG=0:繪圖顯示OFF續(xù)表3.4.5指令表(RE=1:擴(kuò)充指令集)ContinuedfromTable3.4.5InstructionTable(RE=1:ExtendedInstructionSet)指令指令碼(RS/RW/DB7/DB6/DB5/DB4/DB3/DB2/DB1/DB0)說明設(shè)定IRAM地址或卷動(dòng)地址0/0/0/1/AC5/AC4/AC3/AC2/AC1/AC0SR=1:AC5—AC0為垂直卷動(dòng)地址SR=0:AC3—AC0為ICONIRAM地址設(shè)定繪圖RAM地址0/0/1/AC6/AC5/AC4/AC3/AC2/AC1/AC0設(shè)定CGRAM地址到地址計(jì)數(shù)器(AC)模塊接受命令之前,微處理必須確保模塊內(nèi)部處于非使用狀態(tài)。也就是說,讀取BF標(biāo)志時(shí),BF必須為0,才能接收新命令。如果在不檢查BF標(biāo)志的情況下提交命令,則必須在以前的命令和此命令之間延遲很長時(shí)間。也就是說,等待上一個(gè)命令實(shí)際執(zhí)行,命令執(zhí)行時(shí)間可以參考命令表中的單個(gè)命令說明?;局噶罴c擴(kuò)充指令集的選擇控制位為“RE”位的值后,后續(xù)指令集將保持最后一個(gè)命令狀態(tài),除非再次更改“RE”位的值,否則無需在每次使用同一個(gè)指令集時(shí)重置“RE”位的值。具體指令介紹:(1)清除顯示RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”(2)位址歸位RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM(3)位址歸位RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM功能。執(zhí)行命令時(shí),設(shè)置的行將顯示在屏幕的第一行。標(biāo)記起始行由Z地址計(jì)數(shù)器控制,該命令會(huì)自動(dòng)將A0~A5位地址送入Z地址計(jì)數(shù)器,該地址可以是0~63范圍內(nèi)的任意行。z地址計(jì)數(shù)器具有顯示行掃描同步的循環(huán)計(jì)數(shù)功能,每次掃描一行完成后,會(huì)自動(dòng)添加一行。(4)顯示狀態(tài)開/關(guān)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整體顯示ONC=1;游標(biāo)ONB=1;游標(biāo)位置ON;(5)游標(biāo)或顯示移位控制RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:設(shè)定游標(biāo)的移動(dòng)與顯示移位控制位;這個(gè)指令并不改變DDRAM的內(nèi)容(6)功能設(shè)定RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0REXX功能:DL=1(必須設(shè)為1)RE=1:擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作;(7)設(shè)定CGRAM位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:設(shè)定CGRAM位址到位址計(jì)數(shù)器(AC)(8)設(shè)定DDRAM位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定DDRAM位址到位址計(jì)數(shù)器(AC)(9)讀取忙碌狀態(tài)(BF)和位址RSRWDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:讀取忙碌狀態(tài)(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器(AC)的值(10)寫資料到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/TRAM/GDRAM)(11)讀出RAM的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:從內(nèi)部RAM讀取資料(DDRAM/CGRAM/TRAM/GDRAM)(12)待命模式(12H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:進(jìn)入待命模式,執(zhí)行其他命令都可終止待命模式(13)卷動(dòng)位址或IRAM位址選擇(13H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHSR功能:SR=1;允許輸入卷動(dòng)位址SR=0;允許輸入IRAM位址(14)反白選擇(14H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能:選擇4行中的任一行作反白顯示,并可決定反白的與否(15)睡眠模式(015H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能:SL=1;脫離睡眠模式SL=0;進(jìn)入睡眠模式(16)擴(kuò)充功能設(shè)定(016H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能:RE=1;擴(kuò)充指令集動(dòng)作RE=0;基本指令集動(dòng)作G=1;繪圖顯示ONG=0;繪圖顯示OFF(17)設(shè)定IRAM位址或卷動(dòng)位址(017H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1;AC5~AC0為垂直卷動(dòng)位址SR=0;AC3~AC0寫ICONRAM位址(18)設(shè)定繪圖RAM位址(018H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:設(shè)定GDRAM位址到位址計(jì)數(shù)器(AC)3.4.4液晶顯示屏的電路連接圖在AD軟件中調(diào)出12864液晶顯示屏的電路圖圖3.4.1液晶顯示屏12864電路圖3.4.5顯示屏各個(gè)界面的跳轉(zhuǎn)表3.4.6顯示屏的17個(gè)界面Table3.4.617InterfacesofDisplayScreen界面代號(hào)界面程序截圖界面代號(hào)界面程序截圖05160516續(xù)表3.4.6顯示屏的17個(gè)界面ContinuedTable3.4.617InterfacesofDisplayScreen界面代號(hào)界面程序截圖界面代號(hào)界面程序截圖273849131014續(xù)表3.4.6顯示屏的17個(gè)界面ContinuedTable3.4.617InterfacesofDisplayScreen界面代號(hào)界面程序截圖11161217開機(jī)初始化界面,設(shè)置界面,輸入密碼,指紋識(shí)別,密碼識(shí)別正確,密碼識(shí)別失敗,指紋識(shí)別正確,指紋識(shí)別錯(cuò)誤,錄入指紋,錄入成功,錄入失敗,修改密碼,修改成功,修改失敗,手動(dòng)開鎖,系統(tǒng)所死,3.5本章小結(jié)本章首先介紹主要控制元件STM32F103C8T6微控制器,并介紹每個(gè)針腳功能和最小系統(tǒng)組件的原理。然后介紹指紋模塊,該模塊列出了此設(shè)計(jì)所需的程序模塊,接著介紹如何編程按鍵,因?yàn)楸仨毺砑佣秳?dòng)設(shè)置以減少錯(cuò)誤。最后介紹12864液晶的使用方法及其編程要點(diǎn)。4.系統(tǒng)軟件的設(shè)計(jì)4.1系統(tǒng)程序工作分析系統(tǒng)通電之后,那么所有的參數(shù)首先要進(jìn)行初始化運(yùn)行。錄入模式中,可以選擇增加刪除指紋,增加或刪除相應(yīng)模板;識(shí)別模式中,主控芯片開始控制指紋識(shí)別模塊掃描是否有指紋的輸入,當(dāng)有指紋輸入,則啟動(dòng)指紋采集程序采集指紋信息,采集完成后調(diào)用數(shù)據(jù)庫中存在的指紋進(jìn)行逐一對(duì)比。如果指紋信息相同則控制繼電器開門,否則不開門。這個(gè)電路的單片機(jī)作為控制器內(nèi)置在系統(tǒng)中。在程序開發(fā)中,必須設(shè)置一系列c語言函數(shù)子例程,以便可以隨時(shí)調(diào)用主程序。單片機(jī)編程是使用keil單片機(jī)軟件開發(fā)環(huán)境完成的,該編譯器首先將源程序分成多個(gè)模塊來編寫,然后編譯器可以生成最終文件。調(diào)試通過下載線下載到單片機(jī)。根據(jù)電路的功能要求,主程序必須在液晶屏初始化的同時(shí)檢測(cè)按鍵,并使用相應(yīng)的按鍵執(zhí)行相應(yīng)的操作。4.2主程序流程圖圖4.2.1主程序流程圖4.3程序分析4.3.1鍵盤管理程序設(shè)計(jì)流程本次設(shè)計(jì)所采用的按鍵是4×4矩陣鍵盤,大家都知道,矩陣鍵盤一般分?jǐn)?shù)字區(qū)0123456789*#和英文字母區(qū)ABCD,如下圖:圖4.3.1按鍵排布及定義在本次設(shè)計(jì),其中的*定義為刪除,當(dāng)輸入密碼錯(cuò)誤時(shí)可以一位位刪除密碼。#定義為確定,當(dāng)輸入密碼后點(diǎn)擊確定打開密碼鎖。CD兩個(gè)按鍵定義為返回,可以返回上層頁面。數(shù)字區(qū)是用來輸入密碼,使其進(jìn)入設(shè)置頁面或者驅(qū)動(dòng)繼電器打開門鎖。設(shè)置頁面可以增加或刪除指紋,及手動(dòng)開鎖與更改密碼。A按鍵是用來進(jìn)入設(shè)置界面,B未定義。按鍵處理函數(shù)voidKey_Dispose(){unsignedcharKey_x; Key_assignment(0); Small_Delay(50);//短暫延時(shí) if(Key_Data!=0x0f) {if(Key_flag==1)//按鍵按下只執(zhí)行一次 {Key_flag=0;Key_x=Key_Data;Key_assignment(1);Small_Delay(10); Key_Data=Key_Data&Key_x;//兩個(gè)數(shù)據(jù)按位與,產(chǎn)生數(shù)據(jù)switch(Key_Data) {case0x11:key_back=1;break; case0x12:key_back=2;break; case0x14:key_back=3;break; case0x18:key_back=12;break; case0x21:key_back=4;break; case0x22:key_back=5;break; case0x24:key_back=6;break; case0x28:key_back=13;break; case0x41:key_back=7;break; case0x42:key_back=8;break; case0x44:key_back=9;break; case0x48:key_back=14;break; case0x81:key_back=10;break; case0x82:key_back=0;break; case0x84:key_back=11;break; case0x88:key_back=15;break;} system_time=10; beep_time=1;}} elseKey_flag=1;鍵盤消抖的工作流程圖如圖3-2所示:圖4.3.1鍵盤程序流程圖4.3.2LCD顯示模塊程序設(shè)計(jì)流程顯示模塊主要完成數(shù)據(jù)的顯示功能,然后根據(jù)接受到指令顯示相關(guān)的內(nèi)容在屏幕上。顯示屏顯示設(shè)置函數(shù)示例一:voiddisplay(){if(state==0){ Password_count=0;Password[0]=0;Password[1]=0;Password[2]=0;Password[3]=0;Password[4]=0;Password[5]=0; LCD12864_Pos(0,0); LCD12864_writebyte((unsignedchar*)"歡迎使用"); LCD12864_Pos(1,0); LCD12864_writebyte((unsignedchar*)"指紋門禁系統(tǒng)"); LCD12864_Pos(2,0); LCD12864_writebyte((unsignedchar*)""); LCD12864_Pos(3,0);LCD12864_writebyte((unsignedchar*)"請(qǐng)您開鎖"); }LCD顯示模塊程序設(shè)計(jì)流程圖:圖4.3.2顯示程序流程圖4.3.3指紋比對(duì)程序voidHAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef*htim){ Time2_ms++; if(Time2_ms%50==0 { if(Search_time!=0) Search_time--; else Search_Sign=0; if(JDQ_time!=0){ if(JDQ_time>30){system_time=2;state=4;} JDQ_time--; JDQ_1; } elseJDQ_0; if(beep_time!=0) { beep_time--; GPIOC->ODR^=GPIO_PIN_14; } else{beep_flag=1;beep_0;} }整個(gè)過程設(shè)定了指紋識(shí)別模塊的掃描時(shí)間間隔,掃描成功顯示屏顯示界面改變,繼電器狀態(tài)改變,小燈亮起模擬開鎖,同時(shí)蜂鳴器連續(xù)發(fā)出兩聲,然后系統(tǒng)倒計(jì)時(shí)2s,界面跳轉(zhuǎn)到最初始的界面1。4.3.4密碼比對(duì)程序unsignedcharSearch_Sign=0;unsignedcharSearch_time=0;unsignedcharCommand_flag=1;unsignedcharPassword[6]={0,0,0,0,0,0};unsignedcharPassword1[6]={0,0,0,0,0,0};unsignedcharPassword_flsh[6]={0,0,0,0,0,0};unsignedcharPassword_count=0;unsignedintFingerprint_Num=0;unsignedcharsystem_time=0;unsignedcharbeep_time=0;unsignedcharJDQ_time=0;unsignedcharmi_ma_Error=0;unsignedcharzhiwen_Error=0;unsignedchars0=0;unsignedintTime2_ms=0;unsignedcharstate=0;此段代碼定義了數(shù)組來寄存設(shè)置好的六位數(shù)字密碼,設(shè)置為初始密碼;再定義了新數(shù)組在暫存輸入的密碼,為后續(xù)密碼比對(duì)打基礎(chǔ);最后增加了三次密碼比對(duì)不成功則系統(tǒng)鎖死60s。 if(Password_count<6) { Password[Password_count]=key_back; Password_count++; } key_back=16; state=14;輸入密碼,長度不夠,則光標(biāo)繼續(xù)閃動(dòng),不予比對(duì)初始密碼。if((Password[0]==1&&Password[1]==3&&Password[2]==1&&Password[3]==4&&Password[4]==2&&Password[5]==0)||(Password[0]==Password1[0]&&Password[1]==Password1[1]&&Password[2]==Password1[2]&&Password[3]==Password1[3]&&Password[4]==Password1[4]&&Password[5]==Password1[5])輸入的密碼與初始密碼131420做逐位比對(duì)。4.4Keil編程單片機(jī)是電路的主控制器,選擇了所需的各種硬件,并用單片機(jī)開發(fā)了指紋模塊、液晶、按鍵等。首先,必須設(shè)置一系列要在主程序中調(diào)用的c語言子例程。該設(shè)計(jì)采用keilμvision2對(duì)單片機(jī)編程。keil編譯c源程序,裝配源程序,生成代碼非常有效,大多數(shù)語句生成的裝配代碼很小,也很容易理解。keil軟件能提供豐富的庫功能和強(qiáng)大的集成開發(fā)調(diào)試工具,能夠鏈接和重新定位目標(biāo)文件和庫文件、創(chuàng)建hex文件以及調(diào)試目標(biāo)程序。使用Keil軟件的主要工作流程為:(1)建立一個(gè)新工程,然后從器件庫中選擇單片機(jī)型號(hào)STM32F103型號(hào)中的c8t6。(2)新建text文件,命名為main.c,然后在Target1的子文件SourceGroup1中添加main.c文件。(3)點(diǎn)擊下圖中箭頭所指的圖標(biāo),彈出如下對(duì)話框,在Xtal后輸入9600,即單片機(jī)的工作頻率為9600MHz。圖4.4.1設(shè)置波特率(4)點(diǎn)擊Output標(biāo)簽,在CreateHEX前的方框內(nèi)勾選,這樣可以生成.hex文件以便下載進(jìn)單片機(jī)中。(5)用C語言創(chuàng)建源程序。(6)修改源程序中的錯(cuò)誤。(7)測(cè)試,鏈接應(yīng)用。4.5本章小結(jié)本章包含選擇硬件后的設(shè)計(jì)軟件工作流程,以及執(zhí)行keil軟件編程,然后運(yùn)行程序所需的".hex”文件的創(chuàng)建方法。然后,為了使系統(tǒng)的每個(gè)部分按順序工作,必須保持時(shí)鐘狀態(tài)。5.硬件調(diào)試5.1電路的焊接1.焊前準(zhǔn)備首先要熟悉所焊接電路的電路圖,并按圖紙選取硬件材料,按照?qǐng)D紙要求檢查元器件型號(hào)、規(guī)格及數(shù)量,選擇好焊接所用的焊臺(tái),在并做好裝配前元器件引線成型等準(zhǔn)備工作。2.焊接順序?yàn)樵骷b焊順序?yàn)橄刃『蟠螅才藕闷渥詈米呔€的位置。表5.1.1元器件焊接要求Table5.1.1WeldingRequirementsforComponents器件類型對(duì)應(yīng)要求電容器將電容器安置在規(guī)定位置,注意電容器極性,其“+”與“-”極不能反接,電容器上的標(biāo)記方向能夠顯而易見。先裝玻璃釉電容器、有機(jī)介質(zhì)電容器、瓷介質(zhì)電容器,最后裝電解電容器。二極管二極管焊接要注意陽極陰極的極性;型號(hào)標(biāo)記;三極管注意e、b、c三引線位置;焊接時(shí)間盡可能短,焊接時(shí)用鑷子夾住引腳,以利散熱。焊接大功率三極管時(shí),如果需要加裝散熱片,應(yīng)將接觸面平整、打磨光滑后再緊固,如果要求加墊絕緣薄膜時(shí),絕對(duì)不可忘記。管腳與電路板需連接時(shí),要用塑料導(dǎo)線。集成電路焊接首先按圖紙要求,檢查型號(hào)、引腳位置是不是符合要求。焊接時(shí)先焊邊沿的二只引腳,讓其定位,然后從左到右自上而下依次焊接。對(duì)于電容器、二極管、三極管露在電路板面上過長的引腳要全部剪去。LCD128641)要避免過大外力接觸,由可能使屏不顯示或損壞。2)不得用手或硬工具或物體觸摸、按壓或摩擦顯示器。否則屏幕的偏振板會(huì)被物體毀壞。3)如果液晶屏破裂,液晶可以通過空氣吸入,注意不要讓液晶接觸皮膚,接觸的話要立即用酒精沖洗,然后用水清洗。4)不能使用可溶性有機(jī)體清潔顯示器。這種可溶性溶劑對(duì)偏光板不利,因此清潔顯示器時(shí),可以用棉花蘸取少量石油苯,輕輕擦拭,或用透明膠帶粘污。續(xù)表5.1.1元器件焊接要求ContinuedTable5.1.1WeldingRequirementsforComponents器件類型對(duì)應(yīng)要求LCD128645)為了防止高壓靜電引起的放電,模塊的CMOS電路可能會(huì)損壞。6)不能將模塊
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兩部門要求做好“三區(qū)”人才支持計(jì)劃教師專項(xiàng)計(jì)劃工作
- 醫(yī)美運(yùn)營合同范本
- 仁懷酒廠收購合同范本
- 廚師勞務(wù)合同范本單位
- 出售恒安小區(qū)房子合同范本
- 個(gè)人買賣狗狗合同范本
- 廠區(qū)門面房租賃合同范例
- 《荷葉圓圓》說課稿
- 叉車 吊車合同范本
- 農(nóng)村私房承建合同范本
- 汽機(jī)組拆除方案
- 脊柱損傷搬運(yùn)(共18張)課件
- 新教材人教版高中化學(xué)選擇性必修3全冊(cè)各章節(jié)知識(shí)點(diǎn)考點(diǎn)重點(diǎn)難點(diǎn)歸納總結(jié)
- 生產(chǎn)組織供應(yīng)能力說明
- 碳酸丙烯酯法脫碳工藝工程設(shè)計(jì)
- 藥劑學(xué)-名詞解釋
- 口語課件Unit 1 Ways of Traveling Possibility and Impossibility
- 城市支路施工組織設(shè)計(jì)
- 耐堿玻纖網(wǎng)格布檢測(cè)報(bào)告
- 20米往返跑教案 (2)
- 甲醛安全周知卡
評(píng)論
0/150
提交評(píng)論