基于單片機的電子密碼鎖_第1頁
基于單片機的電子密碼鎖_第2頁
基于單片機的電子密碼鎖_第3頁
基于單片機的電子密碼鎖_第4頁
基于單片機的電子密碼鎖_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

緒論1.1選題背景本節(jié)著重論述基于單片機的電子密碼鎖的發(fā)展情況,從客觀實際出發(fā),通過對該技術(shù)的發(fā)展?fàn)顩r的一定了解,以及課題本身的需要,指出此密碼鎖設(shè)計的必要性和未來應(yīng)用的廣泛性,同時對傳統(tǒng)的普通密碼鎖進(jìn)行了一定改進(jìn),增強了安全性,盡可能避免密碼的意外泄露。1.1.1選題目的及意義建國以來,我國物質(zhì)財富極大增長,人民生活水平極大提高,但安全永遠(yuǎn)是現(xiàn)代居民最關(guān)心的問題。人們擔(dān)心自己的財產(chǎn)遭受莫名損失,因而對鎖的安全性要求日益提高,長期以來,生產(chǎn)有強悍的防盜性能,避免給門鎖使用者帶來不便一直是商家所追求的。而缺點也顯而易見,為了防止用戶的鑰匙丟失,需要給其他可靠的人備用鑰匙,鑰匙丟失后給用戶帶來了不良影響;另外,在一些重要的場所,例如公司、碼頭貨倉、保險箱等,為了考慮安全性,舊式鎖膽需要頻繁的更換,鑰匙隨身攜帶也不方便,目前,智能鎖門禁系統(tǒng)已經(jīng)在西方國家較為普及,尤其是歐美等發(fā)達(dá)國家。通過多種安全性更高,更方便,更可靠的方法來實現(xiàn)門鎖的管理與控制。但在我國,電子密碼鎖的普及程度依然不夠,主要原因是成本較高,通過改善相關(guān)技術(shù),使電子密碼鎖能夠在我國普及,這也是一個國家科學(xué)技術(shù)是否強大的重要體現(xiàn)。密碼鎖將來會在許多涉及保密的行業(yè)受到重視,如何實現(xiàn)家庭,公司的防盜這一問題將會受到廣泛的關(guān)注,而考慮到單片機的優(yōu)越性,便捷性,本文設(shè)計了一種基于單片機的電子密碼鎖。1.1.2國內(nèi)外研究現(xiàn)狀國內(nèi)最常用到的一類智能門鎖是感應(yīng)鎖,通產(chǎn)載有射頻感應(yīng)模塊,載有密碼的射頻IC卡來取代傳統(tǒng)的鑰匙進(jìn)行開鎖,選擇了PIC16F73等類型的一系列嵌入式處理器,密碼讀取后,通過控制器來對門鎖進(jìn)行控制,直接開門。這樣的優(yōu)勢是,正確的開鎖鑰匙只有一把,有效地避免了鑰匙被不法分子非法復(fù)制,但隨之而來的成本問題,操作問題必須考慮到,所以該種設(shè)計必須考慮到元件老化,抗干擾能力強弱,程序跑飛問題等。還有一種圍繞數(shù)字按鍵拓展功能的電子密碼鎖,同時配套以相關(guān)的硬件電路,可以達(dá)到設(shè)置、存貯、識別密碼、驅(qū)動繼電器,并檢測驅(qū)動電流值、并接收單片機某一特定串口發(fā)送來的報警信號,發(fā)送數(shù)據(jù)信息等目的。處理器接收記錄輸入的按鍵值,并與保存在硬盤或其他存儲設(shè)備中的密碼逐位對比,當(dāng)密碼正確時,則驅(qū)動繼電器開鎖;若密碼輸入有誤,則允許操作人員重新輸入密碼,可以設(shè)置一定的次數(shù)限制;超過該次數(shù)后,控制模塊就會通過特定線路向蜂鳴器報警系統(tǒng)報警。這種密碼的保密性好,安全性比普通的機械鎖更高。但是,長期使用會導(dǎo)致按鍵的磨損而失靈,必須定期進(jìn)行維護(hù)。指紋鎖也是國內(nèi)家庭中較為常見的一種電子鎖,以單片機為核心,由主板、離合器、指紋采集器、微處理器等組成。指紋模塊實現(xiàn)搜索手指的功能,當(dāng)有手指按下并被搜索到,便對指紋圖像進(jìn)行采集。由于人的指紋是特殊的生物密碼,每個人的指紋都形態(tài)各異,這樣的特色加密方式讓用戶更加放心,可靠。使用時,僅僅需要將手指放于指紋采集器的窗口上,操作十分方便快捷。而缺點就是長期使用后指紋模塊的靈敏度會有所下降,需要配以其他的手段方式(比如鑰匙)輔助開鎖。在國外,電子鎖的應(yīng)用得到了更為廣泛的普及,由于西方發(fā)達(dá)國家發(fā)展起步較快,在智能鎖的研制,應(yīng)用普及程度以及投入方面都具有優(yōu)勢,使得電子密碼鎖的發(fā)展更為迅速,安全性能更高,已經(jīng)發(fā)展到較為成熟的地步,舉例來說,日本,德國的制鎖技術(shù)較高,在元器件的小型化,集成化的方向上頗有建樹。通常采用三維編碼方式,即同時利用時間,次序和數(shù)量三個變量進(jìn)行編碼,而美國生產(chǎn)的多功能電子隨早已具備了防盜,門鈴,夜光保護(hù),報警功能,并充分利用了人的生理特征,不僅僅是指紋、聲音、掌紋、視網(wǎng)膜圖紋、手型等都可以用來識別身份。這些特征采集方便,驗證方便并且穩(wěn)定,更加可靠。1.2課題研究內(nèi)容本文主要設(shè)計要求實現(xiàn)基本的正確密碼輸入開鎖功能,輸入錯誤重新輸入,超過3次輸入錯誤限制,鎖定鍵盤,蜂鳴并向用戶手機發(fā)送短信報警的功能,用戶自行修改密碼功能,恢復(fù)出廠設(shè)置的管理員密碼,初始化密碼和虛假密碼欺騙功能。同時不限制輸入密碼的位數(shù)。有較高的安全性和防窺探性。1.3論文結(jié)構(gòu)本設(shè)計的論文章節(jié)結(jié)構(gòu)安排如下:第一章:緒論部分。介紹設(shè)計背景,選題目的意義,國際上相應(yīng)技術(shù)發(fā)展概況,論文結(jié)構(gòu)。以及論文需要完成的工作。第二章:開發(fā)工具介紹,介紹本設(shè)計采用的編程語言,硬件仿真軟件和編程軟件。第三章:介紹該密碼鎖的總體方案,設(shè)計,功能,原理框圖,流程圖。第四章:硬件電路模塊,包括單片機,時鐘電路模塊,復(fù)位電路模塊,LCD顯示模塊,AT24C02密碼存儲模塊,矩陣鍵盤模塊,蜂鳴器模塊和繼電器模塊和GSM短信模塊。第五章:軟件的重要模塊設(shè)計,介紹主程序部分,虛位密碼實現(xiàn)模塊,矩陣鍵盤模塊,密碼修改模塊,GSM短信驅(qū)動模塊。第六章:測試與仿真。第七章:對本設(shè)計進(jìn)行總結(jié),分析遇到的困難,并對該設(shè)計發(fā)展進(jìn)行展望。1.4論文完成的工作本次畢業(yè)設(shè)計需要較長時間,需要做充分的準(zhǔn)備工作為書寫論文收集材料,當(dāng)前階段準(zhǔn)備工作如下:1)搜集資料,查閱相關(guān)信息來了解國內(nèi)外有關(guān)電子密碼鎖的研究現(xiàn)狀,國內(nèi)外發(fā)展近戰(zhàn)以及分析本設(shè)計的系統(tǒng)結(jié)構(gòu),構(gòu)思大體框架。2)通過互聯(lián)網(wǎng),圖書館等可以獲得信息的渠道學(xué)習(xí)單片機C語言的編寫,熟悉使用到的編程軟件,繪圖軟件。3)設(shè)計基于單片機的電子密碼鎖設(shè)計的結(jié)構(gòu)框圖,根據(jù)要求分析并選擇使用到的器件。4)以單片機為核心控制部件,附加矩陣鍵盤等作為外接電路組成本設(shè)計的硬件部分。5)完成軟件部分的設(shè)計,通過仿真來驗證電路是否有問題,再經(jīng)過下板調(diào)試,檢驗本設(shè)計的可靠性。2開發(fā)工具介紹本設(shè)計使用Keil4進(jìn)行程序的編譯,測試,使用C語言進(jìn)行程序的編寫,AltiumDesigner進(jìn)行硬件電路圖的繪制,并使用Proteus仿真軟件進(jìn)行實物的仿真,判斷程序的可用性和實用性,下面對其進(jìn)行介紹。2.1Keil4美國KeilSoftware公司為單片機C語言提供編程的軟件,相比匯編語言,C語言的使用方便,程序可讀性好,維護(hù)起來方便快捷,易上手,通過一個集成的開發(fā)環(huán)境,將C編輯器,宏匯編,仿真調(diào)試器等模塊結(jié)合在一起,最大的優(yōu)點是兼容性很好,可以兼容WindowsXP,Windows8.1等當(dāng)前主流操作系統(tǒng)。2.2Proteus英國LabCenterElectronics公司研制出的仿真軟件,可以進(jìn)行原理布圖,硬件仿真,根據(jù)相應(yīng)智能算法計算出最優(yōu)布線方法,甚至可以使用RAM,ROM,LCD以及部分IIC器件,并仿真主流51單片機,AVR,ARM等,器件庫豐富,搜索器件方便,并且支持總線結(jié)構(gòu),本設(shè)計中利用該軟件進(jìn)行了電路設(shè)計后的測試工作。2.3C語言面向過程的一種編程語言,其編譯方式簡單,兼容當(dāng)前市場上各種操作環(huán)境。與傳統(tǒng)的匯編語言比較,C語言描述問題清晰,迅速,更讓人容易理解,調(diào)試時更容易發(fā)現(xiàn)錯誤,修改和移植也更方便。2.4AltiumDesignerAltium公司推出一款開發(fā)繪圖軟件,可以應(yīng)用于在當(dāng)前市場上主流操作系統(tǒng),(Windows7以上的系統(tǒng)可能會出現(xiàn)無響應(yīng),可以兼容模式運行)將繪制元器件,PCB繪制,自動布線等功能結(jié)合起來,節(jié)約大量時間成本,集成了FPGA系統(tǒng)和嵌入式軟件設(shè)計功能。本設(shè)計的電路圖便是基于AD所畫,同時,如果元件庫不全,可以通過用戶自己畫元器件來彌補。本設(shè)計中由于找不到GSM短信模塊電路圖,所以依據(jù)網(wǎng)上的參考圖繪出了電路圖。3總體方案設(shè)計本設(shè)計圍繞STC89C52單片機擴(kuò)展功能,LCD1602液晶屏幕做顯示器,顯示器串接一個光敏電阻來達(dá)到夜間背光功能。矩陣鍵盤實現(xiàn)輸入密碼,刪除按鍵,上鎖按鍵,恢復(fù)出廠設(shè)置按鍵。EEPROMAT24C02實現(xiàn)密碼的保存和掉電存儲功能。儲存初始密碼以及用戶修改后的密碼。由于單片機編程寫入更為靈活,外接I/O口更加豐富,精準(zhǔn)控制各模塊的正常運行。可以實現(xiàn)正常普遍的的密碼鎖功能。外圍電路可以外接矩陣鍵盤,實現(xiàn)密碼的輸入。添加繼電器模擬門鎖,蜂鳴器等模塊。3.1功能描述本設(shè)計實現(xiàn)如下功能:1)設(shè)置的密碼位數(shù)范圍為6~16位;2)初始化后設(shè)有管理員密碼以及初始密碼。允許用戶自行修改初始密碼(管理員密碼只能在源程序中修改);3)按下按鍵會有按鍵音提示用戶是否為有效按下,密碼在LCD屏幕上顯示‘*’;4)開鎖密碼前兩次輸入錯誤,蜂鳴器報警5秒鐘;5)開鎖密碼第三次輸入錯誤,鎖定鍵盤并向用戶手機發(fā)送報警提示短信,持續(xù)報警,鎖定鍵盤,除復(fù)位按鍵全部無效;6)鍵入的開鎖密碼正確,繼電器打開,指示燈亮,開鎖時蜂鳴兩下作為提示音;7)密碼鍵盤上有0~9的密碼按鍵、確認(rèn)按鍵、清除按鍵、復(fù)位初始化按鍵、修改密碼按鍵和1個發(fā)光管。只有鎖打開時,修改密碼按鍵才能生效,在門鎖住時候修改密碼按鍵無效;8)密碼更改功能:輸入當(dāng)前舊密碼,輸入新密碼,二次確認(rèn)新密碼。當(dāng)新密碼輸入位過少時,拒絕保存該密碼并提示重新輸入合理密碼。設(shè)置完畢后提示設(shè)置完成;9)掉電存儲密碼功能(EEPROM);10)虛假密碼:在輸入的任意位數(shù)(大于密碼位數(shù))密碼中,只要有連續(xù)的真密碼嵌入其中,就可以開門,其余位置可以任意輸入0~9。最高輸入16位;11)夜間光線不足時,屏幕亮度自動提高。3.2方案論證本設(shè)計的主要模塊構(gòu)成如圖3-1所示,分別是主控模塊、顯示模塊、按鍵模塊和報警模塊。各個模塊的功能描述如下:主控模塊:本設(shè)計的核心控制部分,負(fù)責(zé)程序的處理運行,保證其余模塊的正常工作;按鍵模塊:由主控模塊驅(qū)動,用于執(zhí)行輸入密碼,復(fù)位,刪除等操作;顯示模塊:實現(xiàn)屏幕提示,提示用戶進(jìn)行相關(guān)操作;報警模塊:實現(xiàn)聲音提示,由蜂鳴器和GSM模塊組成,根據(jù)聲響次數(shù)提示用戶輸入情況。圖3-1設(shè)計構(gòu)成框圖Fig.3-1Designcompositionblockdiagram3.2.1主控模塊分析根據(jù)實際需要,現(xiàn)對主控模塊的實現(xiàn)方式進(jìn)行分析,比較優(yōu)劣。方案1:設(shè)計一種基于FPGA的電子密碼鎖,用FPGA芯片作為主控芯片,數(shù)碼管顯示輸入的密碼,鍵盤輸入密碼,由于采用可編程邏輯器件,使得開發(fā)的靈活性非常高,硬件的擴(kuò)展升級較為便利。系統(tǒng)設(shè)計完善之后可以固化FPGA模塊,成為一個ASIC,提高了實用性和專用性,但缺點是成本太高。方案2:依靠數(shù)字電路,用74LS112雙JK觸發(fā)器來對密碼鎖的重要部分進(jìn)行控制,采用撥碼式的按鍵輸入開關(guān),由反相器、與門、加法計數(shù)器、555定時器等構(gòu)成密碼的判斷模塊和修改密碼的模塊。該方案設(shè)計簡單易懂,但缺乏控制的準(zhǔn)確性,靈活性不好。故不予采用。方案3:使用單片機為核心對相應(yīng)模塊進(jìn)行控制,由于單片機的控制準(zhǔn)確,并且I/O口非常豐富,對于擴(kuò)展功能提供了相對優(yōu)越的條件,外接矩陣鍵盤,用于密碼輸入和相關(guān)功能的控制。這種方式經(jīng)濟(jì)成本低,且靈活性較高,所以選擇采用該方案。3.2.2顯示模塊分析顯示模塊可以采用LCD1602和LCD12864兩種顯示模塊,下面對其進(jìn)行分析。方案1:使用LCD12864顯示模塊顯示,LCD12864是一種點陣圖形液晶顯示屏幕,支持顯示簡體中文。界面簡潔。而LCD12864的顯示字符數(shù)量為4×8,沒有足夠的空間顯示輸入的16位密碼‘*’號,即使顯示,也要占用大部分空間,影響用戶界面,故不予采用。方案2:使用LCD1602顯示模塊顯示,LCD1602是一種字符型顯示模塊,支持字母,字符的顯示。根據(jù)本設(shè)計的要求,最多可以輸入16位密碼,即顯示最多16位字符,所以本設(shè)計中采用了LCD1602,可以容納16×2位字符。3.2.3按鍵模塊分析按鍵模塊可以采用獨立按鍵和矩陣按鍵兩種方式,現(xiàn)在進(jìn)行分析。方案1:采用獨立按鍵的方式,將按鍵一端接地,另一端連接I/O口,這種鍵盤的優(yōu)點在于編程簡單,但由于每一個獨立按鍵都需要占用一個I/O口,本設(shè)計中需要9個數(shù)字按鍵以及刪除,修改,復(fù)位按鍵,用獨立按鍵導(dǎo)致了I/O口的大量使用,不適合使用。方案2:采用4×4矩陣鍵盤,當(dāng)按鍵數(shù)量較多時,采用此方法較為合理。矩陣式鍵盤中,每條水平線和垂直線的交叉點用一個按鍵加以連接,僅需要8個I/O口。優(yōu)點是便于擴(kuò)展,在原4×4鍵盤中多加兩條線,就可以實現(xiàn)5×5鍵的矩陣鍵盤,而需要I/O口的數(shù)量僅增加2個,故采用此方案。3.3設(shè)計組成框架本系統(tǒng)的組成部分可以分為4×4矩陣鍵盤模塊,復(fù)位模塊,密碼存儲模塊,電源輸入,LCD1602模塊,蜂鳴器驅(qū)動電路,開鎖模塊,GSM短信模塊。原理框圖如圖3-2所示。下面對模塊進(jìn)行介紹。圖3-2電子密碼鎖原理框圖Fig.3-2Principleblockdiagramofelectronicpasswordlock1)輸入模塊:外接4×4矩陣鍵盤,實現(xiàn)設(shè)置,修改密碼,輸入密碼,關(guān)鎖的功能;2)復(fù)位模塊:按此鍵位初始化密碼,防止用戶因忘記密碼無法開門;3)密碼存儲模塊:將改寫的密碼,初始化密碼存儲到AT24C02中,可以實現(xiàn)掉電存儲;4)電源輸入模塊:為整個設(shè)計供電;5)顯示模塊:LCD1602顯示模塊,顯示用戶界面,提示用戶進(jìn)行操作;6)報警電路模塊:蜂鳴器響,代表報警;7)開鎖電路:用繼電器模擬開鎖,完成正確輸入后,單排機驅(qū)動繼電器打開,當(dāng)關(guān)門時,繼電器吸合模擬關(guān)門;8)GSM模塊:當(dāng)輸入密碼錯誤3次,單片機發(fā)送數(shù)據(jù)給帶有SIM卡的GSM模塊,GSM模塊將報警信息發(fā)送給程序之前設(shè)置好的手機號碼。4系統(tǒng)硬件設(shè)計本設(shè)計的主要硬件部分有STC89C52單片機、AT24C02芯片、GSM通信模塊、矩陣鍵盤、發(fā)光LED燈、蜂鳴器以及LCD1602組成,下面對其進(jìn)行介紹。4.1STC89C52單片機STC89C52RC是一種新型單片機,速度快,功耗低并且具有卓越的抗干擾能力。開發(fā)者可以僅僅通過適當(dāng)修改在其上面運行51系列單片機的代碼。4.1.1主要特性1)該款單片機為增強型;2)工作電壓:3.3V~5.5V;工作頻率:實際頻率可以達(dá)到48MHz;使用者可以使用的應(yīng)用程序空間:8K字節(jié);通用的32個I/O接口,當(dāng)其作為I/O口使用時,需要加入上拉電阻來保證硬件正常工作;具有EEPROM功能;擁有定時器T0,T1,T2三個16位定時器;有外部中斷,共四路。4.1.2引腳說明STC89C52引腳圖如圖4-1所示,下面對STC89C52單片機引腳情況進(jìn)行說明:P0~P3端口:雙向I/O端口,共32個;VCC:接+5V電源;GND:接地線端;XTAL1和XTAL2:片內(nèi)振蕩電路輸入,輸出端。以下引腳實現(xiàn)主要控制功能:RST/VPP:復(fù)位引腳,作用2個機器周期的高電平即可復(fù)位;ALE/PROG:允許對地址進(jìn)行鎖存;PSEN:外部存儲器讀選通信號;4)EA/VPP:訪問程序存儲器控制信號,收到低電平信號,從外部程序存儲中讀指令,反之從內(nèi)部程序存儲中讀指令。圖4-1STC89C52引腳圖Fig.4-1PindiagramofSTC89C524.1.3最小系統(tǒng)本設(shè)計中,利用最少的元件,組成的本設(shè)計可以維系正常工作的系統(tǒng)即為最小系統(tǒng)。在51系列的單片機中,通常包括:單片機、時鐘電路、復(fù)位電路。最小系統(tǒng)是整個設(shè)計的基礎(chǔ),也是保證單片機電路正常工作的必要條件,本設(shè)計如需添加其他功能,可以以最小系統(tǒng)為基礎(chǔ),對其進(jìn)行功能的擴(kuò)展,圖4-2即為該設(shè)計的最小系統(tǒng)。圖4-2最小系統(tǒng)原理圖Fig.4-2Minimumsystemschematicdiagram1)時鐘電路本設(shè)計中與單片機相連的晶振為11.0592晶振,將該晶振與單片機的XTAL1和XTAL2引腳相連。就可以構(gòu)成自激振蕩器,沒有晶振,就沒有時鐘周期。晶振是保證單片機功正常工作的重要元件,本設(shè)計中,晶振頻率的選擇直接關(guān)系到單片機發(fā)送信息是否準(zhǔn)確,當(dāng)選擇12MHz晶振時,單片機發(fā)送信息會受到影響,利用單片機RXD引腳和TXD引腳向GSM模塊傳送信息,在串口檢測工具檢測后出現(xiàn)了亂碼。為了提供標(biāo)準(zhǔn)串口的波特率,選擇了11.0592MHz晶振。圖4-3為本設(shè)計的晶振模塊。圖4-3時鐘電路Fig.4-3Clockcircuit2)復(fù)位電路本設(shè)計中的復(fù)位實現(xiàn)方式如下:當(dāng)單片機的RST引腳接2個機器周期高電平即可實現(xiàn)復(fù)位,本設(shè)計的是積分型復(fù)位電路,復(fù)位信號來自電容。按下按鍵之后接通VCC,單片機的RST引腳此時為高電平,從而實現(xiàn)了復(fù)位。復(fù)位后,密碼初始化為原來密碼,輸入管理員密碼后可以對程序初始化。密碼初始化為程序中設(shè)置的密碼。圖4-4為復(fù)位電路原理圖。圖4-4復(fù)位電路Fig.4-4Resetcircuit4.2AT24C02密碼存儲模塊AT24C02芯片在本設(shè)計中負(fù)責(zé)儲存初始化和更改后的密碼,AT24C02是一種可以通過IIC總線進(jìn)行數(shù)據(jù)讀寫的串行COMSEEPROM,一次操作能夠?qū)懭?字節(jié)的數(shù)據(jù)。降低了寫入時間。IIC總線通過SCL,SDA兩根雙向信號線傳送相關(guān)信息信息,總線上可以掛接單片機,日歷時鐘,A/D轉(zhuǎn)換器等IIC外圍設(shè)備。由于每一個掛接器件的地址都不相同,這就為識別不同的設(shè)備提供了方便。寫入時采用主從的方式。元器件的掛接原理圖如圖4-5所示。圖4-5元器件掛接原理圖Fig.4-5PrinciplediagramofcomponentconnectionIIC總線接通正電源的方式是通過上拉電阻。當(dāng)連接上的器件連接低電平時,總線上攜帶的當(dāng)前電平與輸出的器件輸出的電平進(jìn)行線與,這樣就會使得總線的信號變低。而總線必須要接上拉電阻,但如果阻值過小,流入I/O口的電流過大,導(dǎo)致I/O口輸出的低電平會超標(biāo);阻值過大,也會導(dǎo)致元器件從低電平輸出到高電平時的速度減慢。AT24C02的電路圖如圖4-6所示,下面進(jìn)行引腳介紹:VCC,GND:供電端和地線;A0,A1,A2:地址輸入引腳,一共可以有8種不同的狀態(tài),用以進(jìn)行器件地址選擇,本設(shè)計中連接地,即地址為000;SDA引腳:串行數(shù)據(jù)總線,本設(shè)計中接上拉電阻后,與單片機的T0口相連傳遞數(shù)據(jù)信號;SCL引腳:串行時鐘總線,本設(shè)計中接上拉電阻,與單片機的T0口相連傳遞時鐘信號;WP引腳:寫保護(hù)引腳,接地保證數(shù)據(jù)的方便讀寫,如果接高電平,該芯片便無法寫入數(shù)據(jù),可以避免誤寫入數(shù)據(jù)。本設(shè)計中接低電平,使其可以被寫入數(shù)據(jù)。圖4-6AT24C02電路圖Fig.4-6PrinciplediagramofAT24C024.3GSM模塊GSM是通信模塊是一種具有類似于手機的一種集成模塊,可以執(zhí)行手機的基本功能,例如發(fā)送短消息,打電話等。該模塊包括GSM900芯片,SIM卡,天線,模塊電路原理圖如圖4-7所示。本設(shè)計中主要用到的GSM模塊引腳如下:DTR:表明數(shù)據(jù)終端就緒,本設(shè)計中接VCC通電后可以正常工作;TXD:數(shù)據(jù)發(fā)送引腳,本設(shè)計中接單片機的RXD引腳;RXD:數(shù)據(jù)接收引腳,本設(shè)計中接單片機的TXD引腳;GND:接地。圖4-7GSM模塊實物圖Fig.4-7PhysicalmapofGSMcommunicationmodule本設(shè)計中使用的是GSM900A通信模塊,在該設(shè)計中GSM模塊主要作用是,當(dāng)輸入密碼在第3次輸入錯誤時,單片機通過TXD和RXD引腳向GSM模塊傳送要發(fā)送的信息,GSM模塊將信息處理后發(fā)送給用戶手機,提示用戶有人嘗試開鎖。4.4鍵盤輸入模塊本設(shè)計采用4×4矩陣鍵盤,一般只需要8個I/O口,當(dāng)按鍵較多時采用此方案方便合理。本設(shè)計中,由于在按鍵為機械式開關(guān),按鍵按下后,按鍵的震動導(dǎo)致了單片機在一次按鍵按下時將一次按下誤判為多次按下,所以需要當(dāng)偵測到有按鍵按下時,就用延時函數(shù)延時一段時間,這樣就可以讓鍵盤的按鍵達(dá)到穩(wěn)定的狀態(tài),再對按下的按鍵進(jìn)行判定讀寫,就可以讓鍵盤輸入穩(wěn)定。圖4-8位矩陣鍵盤的原理圖,圖4-9為矩陣鍵盤對應(yīng)的按鍵圖。圖4-84×4矩陣鍵盤原理圖Fig.4-84×4matrixkeyboardschematic圖4-9矩陣鍵盤對應(yīng)按鍵圖Fig.4-9Matrixkeyboardcorrespondingkeydiagram4.5LCD顯示模塊本設(shè)計中使用LCD1602液晶顯示屏幕實現(xiàn)提示功能,顯示模塊利用液晶外加電壓后分子排列變化及曲折變化的物理特性,用電壓控制顯示區(qū)域,通電成功后就會有顯示畫面。液晶顯示器在我們的日常生活中應(yīng)用非常廣泛,例如計算器、萬用表屏幕、筆記本電腦等電子產(chǎn)品,液晶顯示器顯示質(zhì)量高,顯示穩(wěn)定,避免了閃爍,用戶體驗良好,輕便靈活,并且只有電極和驅(qū)動IC是其占比最大的功耗來源,這就導(dǎo)致該顯示器相比其他顯示器的耗電量更低。本設(shè)計中,按下電源按鍵,給單片機供電,同時顯示模塊開始運作,顯示開鎖準(zhǔn)備界面,輸入密碼時顯示*號,防止窺探,當(dāng)密碼輸入錯誤時,提示Error;當(dāng)輸入正確時,提示open,LCD1602顯示部分引腳接口如圖4-10所示,現(xiàn)對其引腳及接法進(jìn)行說明。圖4-10LCD1602顯示模塊引腳圖Fig.4-10PindiagramofdisplaymoduleofLCD1602引腳GND:接地;引腳VCC:接+5V;引腳V0:該端口作用是調(diào)節(jié)顯示器的對比度,使用時將一個10K的電位器串聯(lián)接VCC即可調(diào)整對比度,防止產(chǎn)生重影;引腳RS:選擇寄存器引腳,電平為高,選擇數(shù)據(jù)寄存器,反之選擇指令寄存器,本設(shè)計中連接單片機的A13引腳;引腳R/W:負(fù)責(zé)讀寫信號的引腳,高電平時執(zhí)行讀操作,反之則執(zhí)行寫操作。當(dāng)RS和R/W都接入低電平后,允許寫入指令,顯示地址,本設(shè)計中連接單片機的A14引腳;引腳EN:使能端,當(dāng)E端由電平完成由高到低的跳變時,液晶模塊開始工作。接單片機的A15引腳;引腳D0~D7:8位雙向數(shù)據(jù)線,本設(shè)計中,每個引腳接一個10K的上拉電阻與VCC相連,以維持高電平;引腳A,K:背光源的正負(fù)極,正極接VCC,負(fù)極接地。4.6聲音提示模塊聲音提示模塊為該設(shè)計的重要模塊之一,作用是提醒輸入者輸入錯誤的提示音以及按鍵按下的提示音。本設(shè)計中蜂鳴器作為報警模塊,蜂鳴器報警模塊如圖4-11所示,依據(jù)程序編寫的不同延時程序來更改蜂鳴器報警的時長,蜂鳴的頻率。其采用直流供電,廣泛應(yīng)用于發(fā)聲的電子設(shè)備,本設(shè)計采用有源蜂鳴器,一般的蜂鳴器構(gòu)成包括以下幾個部分:三極管,蜂鳴器,以及限流電阻。三極管Q1負(fù)責(zé)蜂鳴器的開閉,本設(shè)計中蜂鳴器接單片機的A9引腳,當(dāng)三極管b極為低電平,三極管進(jìn)入飽和導(dǎo)通狀態(tài),驅(qū)動蜂鳴器正常工作。圖4-11蜂鳴器模塊示意圖Fig.4-11Diagramofbuzzermodule4.7繼電器控制模塊本設(shè)計中繼電器原理圖如圖4-12所示。電磁繼電器的組成部分一般包括:電磁鐵、銜鐵觸點簧片。圖4-12繼電器模擬開門模塊Fig.4-12RelayAnalogOpeningModule繼電器的輸入,輸出回路的參數(shù)都被可以稱為電參量。繼電器一共兩個部分:輸入回路和輸出回路,當(dāng)控制部分的某一個量達(dá)到了某一要求的設(shè)定值(這個要求的種類很多,可以是電,光,熱等),被控制的部分中,電參量就會發(fā)生階躍式的變化。本設(shè)計中,當(dāng)輸入的密碼是正確密碼,銜鐵的觸點將會吸合,同時,LED燈點亮,提示此時門已經(jīng)打開,而當(dāng)斷電時(按下了模擬關(guān)門鍵位),由于沒有電流,吸合的觸點將會斷開,通過彈簧的拉力,銜鐵回到了原來的位置,兩個觸點被釋放,LED燈關(guān)閉。電路不斷地斷開,銜接,從而模擬了開門,關(guān)門。5系統(tǒng)軟件設(shè)計5.1主程序設(shè)計本設(shè)計的軟件部分包括主程序、密碼檢測程序、鍵盤檢測程序、密碼設(shè)置程序、延時程序、GSM配置程序,圖5-1為主程序流程圖。 圖5-1主程序流程圖Fig.5-1Mainprogramflowchart現(xiàn)在對上主程序框圖做說明:程序開始執(zhí)行,等待輸入,鍵盤檢測到輸入密碼,進(jìn)入密碼判斷模塊,輸入正確,開鎖并等待更改密碼;若輸入錯誤,進(jìn)入報警模塊報警,返回等待輸入界面。5.2密碼檢測程序設(shè)計密碼檢測程序流程如圖5-2所示,下面進(jìn)行程序流程介紹:鍵盤檢測到輸入密碼,進(jìn)入密碼位數(shù)的判斷,當(dāng)輸入密碼的位數(shù)大于真實密碼的位數(shù)后,進(jìn)入虛假密碼模塊的判斷;若輸入密碼位數(shù)等于真實密碼位數(shù),直接與EEPROM中的密碼進(jìn)行對比,對比正確后開鎖并等待更改密碼的命令按鍵,若輸入錯誤,進(jìn)入報警模塊報警并回到等待輸入密碼的界面;若輸入密碼位數(shù)比真實密碼位數(shù)小,則提示錯誤并直接回到輸入密碼模塊重輸,此種情況不觸發(fā)超次鎖定報警模塊。圖5-2密碼檢測流程圖Fig.5-2Passworddetectionflowchart虛位密碼判斷模塊流程圖如圖5-3所示,下面進(jìn)行流程介紹:當(dāng)輸入密碼位數(shù)M大于真實密碼位數(shù)N,進(jìn)入此模塊。設(shè)計數(shù)變量為n并初始化為1,首先對該M位的第n個N位進(jìn)行檢測,如果第n個N位即為EEPROM中的真實密碼,則停止識別,直接開鎖;若該N位不是真實密碼,則n+1,對第n+1個N位進(jìn)行檢測。直到識別出真實密碼為止。若n>M-N+1,則觸發(fā)報警模塊,回到密碼重置界面。該部分為該電子密碼鎖設(shè)計的核心部分,操作方便有效。相比固定密碼,安全系數(shù)更高,由于該設(shè)計允許用戶更改輸入密碼的長度,每次輸入都可以根據(jù)用戶的習(xí)慣進(jìn)行更改,這就導(dǎo)致了旁觀者獲取真實密碼的難度更大,有效避免密碼被窺探,但是虛位密碼的破解也不是不可能的,如果被安裝了監(jiān)控設(shè)備,或者窺探者經(jīng)過長期觀察,對用戶之前輸入的密碼進(jìn)行分析,對比,就可以從用戶的輸入虛假密碼中找到數(shù)字之間的交集,從而獲取真實密碼。所以,為了安全起見,用戶要有良好的安全習(xí)慣,例如頻繁更換門鎖密碼,虛假密碼功能的流程圖如下圖5-3所示。圖5-3虛假密碼模塊判斷流程圖Fig.5-3Flowchartoffalseciphermodulejudgment5.3鍵盤檢測程序設(shè)計流程圖中內(nèi)容可如下表述,如果有按鍵按下,延時以消除抖動,并尋找搜索按下的按鍵,確認(rèn)后計算鍵值,記錄下來并作為返回值。判斷按鍵原理如下,當(dāng)有一個按鍵被按下時,該按鍵即為某一行線和某一列線的焦點,此時行線的電平與列線的電平是線與的關(guān)系,當(dāng)I/O口第一次上電時,引腳全為高電平,此時按下按鍵,由于1與1線與依然是1,無法判斷,所以可以先將行線送0置為低電平,列線依然保持高電平1,此時,端口的值為0xf0,當(dāng)16位按鍵中有任意一位被按下時,例如第二行第二列的按鍵被按下時由于行線置0,按下該鍵位后行線與列線(值為1)線與的值結(jié)果為0,該列線的值就變?yōu)榱?,此時鍵盤輸出的值為11010000,即為0xd0,將該值保存到一個變量中,就可以確定是哪一列被按下了。如果此時要判斷哪一行被按下,還需要在確定列線之后將行線的值置為1,即此時行線為1111,鍵盤的列線保存的值(1101)與0x0f進(jìn)行或操作,得出的值(1101)再與行線進(jìn)行線與操作。得到了11011101即0xdd這一固定值,高四位為列線的值,低4位為行線的值,此時就確定了哪個按鍵被按下。簡單的說,就是先判斷哪一列被按鍵按下后,保存列線值,再確定哪一行被按下,保存行線值,在知道列線值和行線值之后,就可以判斷是哪個按鍵被按下了,鍵盤檢測程序流程如圖5-3所示。圖5-4鍵盤檢測流程圖Fig.5-4Keyboarddetectionflowchart5.4密碼更改程序設(shè)計更改密碼的程序是本設(shè)計另一個重點設(shè)計的模塊。根據(jù)程序要求密碼更改必須在開鎖之后才可以執(zhí)行程序,程序的步驟輸入包括:輸入舊密碼,輸入符合條件的新密碼,以及確認(rèn)新密碼,才完成整個流程,確定此時顯示屏幕界面為open界面,此時默認(rèn)進(jìn)入了可以修改密碼狀態(tài),未開鎖狀態(tài)下按下修改密碼按鍵報警三聲。開鎖狀態(tài)正常顯示界面可以對密碼進(jìn)行修改。當(dāng)輸入舊密碼時輸入虛位密碼也可以被識別,輸入完畢后出現(xiàn)密碼可更改界面,此時輸入新密碼(必須大于5位),二次確認(rèn)后,新密碼就會寫入AT24C02中儲存起來。密碼就可以成功更改。如果兩次輸入的密碼位數(shù)不同,則提示錯誤,需要重新操作,程序流程圖如圖5-4所示。圖5-5密碼修改模塊流程圖Fig.5-5Flowchartofpasswordmodificationmodule5.5延時模塊程序設(shè)計本延時模塊時長為兩種,分別是5ms延時模塊和400ms延時模塊。程序代碼如下:unsignedintTempCyc=5552;//定義能使該數(shù)遞減至0時需要5Ms的數(shù)while(TempCyc--);//循環(huán)遞減為0時跳出循環(huán),此時延時5MsvoidDelay400Ms(void){unsignedcharTempCycA=5;unsignedintTempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}上述程序的作用是延時,延時時首先是設(shè)定一個值,然后逐級遞減。遞減的過程需要時間,當(dāng)遞減至0時,延時功能完成。延時功能一般配合蜂鳴器使用,在驅(qū)動蜂鳴器時后面加延時函數(shù),達(dá)到蜂鳴器蜂鳴時間的控制。5.6GSM驅(qū)動程序設(shè)計圖5-6GSM驅(qū)動配置流程圖Fig.5-6GSMdriverconfigurationflowchartGSM模塊的驅(qū)動程序配置過程的流程圖如圖5-5所示,首先通過AT命令A(yù)T+CMGF=1將短信系統(tǒng)設(shè)置為文本模式,延時的作用是確保語句的正常執(zhí)行,如果沒有延時,后方的程序無法繼續(xù)正常執(zhí)行。然后輸入AT+CSCS=\"UCS2\"命令發(fā)送帶有漢字的短信,AT+CMGS為發(fā)送短消息指令,通過for循環(huán),將每位電話號碼后接ASC值003。保證電話號碼正確地導(dǎo)入到單片機中。單片機將電話號碼發(fā)送完畢之后,需要通過轉(zhuǎn)碼器將發(fā)給手機的信息轉(zhuǎn)為GSM模塊可以識別的16進(jìn)制碼,本設(shè)計中,發(fā)送短信的內(nèi)容是:警告!有人嘗試開鎖!將上述語言描述轉(zhuǎn)換為16進(jìn)制的形式內(nèi)容為:8B66544AFF0167094EBA5C1D8BD55F009501FF01,給再通過延時函數(shù)延時來發(fā)送短信,就可以實現(xiàn)正常發(fā)送短信報警的功能。6仿真及焊接調(diào)試6.1硬件仿真本設(shè)計使用Proteus可以檢測硬件的連接是否有錯誤,當(dāng)硬件連接無誤時,可以進(jìn)行正常的仿真,Keil4編好的程序編譯生成可導(dǎo)入單片機內(nèi)部識別的hex文件,利用PC機,雙擊Proteus程序圖中的單片機,就可以將生成好的hex文件導(dǎo)入到單片機內(nèi)進(jìn)行仿真測試,并對其仿真過程中出現(xiàn)的種種問題進(jìn)行調(diào)試和更改。這樣,在進(jìn)行硬件的焊接時,有效避免了在焊接實物時造成的不必要失誤。Proteus仿真LCD顯示開始界面效果如圖6-1所示。符合預(yù)期功能。圖6-1硬件仿真編譯開始界面Fig.6-1Hardwaresimulationcompilationstartinterface輸入密碼時的顯示界面如圖6-2所示。由于密碼的保存使用的是一個16位數(shù)組,所以最高可以輸入16位密碼。圖6-2輸入密碼界面Fig.6-2Inputpasswordinterface圖6-3為密碼開鎖后的顯示界面。進(jìn)入該界面后,允許輸入正確密碼就會進(jìn)入圖6-4的界面。圖6-3開鎖顯示界面Fig.6-3Openlockdisplayinterface圖6-4重置密碼允許界面Fig.6-4Resetpasswordallowableinterface進(jìn)入修改密碼界面后,輸入新密碼,重復(fù)確認(rèn)新密碼,就可以完成密碼的設(shè)置。如果輸入新密碼位數(shù)小于6位,則拒絕保存,并要求重新輸入,修改成功后進(jìn)入更改密碼成功界面。如果輸入新密碼后誤觸了開鎖鍵,則提示錯誤,并重新輸入。如果前后密碼輸入不一致,則提示錯誤,蜂鳴器蜂鳴3聲。重新設(shè)置密碼。拒絕保存的仿真結(jié)果示意圖,提示二次輸入示意圖以及誤觸提示示意圖如圖6-5,6-6,6-7,密碼修改成功后,其界面如圖6-8所示。圖6-5輸入密碼不足位提示界面Fig.6-5Inputpasswordinadequatepromptinterface圖6-6提示二次輸入界面Fig.6-6Promptsecondaryinputinterface圖6-7提示誤觸界面Fig.6-7Tipsformis-touchingtheinterface圖6-8重置密碼成功界面Fig.6-8ResetPasswordSuccessInterface6.2硬件電路焊接示意圖圖6-9,6-10為該設(shè)計的反,正面示意圖,當(dāng)輸入密碼錯誤,提示界面如下圖6-11所示,當(dāng)開鎖正確,顯示界面如下圖6-12所示。圖6-9背面焊接示意圖Fig.6-9Backsideweldingschematicdiagram圖6-10正面元件實物圖Fig.6-10Frontalcomponentphysicalchart圖6-11錯誤提示Fig.6-11Errorprompt

溫馨提示

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

評論

0/150

提交評論