




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄1緒論11.1本設(shè)計的研究背景與研究目的11.2國內(nèi)外研究現(xiàn)狀22電子密碼鎖的總體設(shè)計方案32.1方案論證32.1.1方案一采用單片機控制方案32.1.2方案二采用數(shù)字電路控制方案42.1.3方案三采用EDA控制方案52.2方案比較以及可行性53電子密碼鎖硬件電路的設(shè)計63.1中央控制模塊的設(shè)計63.1.1主控芯片STC89C52單片機的簡介63.1.2時鐘電路的設(shè)計73.1.3復(fù)位電路的設(shè)計83.2鍵盤輸入模塊的設(shè)計93.2.1矩陣鍵盤工作原理93.2.2單片機鍵盤掃描法103.3LCD顯示密碼模塊的設(shè)計103.3.1LCD1602簡介113.3.2LCD1602液晶顯示模塊與單片機連接
2、電路123.4開鎖模塊的設(shè)計133.5報警模塊的設(shè)計133.6硬件電路總體設(shè)計144電子密碼鎖的軟件設(shè)計154.1主程序流程介紹154.2鍵盤模塊流程圖164.3顯示模塊流程圖184.4修改密碼流程圖194.5開鎖和報警模塊流程圖205電子密碼鎖的系統(tǒng)調(diào)試及分析225.1硬件電路調(diào)試及結(jié)果分析225.2軟件調(diào)試及功能分析225.2.1調(diào)試過程225.2.2仿真結(jié)果分析245.3系統(tǒng)調(diào)試266結(jié)論及展望286.1結(jié)論286.2展望28謝辭29參考文獻30附錄32附1部分代碼32附2總電路圖40I電子密碼鎖的設(shè)計與制作1緒論1.1本設(shè)計的研究背景與研究目的隨著人們生活水平的提高和社會科技的進步,鎖
3、已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場,不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,人們也就能對自身財產(chǎn)安全有了更多的保障。因此電子密碼防盜鎖作為防盜衛(wèi)士的作用日趨重要,而如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,而電子密碼防盜鎖用密碼代替鑰匙,不但省去了佩戴鑰匙的煩惱,也從根本上解決了普通門鎖保密性差的缺點。當(dāng)今安全信息系統(tǒng)應(yīng)用越來越廣泛,特別在保護機密、維護隱私和財產(chǎn)保護方面起到重大作用,而基
4、于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實意義。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講,一塊芯片就成了一臺計算機。隨著電子技術(shù)和計算機技術(shù)的飛速發(fā)展,單片機性能不斷完善,性價比顯著提高,技術(shù)日趨完善。由于單片機具有體積小、重量輕、價格便宜、功耗低、控制功能強及運算速度快等特點,因而在國民經(jīng)濟建設(shè)、軍事及家用電器等各個領(lǐng)域均得到了廣泛的應(yīng)用。它主要是作為控制部分的核心部件。它是一種在線式實時控制計算機,在線式就是現(xiàn)場控制,需要的是有較強的抗干擾能力
5、,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區(qū)別。單片機由運算器、控制器、存儲器、輸入輸出設(shè)備構(gòu)成。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。本設(shè)計利用單片機及附加器件實現(xiàn)數(shù)據(jù)傳送和控制算法,來完成某一實際功能,檢驗并提高同學(xué)對整體電路設(shè)計和把握能力,了解單片機系統(tǒng)設(shè)計流程,以及電路板的實際制作和調(diào)試能力。同時也加強對數(shù)字電路、單片機和微機原理等課程知識的實際應(yīng)用能力,也為同類產(chǎn)品的進一步發(fā)展奠定理論和實踐基礎(chǔ)。1.2國內(nèi)外研究現(xiàn)狀隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖已在國內(nèi)外相繼面世。但是這些
6、產(chǎn)品的特點是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識別器,若在公共場所使用存在容易機械損壞,IC卡還存在容易丟失、損壞等特點。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。電子鎖,由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的歡迎。鑒于目前的技術(shù)水平與市場的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。目前,在西方發(fā)達國家,電子密碼鎖的技術(shù)相對先進,種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實現(xiàn)大門的管理。在我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式
7、和卡片鑰匙式電子鎖已引進國際先進水平,現(xiàn)國內(nèi)有幾個廠生產(chǎn)供應(yīng)市場。但國內(nèi)自行研制開發(fā)的電子鎖,其市場結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。國內(nèi)的不少企業(yè)也引進了世界上先進的技術(shù),發(fā)展前景非常可觀。2電子密碼鎖的總體設(shè)計方案2.1方案論證2.1.1方案一采用單片機控制方案選用單片機STC89C52 作為本設(shè)計的核心元件,利用單片機靈活的編程設(shè)計和豐富的IO端口,及其控制的準(zhǔn)確性,實現(xiàn)基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD顯示器用于顯示作用??驁D如下圖2.1所示。復(fù)位電路振蕩電路鍵盤電路開鎖電路AT9C 51單片機報警電路顯示電路 圖2.1 系統(tǒng)框圖1)中
8、央控制部分采用 STCT89C52 單片機,該型單片機有 8KB 的 ROM, 512B 的 RAM,5個中斷源, 3個16 位定時器/計數(shù)器。 2)顯示部分采用1602LCD顯示屏組成顯示電路來提示信息。當(dāng)輸入密碼時,只顯示*,當(dāng)密碼位數(shù)輸入完畢按下確認(rèn)鍵之后,對輸入的密碼進行比較,正確就發(fā)出叮當(dāng)聲,同時門打開;若密碼輸入不正確時顯示錯誤,并計次錄數(shù),當(dāng)次數(shù)超過三次就觸動蜂鳴器發(fā)出報警聲。3)鍵盤輸入部分本設(shè)計所采用鍵盤為4×4行列式。每一條水平線(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要 4 條行線和 4條列線,即可組成4
9、5;4個按鍵的鍵盤。在行線所接的單片機4個I/O 口作為輸出端,而列線所接的I/O口則作為輸入端。當(dāng)按鍵沒有被按下時所有的輸出端都是高電平,代表無鍵按下。一旦有鍵按下,則輸入線就會被拉低,這樣通過讀入輸入線的狀態(tài)就可知是否有鍵按下。按鍵功能分配分為數(shù)字鍵和功能鍵,數(shù)字鍵主要是用于密碼輸入,功能鍵主要是用于修改密碼、確認(rèn)密碼、刪除密碼等。4) 報警電路部分當(dāng)輸入密碼錯誤超過3次,就會觸動報警電路中蜂鳴器。5)開鎖電路部分用發(fā)光二極管代替開鎖的電路,發(fā)光表示開鎖。2.1.2方案二采用數(shù)字電路控制方案用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有
10、4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒(一般情況下,用戶不會超過10秒,若用戶覺得不便,還可以修改)電路將報警20秒,若電路連續(xù)報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因為停電造成的密碼鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報警電路、鍵盤輸入次數(shù)鎖定電路。電路框圖如圖2.2所示。密碼修改電路鍵盤輸入電路報警電路開鎖電路執(zhí)行電路密碼校驗電路圖2.
11、2 密碼鎖電路2.1.3方案三采用EDA控制方案1)整體結(jié)構(gòu)設(shè)計電子密碼鎖包括鍵盤控制、 密碼設(shè)置和報警提示三大功能模塊。2)硬件描述語言VHDL描述電路首先在合適的路徑下建立本設(shè)計的文件夾。 然后用VHDL語言編輯。最后仿真測試及編程下載配置。 2.2方案比較以及可行性方案一采用基于單片機實現(xiàn)的電子密碼鎖,其中硬件電路設(shè)計具有按鍵有效提示、輸入錯誤提示、控制開鎖電平、控制報警電路、修改密碼電路等多種功能。密碼鎖內(nèi)部的單片機是核心處理設(shè)備,單片機有體積小、質(zhì)量輕、價格便宜諸多優(yōu)點。單片機軟件部分軟件的設(shè)計主要是 51 單片機的程序編寫且單片機是靠程序運行的,如果需要修改只需要修改程序,不需要將
12、整個硬件電路做整修,這不僅以節(jié)約資源而且可以節(jié)約時間,提高工作效率。因為通過不同的程序可以實現(xiàn)不同的功能,尤其是特殊的獨特的一些功能。這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的,但是單片機卻可以輕松解決。通過編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性,比起數(shù)電中邏輯器件這個優(yōu)點顯而易見,因此方案一比方案二合適。對比方案三,雖然都可通過編程來實現(xiàn)各種功能,但是單片機是軟件編程,而EDA技術(shù)是在軟件平臺下,用硬件描述語言VHDL來實現(xiàn)的。設(shè)計者在EDA軟件平臺上,用硬件描述語言VHDL完成設(shè)計文件。對于我個人來說,EDA方面的知識有限,不太會運用,因此我個人不選擇這個方
13、案。綜上,本次設(shè)計最優(yōu)選擇為方案一即采用AT89C51為核心的單片機控制,其方案的可行性如下:n 單片機價格實惠,因而畢業(yè)設(shè)計成本不高。n 單片機型號、種類多,在市場上容易購買。n 電路的安裝和調(diào)試都比較容易方便,比較易于實現(xiàn)。 3電子密碼鎖硬件電路的設(shè)計本設(shè)計主要由中央控制模塊、鍵盤輸入模塊、LCD顯示密碼模塊、開鎖電路模塊、蜂鳴器報警電路模塊五大模塊組成。3.1中央控制模塊的設(shè)計中央控制主要由STC89C52單片機構(gòu)成,輔以復(fù)位電路和時鐘電路。3.1.1主控芯片STC89C52單片機的簡介1)STC89C52單片機的主要特性如下: 1) 增強型 8051 單片機,6 時鐘/機器周期和 12
14、 時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng) 8051。 2) 用戶應(yīng)用程序空間為 8K 字節(jié),片上集成 512 字節(jié) RAM 。3) 通用 I/O 口(32個),P1/P2/P3/P4 是準(zhǔn)雙向口/電阻上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 2)STC89C52RC 引腳功能說明:1) VCC(40 引腳):電源電壓 2) VSS(20 引腳):接地 3) P0 端口(P0.0P0.7,3932 引腳) :P0 口是一個漏極開路的 8 位雙向 I/O 口。作為輸出端口,每個引腳能驅(qū)動8個TTL 負(fù)載,對端口 P0 寫入每個
15、引腳能驅(qū)動 寫入“1”時,可 以作為高阻抗輸入。4) P1 端口(P1.0P1.7,18 引腳) :P1 口是一個內(nèi)部帶上拉電阻的 8 位雙向 I/O 口。P1 口作輸入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流。 5) P2 端口(P2.0P2.7,2128 引腳) :P2 口是一個內(nèi)部帶上拉電阻的 8 位雙向 I/O 端口。P2 作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會 輸出一個電流(I)。6) P3 端口(P3.0P3.7,1017 引腳) :P3 口是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 端口。7) RST(9 引腳) :復(fù)位輸入,當(dāng)
16、輸入連續(xù)兩個機器周期以上高電平時為有效, 用來完成單片機的復(fù)位初始化操作。8) ALE/ ROG (30 引腳) 地址鎖存控制信號 :(ALE) 是訪問外部程序存儲器時, 鎖存低 8 位地址的輸出脈沖。 圖3.1 STC單片機管腳圖3.1.2時鐘電路的設(shè)計時鐘信號用來提供單片機片內(nèi)的各種微操作的時間基準(zhǔn),時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式,如圖2-2所示在其外接晶體振蕩器(簡稱晶
17、振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。圖3.1.2中外接晶體以及電容C2和C3構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值為30pF左右,晶振頻率選11.0592MHz ,其連接電路如圖3.2所示。圖3.2 晶振電路3.1.3復(fù)位電路的設(shè)計單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周
18、期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位,其連接電路如圖3.3所示。 1)手動按鈕復(fù)位 手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當(dāng)人為按下按鈕時,則VCC的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。 2)上電復(fù)位 上電復(fù)位電路只要在RST復(fù)位輸入引腳上接電容至VCC端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST內(nèi)部有一個下拉電阻,故可將外部電阻去掉
19、,而將外接電容減至1?F。上電復(fù)位的工作過程是在加電時,復(fù)位電路通過電 容加給RST端一個短暫的高電平信號,此高電平信號隨著VCC對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號必須維持足夠長的時間。上電時,VCC的上升時間約為10ms,而起振蕩器的起時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。在圖2的復(fù)位電路中,當(dāng)VCC掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負(fù)電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于
20、隨機狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復(fù)位,則程序計數(shù)器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。 圖3.3 手動按鈕復(fù)位電路3.2鍵盤輸入模塊的設(shè)計3.2.1矩陣鍵盤工作原理矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線,組成鍵盤的。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。這樣鍵盤中按鍵的個數(shù)是4×4個。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機系統(tǒng)中I/O口的利用率。行列式鍵盤的工作方式是先利用列線發(fā)送掃描字,然后讀取行線的狀態(tài),查看是否有按鍵按下。鍵盤部分提供一種掃描的工作方式能
21、對鍵盤不斷掃描、自動消抖、自動識別按下的鍵,并給出編碼。在顯示部分,它可以為發(fā)光二極管、熒光管及其他顯示器提供按掃描方式工作的顯示接口,而且為顯示器提供多路復(fù)用信號,可以顯示多達16位的字符或數(shù)字。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的,其方法是由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷,其方法是依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列,如果不全為1,則所按下的鍵必在此列,而且是在與0電平線相交的交點上的那個鍵。3.2.2單片機鍵盤掃描法掃描法是在判定有鍵按下后逐列果行(或列)的狀態(tài)出現(xiàn)非全1狀態(tài),如果(或列)的狀態(tài)出現(xiàn)非全1狀態(tài),這
22、時0狀態(tài)的行、列交點的鍵就是所按下的鍵。掃描法的特點是逐行(或逐列)掃描查詢,這時相應(yīng)行(或列)應(yīng)有上拉電阻接高電平。行列式鍵盤掃描程序就是采用掃描法來確定哪個鍵按下的。 確定矩陣式鍵盤上哪個鍵被按下時運用掃描法,又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,過程如下:1)判斷鍵盤中有無鍵按下,將全部行線Y0Y3置為低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線,均為高電平,則鍵盤中無鍵按下。2)判斷閉合鍵所在的位置,在確認(rèn)有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為
23、為低電平,即在置某根行線為低電平時,其他線為高電平,在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài),若某列為則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鍵,其連接電路如圖3.4所示。圖3.4 矩陣鍵盤電路與單片機連接圖3.3LCD顯示密碼模塊的設(shè)計顯示模塊主要由LCD1602顯示屏組成,他顯示的是鍵盤輸入的密碼,以及密碼正確與錯誤的提示。當(dāng)輸入密碼時,出于安全性的考慮,顯示的密碼是有*號代替,為暗密。當(dāng)輸入六位密碼后按下確認(rèn)鍵,系統(tǒng)會與存于ROM的密碼對比, 若密碼錯誤,顯示屏?xí)@示Error,若密碼正確,顯示屏?xí)@示Right。3.3.1LCD1602簡介1) 1602功能介
24、紹1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因為如此所以他不能顯示圖形。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。 2) 1602LCD 采用標(biāo)準(zhǔn)的 14腳(無背光)或 16腳(帶背光)接口,各引腳接口說明如下表3.1所示: 表 3.1引腳功能說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示
25、偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極其引腳圖如下圖所示:圖3.5 LCD1602引腳圖3) LCD寄存器的選擇表3.2 LCD寄存器的選擇ER/WRS功能說明110寫入命令寄存器111寫入數(shù)據(jù)寄存器110讀取忙碌標(biāo)志及RAM地址111讀取RAM數(shù)據(jù)0X1不動作3.3.2LCD1602液晶顯示模塊與單片機連接電路圖3.6 連接電路3.4開鎖模塊的設(shè)計通過單片機送給開鎖執(zhí)行機構(gòu),電路驅(qū)動原本是利用電磁鎖吸合原理來進行開鎖的的。本設(shè)計為節(jié)約資源,通過P3.0接一個發(fā)光二極管作
26、為電磁閥線圈,當(dāng)發(fā)光二級管亮則表示實現(xiàn),密碼正確門開,若二極管不亮則表示輸入的密碼不正確,門不開,其連接電路如圖3.7所示。圖3.7 開鎖電路3.5報警模塊的設(shè)計報警模塊由蜂鳴器和單片機組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時約需要100mA驅(qū)動電流。蜂鳴器電路如圖3.5所示。當(dāng)89C51的P3.3口輸出為高電平時,蜂鳴器產(chǎn)生蜂鳴音,89C51輸出為低電平時,蜂鳴器不發(fā)聲,其連接電路如圖3.5所示。圖3.8 報警電路3.6硬件電路總體設(shè)計本次設(shè)計的各大模塊在上述章節(jié)中已仔細(xì)介紹了,將各大模塊融合在一起后組成電子密碼鎖硬件電路,鍵盤輸入模塊和LCD顯示模塊是最主要的兩大模塊,鍵盤主要是完成
27、密碼的輸入、修改密碼、消除密碼等等任務(wù)。而顯示模塊則是主要完成輸入密碼的顯示以及密碼輸入正確或者錯誤的提示。而剩余的就是報警模塊、開鎖模塊以及單片機的最小系統(tǒng)。開鎖顧名思義就是密碼輸入正確后打開大門,而報警主要是為安全著想,當(dāng)有人非法入侵時便于抓住犯人。單片機最小系統(tǒng)則是單片機正常運行的保障。總的硬件電路如圖3.9所示。圖3.9 總的硬件電路4電子密碼鎖的軟件設(shè)計電子密碼鎖的軟件設(shè)計是整個電子密碼鎖可靠安全運行的關(guān)鍵,密碼鎖軟件程序分為主程序、延時子程序、LCD顯示子程序、修改密碼子程序、掃描鍵盤輸入子程序、報警子程序。密碼通過矩陣鍵盤輸入,并且在液晶顯示屏上顯示,如果輸入密碼正確,則可以直接
28、開鎖。如果不正確,并且3次以上輸入不正確,則啟動報警系統(tǒng),觸發(fā)蜂鳴器發(fā)聲。如果要修改密碼,則需要在輸入基礎(chǔ)密碼判別正確后,輸入修改后的密碼,通過系統(tǒng)確認(rèn)后方可修改密碼。為了完成上述任務(wù),在進行軟件設(shè)計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。而本次設(shè)計分為四大模塊,分別是鍵盤輸入模塊、LCD顯示模塊、開鎖和報警模塊以及修改密碼模塊,通過主程序來實現(xiàn)控制。4.1主程序流程介紹主程序主要內(nèi)容是各子程序模塊的調(diào)用,并利用各模塊進行電子密碼鎖功能的實現(xiàn),即是鍵盤輸入密碼并在LCD液晶顯示屏上顯示密碼,當(dāng)密碼輸入完成后,單片機會將輸入進的密碼與原單片機內(nèi)部所儲存的密碼進行對比,如若密碼正確
29、,則代表電磁吸合器的發(fā)光二極管會顯示紅色,同時LCD液晶顯示屏?xí)@示出right;如若密碼錯誤,會啟動計數(shù)器計數(shù),當(dāng)錯誤次數(shù)超過三次時,報警系統(tǒng)會啟動即是蜂鳴器會發(fā)出報警聲,以提醒保安。流程圖如圖4.1所示。開始初始化有鍵按下?調(diào)用顯示啟動定時識別按鍵按鍵數(shù)=6?超時?比較密碼開門結(jié)束自動清除<3次?報警NNYYYYNN圖4.1 主程序流程圖4.2鍵盤模塊流程圖鍵盤輸入模塊主要包含鍵盤的掃描、延時去抖、找到鍵值以及返回鍵值。鍵盤掃描時循環(huán)的,程序編寫是會使其進入是循環(huán),這樣可以檢驗出是否有按鍵按下,如果無按鍵按下就會進入等待有按鍵按下的狀態(tài),如果有按鍵按下的話就進入延時去抖的步驟,這樣可
30、以肯定的確定掃描到的按鍵是否被按下。經(jīng)過去抖之后就是確定按鍵的位置即是第幾行和第幾列,找到按鍵后,就是確定鍵值并返回按鍵值,每一次掃描到有鍵按下后,最后都要有釋放閉合按鍵的步驟,這是為了避免影響下一次鍵盤的掃描和按鍵值的讀取。流程圖如圖4.2所示。鍵盤掃描返回鍵值閉合鍵釋放計算鍵值找到閉合鍵延時去抖有鍵閉合?YN圖4.2 鍵盤掃描流程圖按鍵的消抖子程序所示:if(press_on!=0XF0)/-按鍵消抖-(時間自定)delay(50);press_on=KEY_IO; 確定鍵值的子程序如下所示:switch(row) case 0xe0:row=0;break;case 0xd0:row=1
31、;break;case 0xb0:row=2;break;case 0x70:row=3;break; switch(col) case 0x07:col=0;break;case 0x0b:col=1;break;case 0x0d:col=2;break;case 0x0e:col=3;break; recieve=key_valuerowcol; 4.3顯示模塊流程圖LCD顯示模塊的軟件設(shè)計主要包含開始、初始化LCD、清除LCD、寫LCD四個過程。其中寫包含寫數(shù)據(jù)和寫字符。寫數(shù)據(jù)的部分程序:/寫數(shù) (5位數(shù)據(jù))void printf_data(uchar row,uchar col,uc
32、har count,uint dat) uchar sh1,sh2,sh3,sh4,sh5; sh5=dat/10000; sh4=dat%10000/1000; sh3=dat%1000/100; sh2=dat%100/10; sh1=dat%10; write_adr(0x0c); switch(row) case 1:row=0x80;break; case 2:row=0xc0;break; default:break; write_adr(row+col-1); delay(500); if(count>=5) write_data(sh5+48); if(count>
33、=4) write_data(sh4+48); if(count>=3) write_data(sh3+48); if(count>=2) write_data(sh2+48); if(count>=1) write_data(sh1+48);寫字符的小程序為:/寫一段字符void printf_char(uchar row,uchar col,uchar Inbuffer31) uchar i; write_adr(0x0c); switch(row) case 1:row=0x80;break;流程圖如圖4.3所示:初始化LCD開始清除LCD寫LCD結(jié)束圖4.3 LCD顯
34、示流程圖4.4修改密碼流程圖修改密碼模塊主要是在輸入密碼正確之后,按下14鍵即是修改密碼鍵就能進入修改密碼界面,其流程分為四個步驟,分別為按下14鍵并啟動定時、輸入修改的密碼、按下確認(rèn)鍵11鍵、LCD的顯示。修改密碼的部分程序如下:/改密碼void ch_word(void)unsigned char recieve=0xff,b10,j=0;LCD_CLR();printf_char(1,1,"new_password%d");while(recieve!=11)recieve=keypad();delay(10000);if(recieve<=9&&
35、;recieve>=0)bj=recieve;printf_data(2,j+1,1,recieve);j+;else if(recieve=12)if(j!=0) aj='0'printf_char(2,j," %d"); j-; 流程圖如圖4.4所示:按下14鍵啟動定時輸入密碼存入緩沖按下確認(rèn)1111鍵比較密碼調(diào)用LED調(diào)用顯示圖4.4 修改密碼流程圖4.5開鎖和報警模塊流程圖開鎖和報警模塊主要任務(wù)是把從鍵盤輸入到單片機的密碼和本身保存在單片機中的密碼進行對比,如果正確就開鎖,如果錯誤的話就進行計數(shù)并顯示在LCD液晶顯示屏上,當(dāng)輸入密碼的錯誤次數(shù)達
36、到3次就進入報警模式,啟動蜂鳴器報警。其流程圖如圖4.5所示。圖4.5 報警流程圖5電子密碼鎖的系統(tǒng)調(diào)試及分析5.1硬件電路調(diào)試及結(jié)果分析硬件調(diào)試首先檢查電路板焊接是否有誤,檢查有是否出現(xiàn)虛焊、漏焊、線路短接、元器件引腳是否錯誤焊接等等問題,然后檢查電路中某些元器件是否起作用,最后利用一些小程序測試LCD1602是否完好無損。檢測單片機是否工作可通過觀察示波器顯示的波形是否衰減,或者利用萬用表測一下18,19腳的電壓,應(yīng)該有個2-3V就說明起振了,另外,ALE如果有信號或者有電壓也說明單片機工作了。我采用利用萬用表側(cè)18、19腳的電壓,其結(jié)果顯示為2.3V。檢測電路有無虛焊可用萬用表的二極管檔
37、來檢測,當(dāng)把萬用表的紅黑兩表筆接觸在焊接線路的兩端后,萬用表發(fā)出聲音,則說明沒有虛焊。檢查電路是否短路也是利用同一原理。5.2軟件調(diào)試及功能分析軟件調(diào)試即是把已經(jīng)寫好的C語言程序載入到軟件調(diào)試工具,檢查軟件是否有設(shè)法錯誤,再根據(jù)軟件提示對本程序進行修改,直到?jīng)]有錯誤再生成單片機能運行的機器碼,再用51開發(fā)板或其它單片機寫入工具把機器碼寫入單片機進行實際的程序調(diào)試,根據(jù)實際情況再對程序的不足加以修改,直到滿足設(shè)計要求。本設(shè)計采用Proteus和KEIL軟件進行仿真、調(diào)試,首先在在Proteus軟件上進行硬件電路的描繪,其次在KEIL軟件編寫電子密碼鎖的源程序,源程序經(jīng)過匯編后產(chǎn)生Hex文件,最后
38、將生成的目標(biāo)文件添加到單片機中仿真調(diào)試。5.2.1調(diào)試過程首先打開KEIL C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語法錯誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機可執(zhí)行的HEX文件。然后用與51開發(fā)板相匹配的寫入軟件把HEX文件寫入單片機。圖5.1 KEIL c51調(diào)試介面圖5.2 程序?qū)懭虢缑?.2.2仿真結(jié)果分析當(dāng)系統(tǒng)通電進入初始化狀態(tài)后,LCD顯示屏?xí)@示W(wǎng)elcome,結(jié)果如圖5.3所示。圖5.3 系統(tǒng)初始化當(dāng)進入輸入密碼階段時,依次按下按鍵上的數(shù)字鍵1,2,3,4,5,6后,LCD顯示屏顯示如圖5.4所示。圖5.4 輸入密碼階段仿真圖當(dāng)按下確定鍵11鍵后,顯示屏上
39、顯示正確且二極管燈亮,表示密碼正確開門,如圖5.5所示。圖5.5 輸入密碼正確時仿真圖按下確認(rèn)鍵后,二極管不亮且顯示屏上顯示Error,表示密碼輸入錯誤,門的鎖不會打開。如圖5.6所示。圖5.6 輸入密碼錯誤仿真圖當(dāng)需要修改密碼時,只需按下14鍵即可進入到修改密碼界面,修改成功后顯示success,修改錯誤后顯示屏?xí)@示fail。圖5.7 修改密碼仿真圖圖5.8 修改失敗仿真圖5.3系統(tǒng)調(diào)試系統(tǒng)調(diào)試即是將源程序在KEIL軟件里運行產(chǎn)生的可執(zhí)行文件HEX寫入到單片機中,然后通電初始化,檢查是否能實現(xiàn)仿真中達到的效果。如果都無誤寫入程序后還是有問題就要檢查程序是否有問題。其結(jié)果分析如下所示:單片機
40、寫入程序后并通電初始化后,LCD顯示屏顯示welcome如圖5.9所示。圖5.9 初始化硬件電路當(dāng)通過4*4矩陣鍵盤輸入密碼且密碼正確后,LCD顯示屏顯示right如圖5.10所示。圖5.10 密碼正確界面當(dāng)通過4*4矩陣鍵盤輸入密碼且密碼錯誤后,LCD顯示屏顯示error以及輸入錯誤的次數(shù),如圖5.11所示。圖5.11 密碼錯誤界面當(dāng)用戶需要修改密碼時,按下14鍵即可進入修改密碼界面,LCD顯示屏顯示new-password如圖5.12所示。圖5.12 修改密碼界面6結(jié)論及展望6.1結(jié)論本次設(shè)計通過硬件電路設(shè)計、軟件編程、硬件調(diào)試、軟件調(diào)試以及系統(tǒng)調(diào)試完成了設(shè)計要求,達到了設(shè)計目的。本次設(shè)計
41、最終的結(jié)果如下:n 電子密碼鎖通過鍵盤能成功進行輸入密碼;n LCD液晶顯示屏上能顯示輸入的密碼;n 能判斷輸入的密碼是否正確并且能顯示判斷結(jié)果;n 能在密碼輸入正確后開門;n 能在密碼輸入錯誤次數(shù)達到三次以上后進行報警;n 能在開門后通過一按鍵對原有密碼進行更改;n 能用*代替顯示輸入的密碼數(shù)字,隱藏了密碼,這實現(xiàn)了密碼保護。但是在實現(xiàn)上述功能時,也存在許多不足。第一,在密碼輸入正確時除了要使代表電磁吸合器的發(fā)光二極管發(fā)光以外,還應(yīng)該加上語音模塊,提示門開,這樣更人性化一些。第二,密碼輸入錯誤次數(shù)小于三次時,也應(yīng)該采取措施提醒。第三,密碼修改部分,本次設(shè)計實現(xiàn)的不是很好,密碼能進行修改但是只
42、能修改第一個密碼。第四,本次設(shè)計的電子密碼鎖,安全方面還可以提高進步。本設(shè)計中的報警系統(tǒng)只是一個簡單的系統(tǒng),要應(yīng)用于實際生活還需要進一步改進。6.2展望電子鎖是信息化時代發(fā)展的產(chǎn)物,應(yīng)時而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。本次設(shè)計中還有待完善的地方還很多。首先,修改密碼可進一步完善,實現(xiàn)有不管多少戶住戶和多少個密碼,都能修改密碼。其次,也是最重要的安全防問題,報警途徑很多,有視屏監(jiān)視和發(fā)出報警聲提醒值班的保安等等。未來,電子密碼鎖需要大面積占據(jù)市場首先必須要突破的就是安全問題,如果解決了這個問題,電子密碼鎖就能在鎖的行業(yè)所向披靡。最后本次設(shè)
43、計還可以精進的地方就是輸入密碼錯誤時的處理方法。在輸入密碼錯誤次數(shù)在三次以內(nèi)時,也應(yīng)該采取措施。比如禁止輸入三秒或者也用發(fā)聲模塊提醒,只要發(fā)聲頻率不一致就可區(qū)分。謝辭本次設(shè)計題目是在和我的指導(dǎo)老師孫曉玲老師交流后定下的,選此題原因在于雖然電子密碼鎖在之前就已近在市場上出現(xiàn),但是始終沒有廣泛應(yīng)用到人們的日常生活中,因此電子密碼鎖就具有繼續(xù)研究的必要。所以在和孫老師商議過后,我就選擇了電子密碼鎖這個設(shè)計題目。從前期努力查找資料,到中期設(shè)計思路的討論和修改,及最后的反復(fù)斟酌,我都無比的感謝我的指導(dǎo)老師孫老師。她在此期間對我的幫助是我能及時準(zhǔn)確完成畢業(yè)設(shè)計任務(wù)的必要條件。在硬件調(diào)試和軟件調(diào)試的過程中,
44、我遇到了相當(dāng)多的困難,而幫助我解決困難的同學(xué)是我必須要要感謝的。幫助我編寫程序并進行調(diào)試的彭同學(xué),在我對某些程序一籌莫展的時候,伸出了援救之手,在編寫程序過程中少走了許多彎路,對于他給予我的幫助,我真心的表示感謝。再來就是幫助我進行硬件調(diào)試的徐同學(xué)和胡同學(xué),他們在我電路板焊接好后,但是未能成功實現(xiàn)電子密碼鎖功能的時候,及時伸出了援救之手,把我從無助、迷茫中解救出來,最終完美的完成畢業(yè)設(shè)計,對大學(xué)四年畫上了圓滿的句號。在論文的不斷修改中孫老師總是認(rèn)真仔細(xì)的幫助我檢查并修改論文,使我的論文不斷完善。再次對您表示感謝,師恩偉大,無以回報。在這里還要深深的對您說上一句抱歉,因為我的懶散和懈怠,令您費盡
45、苦心并且?guī)捉?。最后要感謝的是電信院所有的老師與領(lǐng)導(dǎo),我永遠(yuǎn)都不會忘記你們的良苦用心以及諄諄教誨。參考文獻1 王千. 實用電子電路大全M. 電子工業(yè)出版社, 2004, 28-362 彭為. 單片機典型系統(tǒng)設(shè)計實例精講M. 電子工業(yè)出版社,2 006, 69-883 張榮. 基于單片機的智能系統(tǒng)設(shè)計與實現(xiàn)M. 電子工業(yè)出版社, 2005, 35-384 朱勇. 單片機原理與應(yīng)用技術(shù)M. 清華大學(xué)出版社, 2006, 14-165 潘永雄. 新編單片機原理與應(yīng)用M. 西安電子科技大學(xué)出版社, 2003, 78-866 葉啟明. 單片機制作的新型安全密碼鎖J. 家庭電子, 2005, (10):
46、7 郭海英. 基于單片機的電子安全密碼鎖的設(shè)計M. 現(xiàn)代電子技術(shù), 2005,(13)8 李明喜. 新型電子密碼鎖的設(shè)計J. 機電產(chǎn)品開發(fā)與創(chuàng)新, 2004, (03):9 彭為. 單片機典型系統(tǒng)設(shè)計實例精講M. 北京:電子工業(yè)出版社, 2006, 35-3810 ATmega.ATmega8L-8AC, 2006, (01), 63-6411 Wireless World, 1998, 42-4512 石文軒, 宋薇. 基于單片機MCS一51的智能密碼鎖設(shè)計J. 武漢工程職業(yè)技術(shù)學(xué)院學(xué)報, 2004, (01): 76-3513 祖龍起, 劉仁杰. 一種新型可編程密碼鎖J. 大連輕工業(yè)學(xué)院學(xué)
47、報,2002, (01): 54-5714 葉啟明. 單片機制作的新型安全密碼鎖J. 家庭電子, 2005, (10): 98-11115 郭海英. 基于單片機的電子安全密碼鎖的設(shè)計M. 現(xiàn)代電子技術(shù), 2005, (13), 76-9616 李明喜. 新型電子密碼鎖的設(shè)計J. 機電產(chǎn)品開發(fā)與創(chuàng)新, 2004, (03): 45-6617 董繼成. 一種新型安全的單片機密碼鎖J. 電子技術(shù), 2004, (03): 122-13418 R. Dye. Visual Object-Orientated ProgrammingJ. Dr. Dobbs MacintoshJournal, 1991,
48、56(1):213-234 19 李朝青.單片機原理及接口技術(shù)(簡明修訂版)M.北京:北京航空航天大學(xué)出版社,199820 李全利.單片機原理及接口技術(shù)M.高等教育出版社,200321 PROTEL99 SE電路設(shè)計與制板M.機械工業(yè)出版社,200722 楊將新,李華軍,劉到駿等.單片機程序設(shè)計及應(yīng)用(從基礎(chǔ)到實踐)J電子工業(yè)出版社,200623 Steven F.Barrett.Daneil J.Pack.Embedded SystemM.北京:電子工業(yè)出版社,200624 周立功.LPC900系列Flash單片機應(yīng)用技術(shù)J.北京航空航天大學(xué)出版社, 200425 黃智偉.全國大學(xué)生電子設(shè)計
49、競賽訓(xùn)練教程M.北京:電子工業(yè)出版社, 2005附錄附1部分代碼#define key_data P1code unsigned char key_value44=1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16;/-鍵值初始化(可自行賦予鍵值)uchar keypad(void) uchar row,col;uchar recieve=0xff;key_data=0XF0;delay(100);if(key_data!=0xf0) delay(100); if(key_data!=0xf0) row=key_data; key_data=0x0f; delay(10
50、); col=key_data; switch(row) case 0xe0:row=0;break;case 0xd0:row=1;break;case 0xb0:row=2;break;case 0x70:row=3;break; switch(col) case 0x07:col=0;break;case 0x0b:col=1;break;case 0x0d:col=2;break;case 0x0e:col=3;break; recieve=key_valuerowcol; return recieve;#include "reg51.h"#include &quo
51、t;lcd1602.c"#include "keydriver.c"sbit P3_0=P30;sbit P3_3=P33;/sbit P3_0=P30;unsigned char count,i;unsigned char a10;unsigned char password410=1,2,3,4,5,6,7,8,9,0, 2,4,5,6,7,8,2,3,4,7, 4,5,6,3,2,1,1,7,8,9, 0,9,8,7,6,5,4,3,2,1;/報告結(jié)果void report(unsigned char flag)a10=0;if(flag=0)printf_char(1,10,"right%d") ;P3_0=0; delay(60000);delay(60000);P3_0=1;LCD_CLR();elseprintf_char(1,10,"error%d") ;if(count>=3)P3_3
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建材行業(yè)周轉(zhuǎn)材料管理計劃
- 辣椒育種項目可行性研究報告
- 2025年雨水排水管網(wǎng)改造工程可行性研究報告
- 2025年安徽聯(lián)燦建筑工程有限公司介紹企業(yè)發(fā)展分析報告
- 酒店公寓項目可行性分析報告
- 金融行業(yè)安全生產(chǎn)費用使用計劃
- 2024-2025企業(yè)員工崗前安全培訓(xùn)考試試題及參考答案(能力提升)
- 2025年鐵銷濾料行業(yè)深度研究分析報告
- 2024-2025安全標(biāo)準(zhǔn)化安全培訓(xùn)考試試題附完整答案(各地真題)
- 2025年公司、項目部、各個班組安全培訓(xùn)考試試題附參考答案(典型題)
- 特殊作業(yè)安全管理監(jiān)護人專項培訓(xùn)課件
- (校對)2023年國家公務(wù)員考試《行測》真題(地市卷)答案和解析
- 《剪映專業(yè)版:短視頻創(chuàng)作案例教程(全彩慕課版)》 課件 第7章 創(chuàng)作產(chǎn)品推
- 職業(yè)技能鑒定國家題庫計算機維修工
- 全過程造價咨詢項目保密及廉政執(zhí)業(yè)措施
- 路肩勞務(wù)承包合同
- 工業(yè)自動化設(shè)備維護保養(yǎng)指南
- 公益慈善基金會的品牌建設(shè)與傳播
- 2024上海市體檢人群抽樣健康報告
- 2024年檔案知識競賽考試題庫300題(含答案)
- 【基于PLC的智能立體停車場控制系統(tǒng)設(shè)計10000字(論文)】
評論
0/150
提交評論