【基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)11000字(論文)】_第1頁
【基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)11000字(論文)】_第2頁
【基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)11000字(論文)】_第3頁
【基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)11000字(論文)】_第4頁
【基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)11000字(論文)】_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于STM32單片機(jī)的智能電子密碼鎖設(shè)計(jì)摘要眾所周知,21世紀(jì)是信息化時(shí)代。在社會(huì)不斷向前發(fā)展的過程中,電子技術(shù)也得到了良好的發(fā)展,其中,鎖具也從傳統(tǒng)的機(jī)械鎖具向各類電氣智能的方向發(fā)展。在人民群眾的日常生活中,指紋鎖、人臉識(shí)別鎖、電子密碼鎖這類智能電子逐漸得到應(yīng)用。本文按照密碼匹配技術(shù)和單片機(jī)技術(shù),設(shè)計(jì)了一種可以輸入密碼解鎖、編輯密碼、存儲(chǔ)密碼的電子密碼鎖。本設(shè)計(jì)以STM32單片機(jī)為核心設(shè)備,設(shè)置相應(yīng)的密碼和指紋鎖鑰匙,突破了舊的開鑰匙的方法,保障人民的生命安全及其財(cái)產(chǎn),使其變得更加安全可靠。本設(shè)計(jì)選擇機(jī)械按鍵,通過按鍵實(shí)現(xiàn)指紋輸入功能;一方面,通過按鍵來設(shè)置開門密碼。單片機(jī)能夠控制指紋輸入和指紋匹配功能,實(shí)現(xiàn)指紋解鎖功能,并將指紋和密碼存儲(chǔ)在EEPROM存儲(chǔ)器中;總的來說,該結(jié)構(gòu)采用LCD液晶顯示控制模式、指紋輸入數(shù)據(jù)和解鎖。用繼電器電路模擬門的啟閉狀態(tài);同時(shí)該設(shè)計(jì)全面提升了鎖的智能化和安全性、可靠性,減少了財(cái)務(wù)失竊的情況,更好地維護(hù)了人民的生命財(cái)產(chǎn)安全。關(guān)鍵詞:密碼鎖;STM32;LCD1602目錄TOC\o"1-3"\h\u21190第一章緒論 I第一章緒論第一節(jié)研究背景就當(dāng)下來看,人民群眾的生活水平得到了非常大的提升,相應(yīng)的智能技術(shù)也得到了極大的發(fā)展,鎖具也延伸出了密碼鎖、電磁鎖、電子鎖、激光鎖、聲控鎖等智能鎖。按照傳統(tǒng)的鑰匙,通過添加一個(gè)或多個(gè)密碼、不同的聲音、不同的磁場、不同的聲波、不同的光線、不同的圖像來控制開鎖。這些手段都有效保障了鎖的安全性,使犯罪分子沒有可趁之機(jī),也增加了人民群眾的財(cái)產(chǎn)的安全性。鑒于此,帶密碼的電子防盜鎖作為防盜防護(hù)的作用變得越來越關(guān)鍵,通過發(fā)展智能鎖,以期幫助人民群眾更好地解決防盜的問題。在國外一些發(fā)達(dá)國家,不同種類的智能門鎖在市場上得到了廣泛的應(yīng)用,使用范圍也達(dá)到了非常高的水平。在日本、韓國等一些國家,智能門鎖大多是不聯(lián)網(wǎng)的,以密碼和卡式門鎖來開啟為主,在市場上的發(fā)展態(tài)勢良好。在歐美,智能門鎖主要是基于藍(lán)牙和密碼解鎖。在西方一些國家,由于環(huán)境溫度的影響,智能門鎖一般不用于智能家居。而且在市場上也有更廣泛、更嚴(yán)格的標(biāo)準(zhǔn),智能鎖也是統(tǒng)一的。對(duì)尺寸、鎖筒、鎖體有相關(guān)要求。雖然我國智能門鎖的發(fā)展速度不如這些國家快,但規(guī)模增長迅速,特別是基于網(wǎng)絡(luò)和生物識(shí)別等技術(shù)。應(yīng)用率非常低,智能門鎖最初在銀行、收銀機(jī)、軍警和商業(yè)辦公室的使用較為廣泛。這些年來,智能門鎖在民用市場上逐漸流行起來,人民群眾逐漸選擇智能門鎖來保障家中的財(cái)產(chǎn)安全。第二節(jié)研究意義由于傳統(tǒng)機(jī)械鎖結(jié)構(gòu)較為簡易,電子密碼防盜裝置用密碼或指紋替換鑰匙的情況并不少見,這不僅節(jié)省了鑰匙的磨損,也解決了成本高的不足之處,提升了普通門鎖的保密性。就當(dāng)下來看,安全信息系統(tǒng)的應(yīng)用越來越廣泛,尤其是在保護(hù)機(jī)密性、維護(hù)隱私和保證安全方面,而基于電子密碼鎖的安全系統(tǒng)就是其中的一部分,因此通過對(duì)其進(jìn)行實(shí)際檢驗(yàn),以期能夠?yàn)槠浜罄m(xù)的發(fā)展提供相應(yīng)的參考借鑒。第三節(jié)國內(nèi)外研究現(xiàn)狀隨著教育信息化的發(fā)展,歐美的電子密碼鎖種類更為豐富,技術(shù)相當(dāng)廣泛且領(lǐng)先,在各行各業(yè)都得到了廣泛應(yīng)用,同時(shí)也在推動(dòng)其他國家地區(qū)的發(fā)展。我國曾在密碼鎖的智能化發(fā)展上投入巨大人力物力,智能密碼鎖將成為數(shù)字化時(shí)代的潮流。然而,我國對(duì)電子密碼鎖的研究依舊比西方發(fā)達(dá)國家落后了很多。經(jīng)過許多年的發(fā)展,射頻技術(shù)、指紋技術(shù)和密碼鎖技術(shù)已經(jīng)得到了不小的提升。但是,由于我國對(duì)其開發(fā)較晚,智能鎖在我國民用市場上占比仍很低,甚至不足15%,但是,現(xiàn)階段國內(nèi)智能鎖市場仍處于上升階段,具有廣闊的市場。在未來一段時(shí)間,隨著各行業(yè)認(rèn)識(shí)更多了解智能鎖,我國市場終將認(rèn)可智能鎖,智能鎖必將走入更多人家。電子鎖技術(shù)的發(fā)展是我國數(shù)字化進(jìn)程的代表之一,我國現(xiàn)在的電子鎖技術(shù)相當(dāng)于歐美國家上世紀(jì)中期的普遍水平,上世紀(jì)末端,由于我國集成電路、單片機(jī)技術(shù)的發(fā)展,電子密碼鎖的水平得到了極大的提升,進(jìn)一步拉近與歐美國家的距離。電子密碼鎖具有安全性好、便攜的優(yōu)點(diǎn),受到廣大群眾的喜歡,并且關(guān)于它的研究仍然在繼續(xù),研究人員正在不斷開發(fā)出如新功能。隨著技術(shù)的更新,不斷有新的電子器件被制造出來,它們的出現(xiàn)降低了電子器件的價(jià)格,減少了電子密碼鎖的成本,拓展了多功能的電子密碼鎖的開發(fā)市場。第二章總體方案設(shè)計(jì)第一節(jié)總體方案設(shè)計(jì)為了保證單片機(jī)正常進(jìn)行指紋掃描設(shè)計(jì),必須通過硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件聯(lián)合調(diào)試來完成。本設(shè)計(jì)主要包括微處理器、指紋電路、鍵盤電路、LCD屏幕電路、記錄電路、報(bào)警電路和繼電器電路的設(shè)計(jì)。首先根據(jù)設(shè)計(jì)所需的部分對(duì)設(shè)備進(jìn)行選型和驗(yàn)證,然后對(duì)硬件電路進(jìn)行詳細(xì)設(shè)計(jì),獲得所需的設(shè)備,安裝設(shè)備,從硬件電路中修復(fù)輸出電壓和電流,然后根據(jù)設(shè)計(jì)要求編寫軟件,完成并測試代碼。在此基礎(chǔ)上,確保整個(gè)功能能夠順利運(yùn)行。第二節(jié)微處理器選型第一種方案:該單片機(jī)只有一個(gè)串口、兩個(gè)定時(shí)器和兩個(gè)外部中斷端口。相對(duì)較低,芯片封裝采用DIP-40引腳設(shè)計(jì),供電電壓可從普通手機(jī)充電器的5V電源中選擇,性價(jià)比高。第二種方案:低功耗系列單片機(jī)STM32單片機(jī)。單片機(jī)內(nèi)置集成ADC模塊、SPI模塊、IIC總線模塊等。STM32系列單片機(jī)的工作頻率可達(dá)72mhz。該微控制器是一種低功耗微控制器。與節(jié)能產(chǎn)品,特別是鋰電池產(chǎn)品配套的微控制器價(jià)格略高。當(dāng)外部5V電源需要添加降壓芯片時(shí),工作電壓只能為1.8V~3.6V。該模塊在市場上銷售的價(jià)格僅為8.8元,比51單片機(jī)貴,但該模塊必須集成電源和最小系統(tǒng)設(shè)計(jì)。綜上所述:可以選擇第二種方案進(jìn)行設(shè)計(jì)。第三節(jié)顯示模塊選型第一種方案:選擇液晶顯示器LCD1602顯示。LCD屏幕是一個(gè)字符LCD,其中包含一個(gè)ASCII繪圖庫。只要將數(shù)據(jù)連接和控制引腳連接到單片機(jī)上,液晶顯示器的電路設(shè)計(jì)就很簡單。注意對(duì)比度控制端口必須設(shè)計(jì)一個(gè)可調(diào)的電位器,內(nèi)部對(duì)比度才能達(dá)到最好的顯示效果。如果LCD數(shù)據(jù)口是51單片機(jī)的P0口,則P0口必須連接上拉電阻設(shè)計(jì)。由于P0口從輸出口打開,沒有電阻保證電路正常運(yùn)行,單片機(jī)可以根據(jù)液晶屏的定時(shí)控制對(duì)其進(jìn)行操作。第二種方案:選擇一個(gè)有機(jī)發(fā)光二極管液晶屏幕顯示,通常選擇一個(gè)0.96英寸的液晶屏設(shè)計(jì),LCD屏幕可以顯示RGB顏色,用戶界面設(shè)計(jì)更好,更新速度快,全視角顯示,厚度薄而小,它可以顯示漢字。字符、圖像和其他屏幕內(nèi)容都是彩色的。與LCD1602顯示相對(duì)簡單,通信方式簡易,SPI通信可以實(shí)現(xiàn)液晶顯示,而且價(jià)格比LCD1602要貴。綜上所述:由于本設(shè)計(jì)要反映門道信息、門道方式和運(yùn)作方式,所以顯示的不多,所以選擇第一種方案開展設(shè)計(jì)工作。第四節(jié)蜂鳴器選型由于本設(shè)計(jì)檢測的對(duì)象數(shù)量多,傳感器數(shù)量多,傳感器數(shù)據(jù)采集的速度和采集數(shù)據(jù)的準(zhǔn)確性非常重要。第一種方案:大多數(shù)蜂鳴器都是電磁裝置,通常需要PWM控制來控制蜂鳴器,蜂鳴器通常需要諧振線圈的幫助,否則聲音很小,若是距離過遠(yuǎn)的話,就無法聽到。所以這不是最好的選擇。第二種方案:報(bào)警選擇穩(wěn)壓器。單片機(jī)通過指令NPN或PNP晶體管與MOS管的開關(guān)來實(shí)現(xiàn)蜂鳴器;電壓型蜂鳴器不受諧振規(guī)模的限制;蜂鳴器的工作流程小,單片機(jī)只通過管腳來控制蜂鳴器,并通過設(shè)置引腳的高低電平來實(shí)現(xiàn)及時(shí)報(bào)警。總的來說,第二種方案是該模式的最佳選擇。第五節(jié)按鍵選擇第一種方案:采用矩陣按鈕模塊開展設(shè)計(jì)工作。矩陣鍵盤模塊適用于多參數(shù)設(shè)計(jì),更適用于多級(jí)數(shù)字或菜單功能。在相同鍵的情況下,使用矩陣鍵盤節(jié)省了端口的數(shù)量,并在輸入代碼時(shí)提供了更多的靈活性。第二種方案:選擇獨(dú)立按鈕設(shè)計(jì)獨(dú)立按鈕適用于功能單一、菜單層數(shù)少、操作簡單的產(chǎn)品。該程序可以識(shí)別高低電平,實(shí)現(xiàn)按鈕檢測。綜上所述:這個(gè)模板需要0-9個(gè)數(shù)字的密碼,這使得選擇數(shù)組鍵盤更容易。第六節(jié)繼電器選型第一種方案:設(shè)計(jì)中采用常用的半導(dǎo)體繼電器,體積小,控制電壓范圍寬。集成光耦電路可以將它們完全隔離,從設(shè)計(jì)安全的角度來看更加可靠。它可以設(shè)計(jì)為交流控制。半導(dǎo)體線的價(jià)格通常在20-70元之間。在器件電路設(shè)計(jì)中,需要增加MOS管進(jìn)行控制,現(xiàn)成模塊較少。第二種方案:選擇一個(gè)標(biāo)準(zhǔn)繼電器進(jìn)行設(shè)計(jì)。該繼電器外形較大,能達(dá)到內(nèi)部安全絕緣的效果。它也可以通過直流控制交流信號(hào)。價(jià)格約5元,操作簡單。這個(gè)繼電器有現(xiàn)成的模塊,可以直接購買。綜上所述:根據(jù)硬件成本和硬件電路難度,選擇第二種方案最佳。第三章系統(tǒng)硬件設(shè)計(jì)第三章分析了各功能模塊電路的實(shí)現(xiàn)方法,包括單片機(jī)的引腳切換方法和單片機(jī)的功能。系統(tǒng)的總體設(shè)計(jì)框圖,詳細(xì)的電路設(shè)計(jì)進(jìn)行了根據(jù)方框圖的一般要求和最小單片機(jī)的電路,顯示電路的設(shè)計(jì)、電源電路的設(shè)計(jì)和電路的指紋模塊。詳細(xì)分析了蜂鳴器報(bào)警電路、記錄模塊電路和按鈕模塊電路的設(shè)計(jì)。第一節(jié)硬件設(shè)計(jì)方案本設(shè)計(jì)是一種基于單片機(jī)的多功能密碼鎖設(shè)計(jì)。本章根據(jù)設(shè)計(jì)目的、設(shè)計(jì)要求和設(shè)計(jì)方案,主要對(duì)硬件電路進(jìn)行了詳細(xì)設(shè)計(jì),主要對(duì)設(shè)備進(jìn)行了檢測,設(shè)置不同的功能模塊。首先為電路的功能選擇合適的設(shè)備,如濾波電容和功率限制電阻,選擇適合本電路要求的設(shè)備。在此基礎(chǔ)上,根據(jù)設(shè)計(jì)方案繪制原理圖和PCB布局圖。其結(jié)構(gòu)分為微處理器、指紋模塊、蜂鳴器模塊、LCD顯示模塊、矩陣鍵模塊、記錄模塊和繼電器模塊。整個(gè)電路設(shè)計(jì)系統(tǒng)框圖見下圖3.1,系統(tǒng)整體電路圖見下圖3.2。圖3.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)圖3.2系統(tǒng)總體電路圖設(shè)計(jì)第二節(jié)微處理模塊單片機(jī)的最小操作系統(tǒng)主要包括單片機(jī)、時(shí)鐘電路、復(fù)位電路。如果單片機(jī)能夠正常工作,時(shí)鐘電路和復(fù)位電路是必須要有的組成部分,時(shí)鐘電路為單片機(jī)提供精確的時(shí)鐘脈沖。本設(shè)計(jì)采用STM32F103C8T6單片機(jī),主要對(duì)電源、晶振和系統(tǒng)時(shí)鐘進(jìn)行設(shè)置。電源電路的作用是通過線性低壓控制器將5V電源轉(zhuǎn)換成3.3V電源,負(fù)責(zé)單片機(jī)的供電。電容C12的作用是將旋鈕拆下,防止在剛觸碰或松開按鈕時(shí)因水平振動(dòng)而導(dǎo)致誤操作。本設(shè)計(jì)選用STM32系列單片機(jī),型號(hào)為STM32F103C8T6。本設(shè)計(jì)決定購買一個(gè)由STM32C8T6單片機(jī)組成的最小系統(tǒng)電路。所述最小系統(tǒng)電路包括單片機(jī)、復(fù)位電路、時(shí)鐘電路、LDO安裝電路、電源接口電路、啟動(dòng)接口電路、啟動(dòng)功能指示電路、充電電路和調(diào)試接口。STM32F103C8T6有很非常大的優(yōu)勢。基于這些優(yōu)點(diǎn),開展電路設(shè)計(jì)工作。為了避免電源中斷和電路波動(dòng),在如圖3.3所示的單片機(jī)濾波電路圖中,需要對(duì)單片機(jī)的VCC鍵和VDD鍵進(jìn)行濾波或電容保護(hù)。圖3.3單片機(jī)濾波電路圖STM32單片機(jī)的外部系統(tǒng)時(shí)鐘通常采用8MHz無源晶體振蕩器設(shè)計(jì)。使晶振兩端連接到負(fù)載電容上,將晶振兩端連接到單片機(jī)第5和第6管腳處。其中,負(fù)載容量的選擇是根據(jù)晶體振蕩器規(guī)范中的CPL配置的。單片機(jī)的最小系統(tǒng)電路不僅需要一個(gè)時(shí)鐘電路,還要有一個(gè)復(fù)位電路才能正常工作。重置節(jié)省了成本,而且也能夠保障正常運(yùn)行,這就是為什么選擇RC循環(huán)的設(shè)計(jì)的原因。對(duì)硬件電路中的電阻和容量進(jìn)行復(fù)位,滿足要求,并在程序中加入獨(dú)立的看門狗模型。為了防止單片機(jī)在硬件結(jié)構(gòu)運(yùn)行過程中運(yùn)行或崩潰,通常在硬件設(shè)計(jì)中增加手動(dòng)按鍵式復(fù)位電路。具體的系統(tǒng)電路結(jié)構(gòu)見下圖3.4。圖3.4最小系統(tǒng)電路圖第三節(jié)電源電路設(shè)計(jì)整個(gè)系統(tǒng)采用外置5V電源供電。5V電源為單片鎮(zhèn)流器模塊、語音模塊功能和最小系統(tǒng)模塊供電。另一個(gè)5V電源通過3.3VLDO輸出為指紋模塊、鍵盤模塊和顯示模塊供電。與此型號(hào)配套的模塊有一個(gè)3.3V的直流電路,為整個(gè)微控制器提供3.3V的電源;輸入電壓選用外部5V電源;并連接到C14/C15來移除濾波電容器。為了防止過大的功率對(duì)芯片產(chǎn)生影響,還設(shè)計(jì)了輸出連接器,并連接到/C16/C17濾波電容器,不因輸出連接器產(chǎn)生的干擾而干擾單片機(jī)的正常運(yùn)行;鑒于此,電路結(jié)構(gòu)是非常關(guān)鍵的。在繪制PCB時(shí),這些電容器應(yīng)盡可能靠近電源的輸入和輸出端口[9]。具體情況見下圖3.5。圖3.5電源電路設(shè)計(jì)第四節(jié)液晶顯示電路設(shè)計(jì)LCD顯示屏能夠反映出數(shù)字和字符。液晶顯示器與單片機(jī)控制時(shí)序引腳的接口為RS、RW、EN。這三條控制線可用于定時(shí)控制。定時(shí)控制命令和數(shù)據(jù)寫命令可以根據(jù)單片機(jī)對(duì)LCDD0-D7數(shù)據(jù)引腳的控制來執(zhí)行相應(yīng)的功能。為了使屏幕更清晰,LCD的V0引腳需要一個(gè)外部滑塊來調(diào)整對(duì)比度以保障相應(yīng)的顯示效果。就實(shí)際情況來看,生活中最常用的LCD1602液晶內(nèi)部寄存器為顯示功能增加了許多控制功能,如滾動(dòng)顯示、閃爍繪圖顯示等,為展示設(shè)計(jì)添加了特殊效果。LCD顯示地址區(qū)域的地圖。一般來說,第一行代碼從0X80開始,第二行代碼從0XC0開始。LCD屏幕上的第一個(gè)引腳為GND,第二個(gè)引腳為VCC,第三個(gè)引腳為對(duì)比度控制,第4、5、6個(gè)管腳為定時(shí)控制管腳,第7~14個(gè)管腳為數(shù)據(jù)管腳。鑒于單片機(jī)的PB端口與LCD數(shù)據(jù)控制器相連,具體電路見下圖3.6。圖3.6LCD顯示電路設(shè)計(jì)圖第五節(jié)報(bào)警電路設(shè)計(jì)這個(gè)模型選擇了一個(gè)使用蜂鳴器作為警報(bào)的設(shè)備。由于蜂鳴器體積小,結(jié)構(gòu)簡單,使用的電壓蜂鳴器聲音尖銳,報(bào)警容易。在器件的電路設(shè)計(jì)中,I/O口的電源很小,不能直接控制蜂鳴器。讓蜂鳴器工作的唯一方法是添加一個(gè)驅(qū)動(dòng)器來放大聲音。單片機(jī)的I/O口借助控制電路來控制蜂鳴器的工作。本設(shè)計(jì)采用晶體管S9012作為控制電路,限流電阻控制晶體管的通斷開關(guān)。MCUI/O口設(shè)置MCUI/O口時(shí),低電平三極管打開,蜂鳴器就會(huì)發(fā)出警報(bào)。具體的報(bào)警電路見下圖3.7。圖3.7聲音報(bào)警電路第六節(jié)繼電器電路設(shè)計(jì)本設(shè)計(jì)選擇繼電器來模擬設(shè)計(jì)電子鎖開關(guān)。鑒于單片機(jī)的輸出電流無法符合繼電器的工作狀態(tài),繼電器是一個(gè)電磁裝置,當(dāng)繼電器關(guān)閉將導(dǎo)致大電流對(duì)單片機(jī)的引腳的影響,這將損壞單片機(jī),因此采用NPN型晶體管控制繼電器工作;當(dāng)單片機(jī)給晶體管一個(gè)高電平時(shí),晶體管導(dǎo)通使線圈帶電,電磁鐵在后一階段吸合負(fù)載,表明電子鎖已打開;當(dāng)單片機(jī)給出低電平時(shí),晶體管不導(dǎo)電,線圈無電,電磁鐵斷開,繼電器不工作;這意味著電子鎖是關(guān)閉的。詳細(xì)情況見下圖3.8。圖3.8繼電器電路圖第七節(jié)存儲(chǔ)電路設(shè)計(jì)本設(shè)計(jì)應(yīng)存儲(chǔ)設(shè)置的密碼和指紋數(shù)據(jù)。該設(shè)計(jì)在停電后不會(huì)丟失,因此本設(shè)計(jì)選用AT24C02存儲(chǔ)芯片作為設(shè)計(jì)。芯片通信部分為IIC通信接口,存儲(chǔ)空間為2KB。芯片分為地址線A0-A2接口,通信線分為數(shù)據(jù)線和時(shí)鐘線接口和保護(hù)WP端口。芯片的供電電壓通常設(shè)計(jì)為3v-5.5v,連接到單片機(jī),時(shí)鐘線和數(shù)據(jù)線連接到I/O口和一個(gè)外部的4.7KΩ上拉電阻。內(nèi)存切換圖見下圖3.9。圖3.9存儲(chǔ)電路圖第八節(jié)矩陣鍵盤電路及指紋電路設(shè)計(jì)本設(shè)計(jì)必須設(shè)置密碼,去掉指紋和密碼按鈕,并通過按鈕輸入指紋按鈕。加上其他功能按鈕,該設(shè)計(jì)大約包括從0到9的十個(gè)數(shù)字?jǐn)?shù)據(jù)。密碼鎖的基本功能需要14個(gè)按鈕。這就是為什么這個(gè)設(shè)計(jì)選擇了4×4矩陣鍵盤的原因。矩陣式鍵盤的設(shè)計(jì)是將按鍵以行列格式連接到微控制器的I/O接口,使輸入代碼更容易。矩陣式鍵盤電路見下圖3.10。圖3.10矩陣鍵盤電圖在指紋模塊中,光指紋模塊用于輸入指紋信息。指紋模塊的工作電流不超過6mA,工作電壓3.3V,窗口面積大,指紋輸入時(shí)間短,不超過1秒。與單片機(jī)的通信端口與指紋檢測器進(jìn)行串行通信。指紋模塊的實(shí)際圖像見下圖3.11。圖3.11指紋模塊實(shí)物圖1腳紅線連接到3.3v,4腳連接到單片機(jī)的接收管腳,5腳連接到傳輸信號(hào),3腳連接到電源,2腳連接到單片機(jī)I/O檢測指紋數(shù)據(jù),6腳是基于檢測的電路模塊。指紋電路的電路圖見下圖3.12。圖3.12指紋電路圖第九節(jié)燒錄接口設(shè)計(jì)STM32微控制器能夠依靠JTAG或SWD接口進(jìn)行燒錄。電路調(diào)試完成后,JTAG接口必須引出至少8個(gè)引腳,SWD只需4條線即可編程。所有可讀和可寫的程序,有專門的軟件安全工作。根據(jù)系統(tǒng)的尺寸設(shè)計(jì)出最小的主板,最后選擇SWD編程接口進(jìn)行編程,通過調(diào)試實(shí)現(xiàn)在線代碼。只需插入MCU充電接口和ST_LINK充電接口。充電程序接口電路見下圖3.13。圖3.13程序下載接口電路第四章系統(tǒng)軟件設(shè)計(jì)本設(shè)計(jì)選擇C語言編寫代碼,加載ST單片機(jī)配置的默認(rèn)庫,進(jìn)行創(chuàng)建工作。然后燒錄到微單片機(jī)上。單片機(jī)燒錄程序采用KEIL進(jìn)行編譯。創(chuàng)建的文件是主控芯片MCU識(shí)別的指令的一部分。KEIL開發(fā)環(huán)境可以更好地實(shí)現(xiàn)斷點(diǎn)、注冊表查詢和變量狀態(tài)的設(shè)置。對(duì)于新手開發(fā)人員來說,調(diào)試很方便,而且最后燒錄的代碼可以保證單片機(jī)各種工作模式的穩(wěn)定運(yùn)行。使用KEIL開發(fā)軟件,該軟件為開發(fā)人員集成了大量的微控制器資源,并包括通用指南。對(duì)于單片機(jī)的開發(fā),使用KEIL軟件32比較方便。選擇一個(gè)微控制器,下載這個(gè)工具,生成燒錄文件,然后創(chuàng)建一個(gè)項(xiàng)目。下文主要介紹軟件設(shè)計(jì)及軟件各功能。第一節(jié)用KEIL軟件編寫單片機(jī)程序?yàn)榱吮U螷EIL軟件順利運(yùn)行,編寫單片機(jī)代碼,必須建立一個(gè)開發(fā)項(xiàng)目。項(xiàng)目的創(chuàng)建和翻譯流程見下文:(1)打開KEIL軟件,選擇“Project”,選擇“NewProject”文件,選擇要使用的微驅(qū)動(dòng)。對(duì)于該型號(hào),選擇“STM32F103C8T6”下的“STM32F103”。根據(jù)圖4.1創(chuàng)建一個(gè)項(xiàng)目文件。圖4.1建立工程文件創(chuàng)建所需的程序資源文件。將這些文件添加到項(xiàng)目目錄中。新的源文件如圖4.2所示。圖4.2新建源文件點(diǎn)擊箭頭位置,按下圖打開對(duì)話框,改變晶振頻率,點(diǎn)擊“輸出”選擇要生成的HEX文件,再點(diǎn)擊“調(diào)試”選擇。下載驅(qū)動(dòng)進(jìn)行在線調(diào)試。配置項(xiàng)目文件如圖4.3所示。圖4.3配置工程文件根據(jù)單片機(jī)硬件的接口配置,根據(jù)設(shè)計(jì)者的需要,輸入相應(yīng)的代碼,輸入代碼后再輸入代碼翻譯。根據(jù)圖4.4來翻譯代碼。圖4.4代碼編譯正確第二節(jié)液晶屏顯示程序設(shè)計(jì)本設(shè)計(jì)采用LCD1602品牌液晶顯示器作為顯示設(shè)備。LCD屏幕每行可以顯示16個(gè)字符或數(shù)字,并且有固定的字體庫。在數(shù)據(jù)顯示上,可以根據(jù)ASCII表中相應(yīng)的數(shù)據(jù)進(jìn)行控制。使用的LCD屏幕每行最多可以顯示16個(gè)字符。因此,LCD屏幕設(shè)計(jì)的第一行地址從0X80開始,第二行顯示地址從0XC0開始。單片機(jī)通過控制RS、R/W、E三個(gè)管腳的時(shí)序來控制寫命令或數(shù)據(jù)寫功能,并將命令與數(shù)據(jù)相結(jié)合。通過單片機(jī)I/O口,通過DB7和DB0的并行通信寫入LCD。LCD1602命令控制表見下表4.1。表4.1LCD1602命令控制表指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容按照上文的液晶屏介紹,在輸入液晶屏代碼時(shí),首先根據(jù)液晶屏規(guī)劃輸入寫入命令功能和液晶屏數(shù)據(jù)功能,然后輸入寫入命令功能和寫入信息功能的顯示字符功能和數(shù)字功能。控制面板格式化液晶屏,LCD1602液晶屏的控制過程見下圖4.5。圖4.5LCD1602顯示控制流程圖輸入代碼時(shí),LCD第一行顯示密碼和鎖定狀態(tài),第二行顯示錯(cuò)誤提示。第三節(jié)按鍵程序設(shè)計(jì)這種格式補(bǔ)充了設(shè)置密碼、指紋和使用4×4數(shù)組鍵更改密碼等功能。按鈕和微控制器之間的連接是行列和列的組合。單片機(jī)檢測先按一排按鈕,再按一列按鈕,最后按下行的按鈕。在此基礎(chǔ)上,通過評(píng)估8位數(shù)據(jù)來確定按下了哪個(gè)按鈕;對(duì)于緩沖處理,增加緩沖行線和列線檢測的延遲,以防止出現(xiàn)故障。具體識(shí)別流程圖見下圖4.6。圖4.6按鍵控制流程圖第四節(jié)蜂鳴器報(bào)警程序設(shè)計(jì)設(shè)計(jì)必須理解密碼錯(cuò)誤或解鎖錯(cuò)誤的不同,通過蜂鳴器提醒用戶。當(dāng)單片機(jī)控制旋鈕發(fā)出高電平蜂鳴器觸發(fā)聲音報(bào)警時(shí),單片機(jī)控制按鈕關(guān)閉低噪聲報(bào)警。具體見下圖4.7。圖4.7報(bào)警流程圖第五節(jié)繼電器控制程序設(shè)計(jì)該結(jié)構(gòu)采用繼電器控制門的開啟和關(guān)閉功能。根據(jù)該裝置的電路設(shè)計(jì),單片機(jī)通過設(shè)定高、低電平來控制繼電器的運(yùn)行。單片機(jī)收到控制開門或關(guān)門的控制信號(hào)后,通過控制引腳控制繼電器執(zhí)行相應(yīng)的功能,繼電器控制電流見下圖4.8。圖4.8繼電器控制流程圖第六節(jié)指紋程序設(shè)計(jì)指紋編程激活A(yù)S680模塊結(jié)構(gòu)。該代碼寫在AS680光電指紋數(shù)據(jù)上。該模塊與單片機(jī)采用串口通信進(jìn)行數(shù)據(jù)傳輸,并配備指紋傳感器。指紋采集完成后,該引腳產(chǎn)生一個(gè)高電平,指紋模塊的數(shù)據(jù)傳輸停止。寫代碼時(shí),首先初始化串口,設(shè)置波特率為9600,設(shè)置數(shù)據(jù)位為8,設(shè)置停止位為1,然后根據(jù)數(shù)據(jù)傳輸情況輸入串口發(fā)送接收碼。配置AS680所需的協(xié)議。指紋識(shí)別按鈕輸出高電平,表示已輸入指紋。打印指紋時(shí),將其與存儲(chǔ)的指紋數(shù)據(jù)進(jìn)行比較。如果比較得當(dāng),就會(huì)顯示成功。指紋程序流程圖見下圖4.9。圖4.9繼電器控制流程圖第七節(jié)存儲(chǔ)程序設(shè)計(jì)記錄和編程時(shí),根據(jù)硬件電路的設(shè)計(jì),采用IIC通信協(xié)議控制的EEPROM存儲(chǔ)器芯片存儲(chǔ)密碼和指紋數(shù)據(jù)。所選用的芯片為AT24C02芯片,可以進(jìn)行字節(jié)刪除和寫入功能的設(shè)計(jì)。硬件電路和數(shù)據(jù)線控制引腳組裝設(shè)計(jì)的SCL和SDA時(shí)鐘,然后根據(jù)芯片的用戶手冊編寫開始位、結(jié)束位、響應(yīng)位和數(shù)據(jù)讀寫功能;它可以控制存儲(chǔ)芯片執(zhí)行擦除和編寫任務(wù),記錄控制編程見下圖4.10。圖4.10存儲(chǔ)控制流程圖第五章系統(tǒng)調(diào)試依托單片機(jī)進(jìn)行指紋密碼鎖設(shè)計(jì)調(diào)試,分硬件焊接調(diào)試,軟件代碼調(diào)試,全機(jī)調(diào)試3個(gè)環(huán)節(jié)。硬件調(diào)試為軟件實(shí)現(xiàn)提供了依據(jù),軟件代碼的撰寫為硬件電路接口設(shè)計(jì)提供了依據(jù),并最終達(dá)到了設(shè)計(jì)目的。全機(jī)通過調(diào)試保證了設(shè)計(jì)目標(biāo)的實(shí)現(xiàn)。第一節(jié)硬件調(diào)試經(jīng)過對(duì)硬件電路進(jìn)行理論設(shè)計(jì)之后,我們需要著手把原理圖中的電路變成真實(shí)的物品進(jìn)行生產(chǎn),第一件事情是按原理圖規(guī)格選購元器件,因?yàn)槿缃窬W(wǎng)絡(luò)已經(jīng)很發(fā)達(dá)了,很容易通過購物網(wǎng)站選購到我們想要的元器件,只在選購時(shí),我們應(yīng)該仔細(xì)檢查設(shè)備的類型、封裝以及其他電氣、結(jié)構(gòu)信息,避免搞錯(cuò)產(chǎn)品。買了器件以后,通常都要用手工焊接把它做出來,因此還要準(zhǔn)備好電烙鐵、萬用板和萬用表,逐步把各器件按電路圖焊好。為了能夠讓焊接效果達(dá)到要求,必須使用相應(yīng)的焊接設(shè)備,比如:自動(dòng)焊機(jī),半自動(dòng)焊機(jī),手動(dòng)焊機(jī)等等。焊接過程中要注意烙鐵溫度、焊接時(shí)間等因素,過高或過長會(huì)導(dǎo)致芯片受損,也要注意避免出現(xiàn)虛焊和漏焊現(xiàn)象,因此要認(rèn)真檢查每個(gè)焊點(diǎn)。一般情況下,為了確保系統(tǒng)供電不出現(xiàn)狀,會(huì)優(yōu)先選擇焊制供電部分,這是因?yàn)槿艄╇娙舯缓阜春芸赡軙?huì)燒壞整個(gè)電路,因此首先要確保供電無誤,其次要對(duì)其它器件逐一進(jìn)行焊接,并通過對(duì)功能電路逐一添加的辦法逐步進(jìn)行調(diào)試直至全部電路全部添加完畢即可完成硬件制作全過程。第二節(jié)軟件調(diào)試(1)仿真總體設(shè)計(jì)如下圖5.1所示為仿真總體設(shè)計(jì),其中按鍵指示燈、單片機(jī)的最小系統(tǒng)、LCD1602顯示屏、蜂鳴器、矩型鍵盤、四項(xiàng)步進(jìn)電機(jī)、存儲(chǔ)芯片。其中,單片機(jī)最小系統(tǒng)包括主芯片STM32、外部晶振電路和外部復(fù)位電路;顯示模塊采用LCD1602顯示密碼錯(cuò)誤、門的狀態(tài)、密碼正確、重置密碼成功等;矩型鍵盤用于輸入密碼、重置密碼、取消、確認(rèn)等;繼電器模擬門的開關(guān);存儲(chǔ)芯片采用24C02C存儲(chǔ)密碼;這里使用按鍵代替仿真里沒有的指紋模塊。圖5.1仿真總體設(shè)計(jì)(2)重置密碼仿真測試如圖5.2所示,初始界面顯示輸入密碼。如圖5.3所示,通過矩型鍵盤中的重置密碼鍵輸入管理員密碼888888。如圖5.4所示,輸入管理員密碼按下“確認(rèn)”鍵后顯示輸入新密碼,輸入兩次同樣的新密碼,重置密碼成功。圖5.2初始仿真測試圖圖5.3輸入管理員密碼仿真測試圖圖5.4重置密碼成功仿真測試圖(3)密碼開門測試如圖5.5所示,輸入新設(shè)置的密碼后,按下確認(rèn)鍵,顯示門打開。此時(shí)模擬門的繼電器工作,指示燈點(diǎn)亮,仿真之中沒有指紋模塊,通過按鍵進(jìn)行指紋的模擬,當(dāng)添加指紋的按鍵按下時(shí),模擬錄入指紋,當(dāng)使用使用指紋進(jìn)行開鎖的時(shí)候,可以打開指紋,仿真測試圖如圖5.6所示。圖5.5密碼開門仿真測試圖圖5.6指紋開鎖仿真測試(4)鍵盤鎖定仿真測試如圖5.7所示,當(dāng)輸入的三次密碼都錯(cuò)誤時(shí),先是顯示密碼錯(cuò)誤,然后開始三分鐘倒計(jì)時(shí)。此時(shí),按下任意一個(gè)按鍵,蜂鳴器會(huì)給按鍵提供提示音,提示此時(shí)按鍵無效,當(dāng)使用指紋進(jìn)行打開時(shí),當(dāng)沒有錄入指紋時(shí),錯(cuò)誤3次也將進(jìn)行鍵盤鎖定。圖5.7鍵盤鎖定仿真測算圖第三節(jié)實(shí)物調(diào)試(1)實(shí)物總體設(shè)計(jì)首先要做的是電路焊接,分為9個(gè)模塊,分別是單片機(jī)模塊、4*4矩形按鍵模塊、繼電器模塊、下載電路模塊、復(fù)位電路模塊、顯示模塊、晶振電路模塊、蜂鳴器、電源模塊。顯示模塊采用了LCD1602顯示屏;單片機(jī)采用了STM32芯片;電機(jī)驅(qū)動(dòng)控制門鎖開關(guān);指示燈用于門打開時(shí)的指示;蜂鳴器用于當(dāng)密碼三次輸入錯(cuò)誤的時(shí)候鎖定時(shí)的提醒。下圖5.8為焊接完整實(shí)物圖:圖5.8完整焊接實(shí)物圖(2)輸入密碼實(shí)物測試如圖5.9所示,接入電源后,經(jīng)過短暫的測試,可以輸入密碼。為保護(hù)使用者隱私,輸入的密碼均顯示為“*”,如圖5.10所示。完成密碼的輸入后按下確認(rèn)鍵“#”,若密碼正確鎖即可打開,如圖5.11所示。圖5.9初始實(shí)物測試圖圖5.10輸入密碼實(shí)物測試圖圖5.11開鎖實(shí)物測試圖(3)修改密碼實(shí)物測試如圖5.12所示,如果要修改密碼,需要先按下“D”鍵進(jìn)入重置密碼界面,輸入管理員密碼后,然后在輸入舊密碼后,輸入新密碼并再次輸入新密碼確定,如圖5.13所示。最后按下“#”確定鍵,新密碼即設(shè)置成功。如圖5.14所示。圖5.12修改密碼實(shí)物測試圖圖5.13輸入新密碼實(shí)物測試圖圖5.14新密碼設(shè)置成功實(shí)物測試圖(4)密碼錯(cuò)誤實(shí)物測試如圖5.15所示,如果密碼輸入錯(cuò)誤,顯示屏顯示“passworderror”無法打開鎖。若連續(xù)三次輸入錯(cuò)誤密碼,機(jī)器鎖定三分鐘,如圖5.16所示。此時(shí)若按下任意按鍵,蜂鳴器會(huì)發(fā)出警報(bào),提示本機(jī)器正處于鎖定狀態(tài),同時(shí)可以吸引他人注意防止陌生人無限制試錯(cuò)密碼。圖5.15密碼錯(cuò)誤實(shí)物測試圖圖5.16密碼鎖鎖定實(shí)物測試圖結(jié)束語對(duì)這篇畢業(yè)設(shè)計(jì),一開始我根本摸不著頭緒,很是著急,之后,又通過上網(wǎng)查了一些資料以及圖書館里一些書,加上學(xué)生們的意見以及教師們的引導(dǎo)。終于經(jīng)過九牛二虎之力基本完成題目要求。但由于本人研究課題經(jīng)驗(yàn)十分欠缺,加之本人對(duì)專業(yè)知識(shí)了解較淺且不太豐富,因此遇到不少難題,技術(shù)應(yīng)用與解決較為粗糙。尤其是與功能按鍵相關(guān)的部分設(shè)置。所幸該系統(tǒng)能夠?qū)崿F(xiàn)某些電子密碼鎖應(yīng)該具備的基本功能,打開鎖后LED燈亮了,輸了密碼后警報(bào)聲響了,可對(duì)密碼進(jìn)行修改,不供電后還可保存密碼。本次設(shè)計(jì)我使用了6位數(shù)字輸入密碼,6位數(shù)字可排列組合為多個(gè)密碼。與金屬機(jī)械鎖具相比較,密碼鎖防盜能力本來就很好。起碼不需要鑰匙,不需要為鑰匙丟失而苦惱,密碼鎖的造價(jià)相對(duì)低廉,且操作相對(duì)簡單,安全可靠,性價(jià)比較高,相信今后會(huì)普及到每家每戶。本次密碼鎖設(shè)計(jì)主要基于STM32F103C8T6單片機(jī),采用AS608光學(xué)指紋傳感器對(duì)指紋進(jìn)行識(shí)別和解鎖,使用機(jī)械鑰匙輸入數(shù)字解鎖密碼,用繼電器模擬鎖的開啟和關(guān)閉,密碼錯(cuò)誤時(shí)使用蜂鳴器,打開之后就會(huì)得到提示,密碼設(shè)置為通用的6位密碼,密碼存儲(chǔ)在EEPROM中;其功能是通過報(bào)警LCD1602顯示指紋輸入過程、密碼設(shè)置過程和解鎖方式,設(shè)置或修改6位用戶密碼,輸入指紋,密碼錯(cuò)誤后清除指紋。經(jīng)過測試,該系統(tǒng)界面友好,為防盜系統(tǒng)設(shè)計(jì)提供了保障,在實(shí)際使用中運(yùn)行良好

溫馨提示

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

評(píng)論

0/150

提交評(píng)論