馬寧 郭月萌
【摘 ?要】當(dāng)今世界,人們越來越注重個(gè)人隱私的保護(hù),更在意生命財(cái)產(chǎn)安全。所自古以來就是人們深刻研究的工具,既要求能夠?qū)崿F(xiàn)安全可靠又要求輕便簡易。所以集安全性與便捷性于一體的電子鎖應(yīng)運(yùn)而生。電子鎖種類繁多,如指紋鎖、密碼鎖、此電子密碼鎖選取了80C51單片機(jī)為核心。通過輸入六位密碼進(jìn)行開鎖,本設(shè)計(jì)具有設(shè)置密碼、修改密碼、報(bào)警鎖定、報(bào)警提示等功能。
【關(guān)鍵詞】電子密碼鎖;單片機(jī);安全
引言
電子密碼鎖不僅能起到安全的作用并且免于用戶關(guān)于鑰匙的困擾。電子密碼鎖常用于家庭安裝,在很多高端社區(qū)都可以看到電子門鎖的身影。電子密碼鎖是一種通過密碼輸入來工作的電子產(chǎn)品。利用內(nèi)在芯片控制機(jī)械開關(guān)的閉合,實(shí)現(xiàn)開鎖、關(guān)鎖的任務(wù)。它的種類繁多,既有僅靠電路實(shí)現(xiàn)的結(jié)構(gòu)簡單產(chǎn)品,也有核心為芯片的高價(jià)位高端產(chǎn)品。電子密碼鎖大多是以芯片為核心的,在經(jīng)過人工編程實(shí)現(xiàn)密保安全。
1 硬件描述
1.1所需硬件
單片機(jī)、矩陣鍵盤、液晶顯示器和密碼存儲等。
1.2單片機(jī)80C51
80C51單片機(jī)屬于MCS-51系列單片機(jī)。該系列單片機(jī)由Intel公司開發(fā)。8048結(jié)構(gòu)的發(fā)展促進(jìn)了8051單片機(jī)的誕生。該系列改進(jìn)了8048的缺點(diǎn),增加了如乘、除、減、比較、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。8051屬于片內(nèi)帶型單片機(jī),這類芯片在生產(chǎn)過程中將用戶的應(yīng)用代碼通過掩模工藝制作到ROM中。應(yīng)用程序只能由廠家寫入,一旦寫寫入無法修改,適合大量使用。并且它具有低功耗的特點(diǎn)。相對于HMOS器件所消耗的電流更小,并且多了掉電方式和待機(jī)方式兩種工作方式,這些都是該芯片功耗更低的原因。
(1)時(shí)鐘電路:單片機(jī)的正常工作需要晶振給CPU提供頻率支持。晶振頻率就是由時(shí)鐘電路所提供的。單片機(jī)有兩種時(shí)序電路。內(nèi)部時(shí)序電路和外部時(shí)序電路。
(2)復(fù)位電路:復(fù)位電路實(shí)現(xiàn)系統(tǒng)的運(yùn)行和重啟,復(fù)位時(shí)CPU和其他部件處于一個(gè)開始狀態(tài)。當(dāng)單片機(jī)RST引腳處于高電平時(shí),單片機(jī)實(shí)現(xiàn)復(fù)位。復(fù)位電路也有兩種方式,一個(gè)是上電自動(dòng)復(fù)位,一個(gè)是按鈕手動(dòng)復(fù)位。實(shí)現(xiàn)復(fù)位后,程序從0000H地址單位開始執(zhí)行,但不會改變RAM中的內(nèi)容。
1.3 蜂鳴器報(bào)警模塊
本文設(shè)計(jì)的電子鎖具有報(bào)警裝置。當(dāng)密碼輸入錯(cuò)誤三次以上,蜂鳴器就會發(fā)出警報(bào)聲。蜂鳴器的形式為壓電式,三極管處于外接51單片機(jī)的p1.7端口處。模塊通過電流放大的方式,促使蜂鳴器發(fā)出聲音,實(shí)現(xiàn)報(bào)警。[1]
1.4 74LS245
74LS245是常用來驅(qū)動(dòng)LED或者其他的設(shè)備的數(shù)字芯片。該芯片可以實(shí)現(xiàn)雙向傳輸數(shù)據(jù),具有雙向三態(tài)功能。74LS245的作用就是當(dāng)8051單片機(jī)的P0口總線不能負(fù)擔(dān)P0口相應(yīng)的承載負(fù)擔(dān)時(shí)接等總線驅(qū)動(dòng)器,以此來提高單片機(jī)的驅(qū)動(dòng)能力。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。單片機(jī)的P0口的輸出經(jīng)過提高驅(qū)動(dòng)后,輸出到數(shù)碼管顯示電路。
2.軟件描述
2.1主流程
接電源后,顯示器顯示“HELLO”字樣,此時(shí)程序進(jìn)行初始化階段。此時(shí)利用鍵盤矩陣輸入密碼。密碼輸入后系統(tǒng)會進(jìn)行掃描鍵盤,它的目的就是判斷密碼輸入是否正確。若密碼正確顯示器顯示“OPENED”字樣表示電子鎖被打開,若密碼輸入錯(cuò)誤則顯示“ERROR”字樣。當(dāng)密碼輸入錯(cuò)誤三次以上,顯示器顯示“CODE”表示鎖定,無法輸入。
2.2 矩陣鍵盤設(shè)計(jì)
一組鍵盤想要使用就需要利用接口與CPU相連接。連接后通過查詢接口或者中斷CPU就可以確定某個(gè)按鍵是否被按下。想要將鍵盤和CPU相連就需要利用到單片機(jī)的I/O接口。往往系統(tǒng)使用的按鍵多于單片機(jī)I/O口,為了能夠更好地利用I/O接口實(shí)現(xiàn)多鍵盤,設(shè)計(jì)常用矩陣鍵盤來解決這個(gè)問題。矩陣鍵盤就是將按鍵設(shè)置在行、列線的交點(diǎn)上,行、列分別連接著按鍵開關(guān)的兩端。行線處于高電平,列線處于低電平,平時(shí)無鍵按下時(shí),表示沒有按鍵被按下。當(dāng)行線、列線都處于低點(diǎn)平時(shí),表示有按鍵被按下。接下來就利用行列掃描法排查出確認(rèn)按下的按鍵。明確有按鍵被按下后,延時(shí)10ms消除機(jī)械抖動(dòng),再次讀取行值,如果行線狀態(tài)發(fā)生改變就返回上一步重新判定;如果這條行線狀態(tài)不變,就進(jìn)行逐行掃描,分別拉低每一列。把掃描到的行、列值儲存在寄存器里。矩陣鍵盤具體如圖2.2。
3仿真與調(diào)試
仿真步驟如下:
(1)在KEIL中建立工程文件,并將將提前編寫好的程序添加到工程中。
(2)在KEIL中為工程設(shè)置選項(xiàng)。
(3)PROTEUS設(shè)置。
(4)單片機(jī)中添加將可執(zhí)行文件。打開PROTEUS仿真圖,點(diǎn)擊單片機(jī)器件兩次,將KEIL產(chǎn)生的“*.HEX”文件添加到單片機(jī)中。
(5)KEIL與PROTEUS連接進(jìn)行仿真調(diào)試。點(diǎn)擊PROTEUS的開始仿真按鈕即可開始KEIL與PROTEUS的聯(lián)合仿真圖如圖3.1
4結(jié)語
傳統(tǒng)鎖在安全方面有很多隱患,提高鎖的安全性很有必要。[2]。因此安全所的發(fā)展也會受到各界人士的重視,不論是家用還是企業(yè)用,安全鎖都是保障生命財(cái)產(chǎn)安全的一道防線。利用單片機(jī)為主要芯片設(shè)計(jì)的電子密碼鎖具有使用簡單、價(jià)格低廉的優(yōu)點(diǎn),這也是使它相對于傳統(tǒng)鎖更具有競爭力的原因之一。雖然此設(shè)計(jì)只是設(shè)計(jì)了一款較為簡單的電子鎖,但是它也是其他更加復(fù)雜的密碼鎖的基礎(chǔ),以此為基礎(chǔ)發(fā)展更加安全高效的密碼鎖是未來會更受重視的一項(xiàng)產(chǎn)品。我對于單片機(jī)的學(xué)習(xí)也是較為淺顯的,所以設(shè)計(jì)的電子鎖也略顯簡陋。雖然實(shí)現(xiàn)了基本的安全鎖要求,但是仍然存在密碼安全性較低的缺點(diǎn)。這只是最簡單的安全鎖。安全系數(shù)遠(yuǎn)遠(yuǎn)不能達(dá)到所預(yù)期的程度,仍然需要更加努力。
參考文獻(xiàn):
[1]張崇銘.基于51單片機(jī)電子密碼鎖的Proteus仿真設(shè)計(jì)[J].電腦迷,2016(01):41
[2]李凱麗,樊建強(qiáng).基于51單片機(jī)電子密碼鎖設(shè)計(jì)[J].中國新通信,2016(22)
(作者單位:1.河北農(nóng)業(yè)大學(xué);2.河北農(nóng)業(yè)大學(xué))