程志遠(yuǎn)
(鹽城工學(xué)院,江蘇 鹽城221051)
當(dāng)今社會,人們的生活水平不斷提高,物品多樣性越來越豐富,物品安全問題也越來越得到重視。鎖具的出現(xiàn)為人們的安全提供了保障,但在科技發(fā)達(dá)的現(xiàn)在,傳統(tǒng)鎖具已經(jīng)無法滿足人們的安全需要,因此,電子密碼鎖的發(fā)明和使用尤為重要。電子密碼鎖主要是靠單片機(jī)控制整個(gè)電子電路,實(shí)現(xiàn)門鎖的開與關(guān),相對于傳統(tǒng)機(jī)械鎖來講密碼鎖的安全性更高,可操控性更好,只需要記住自己設(shè)置的密碼即可,無須攜帶任何鑰匙或者卡制產(chǎn)品即可開門,所以廣泛受到人們的青睞[1]。
因電子密碼鎖保密性好,廣泛地應(yīng)用于住宅與商業(yè)、公共建筑的安全防范、個(gè)人資料的保存等領(lǐng)域。電子密碼鎖在操作上可以實(shí)現(xiàn)無鑰匙開鎖,整體結(jié)構(gòu)不用暴露在外,使用密碼開鎖安全性強(qiáng)。同時(shí)密碼具有一定的隱蔽性,輸入密碼操作簡單快捷且密碼不會輕易被竊取,所以,電子密碼鎖的實(shí)用性非常強(qiáng),非常具有現(xiàn)實(shí)意義。本文基于單片機(jī)的結(jié)構(gòu)功能設(shè)計(jì)一個(gè)實(shí)用的電子密碼鎖系統(tǒng)。
系統(tǒng)要包含實(shí)現(xiàn)密碼解鎖的所有模塊,主要有主控模塊、密碼輸入按鍵模塊、開鎖顯示模塊、報(bào)警與保護(hù)模塊。該設(shè)計(jì)以STC89C52單片機(jī)為核心,根據(jù)其內(nèi)部特性,設(shè)計(jì)出的結(jié)構(gòu)框圖如圖1所示。
圖1 結(jié)構(gòu)框圖
根據(jù)結(jié)構(gòu)框圖的連接,設(shè)計(jì)出基于單片機(jī)的電子密碼鎖系統(tǒng)的電路連接模塊。其主要包括單片機(jī)最小系統(tǒng)模塊、4×3矩陣鍵盤模塊、LCD1602顯示電路模塊,繼電器電路和聲光指示電路。
1.2.1 主控模塊
在以往單片機(jī)的學(xué)習(xí)中,了解到51單片機(jī)中的STC89C52單片機(jī)功能強(qiáng)大,適配性高。因此,在此次設(shè)計(jì)中主控模塊采用STC89C52單片機(jī)。該單片機(jī)具有8位CPU,振蕩器片內(nèi)自帶且具有4個(gè)8位I/O接口用來連接外圍設(shè)備等特性。在其工作過程中,必須連接好時(shí)鐘和復(fù)位電路來確保51單片機(jī)的正常工作。下面是單片機(jī)兩種電路的介紹。
(1)時(shí)鐘電路
單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,引腳XTAL1和XTAL2分別是該放大器輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷振蕩器一起構(gòu)成自激振蕩器,80C51內(nèi)部時(shí)鐘電路如圖2所示。振蕩器頻率主要由石英晶振的頻率確定。
圖2 內(nèi)部方式時(shí)鐘電路
(2)復(fù)位電路
復(fù)位電路可以使系統(tǒng)初始化,當(dāng)人們在輸錯密碼時(shí)不用全部刪掉,只需按一下復(fù)位按鈕便可重新輸入密碼,極其方便。同時(shí)也可以在程序錯亂的情況下使系統(tǒng)復(fù)位,保證系統(tǒng)的穩(wěn)定運(yùn)行。產(chǎn)生復(fù)位信號的電路邏輯如圖3所示。
圖3 復(fù)位信號的電路邏輯圖
根據(jù)此次設(shè)計(jì)的可行性,采用上電自動復(fù)位。只要電源的接通過程是順時(shí)的,在接通電源的瞬間便可實(shí)現(xiàn)復(fù)位初始化。
1.2.2 按鍵模塊
密碼輸入用按鍵模塊來模擬,按鍵采用獨(dú)立式按鍵。每一個(gè)獨(dú)立式按鍵都有與之匹配的數(shù)字,4×3矩陣鍵盤的行線與列線分別接至單片機(jī)對應(yīng)的輸入口,因?yàn)槊織l垂直線和水平線都是相互交叉但又不連通的,一般都是利用按鍵進(jìn)行連接[3]。因此,單片機(jī)的一個(gè)端口就可以連接需要的按鍵個(gè)數(shù)。每按下一個(gè)按鍵,就會有電平信號輸入直單片機(jī)內(nèi)部,通過設(shè)定好的程序顯示對應(yīng)的數(shù)字。只有順序按下與設(shè)定密碼一致的按鍵時(shí),才會開鎖成功,且密碼由自己設(shè)置,保證了人們的私人安全。
1.2.3 開鎖顯示模塊
LCD1602液晶顯示屏內(nèi)部自帶存儲器且具有強(qiáng)大的顯示功能,可以通過驅(qū)動電路直觀地顯示多項(xiàng)內(nèi)容,與單片機(jī)的連接也相對簡單易行。因此,以LCD1602作為顯示器。每輸入一位密碼時(shí),就會有對應(yīng)的數(shù)字顯示,同時(shí),為了保證安全,LCD1602可以在顯示時(shí)以“*”來代替密碼數(shù)字。當(dāng)密碼輸入正確時(shí),顯示屏?xí)诹硪恍酗@示開鎖成功的提示,相反,顯示屏則提示開鎖失敗并返回至等待輸入密碼狀態(tài)。開鎖成功后,還可以進(jìn)行修改密碼操作,與傳統(tǒng)鎖相比更加便利。
1.2.4 報(bào)警保護(hù)模塊
報(bào)警功能由繼電器模塊與蜂鳴器共同完成。當(dāng)密碼輸入錯誤時(shí),單片機(jī)主程序會將檢測到的錯誤開鎖信息以電平信號的方式傳給繼電器與蜂鳴器,蜂鳴器發(fā)出報(bào)警,繼電器工作使連接的指示燈點(diǎn)亮,以此提示開鎖失敗。蜂鳴器還可以在輸入密碼時(shí),按一次按鍵便會短暫響一下來提示是否輸進(jìn)密碼。繼電器還可以起到監(jiān)測作用,在正確輸入密碼的一定時(shí)間后使系統(tǒng)恢復(fù)至初始狀態(tài)。
單片機(jī)的軟件系統(tǒng)是單片機(jī)系統(tǒng)重要組成部分之一,要使單片機(jī)協(xié)調(diào)有序地工作,就需要片單片機(jī)軟件系統(tǒng)和硬件系統(tǒng)的共同配合[4]。主程序是設(shè)計(jì)的核心,是系統(tǒng)能夠完成一系列開鎖過程中最重要的內(nèi)容,可以存放用于單片機(jī)與顯示屏工作的程序并可以將其初始化,使系統(tǒng)接通電源時(shí)可以從指定的地方開始工作。主程序還可以檢測與判斷矩陣鍵盤的輸入,判斷是否開鎖并相應(yīng)傳輸接下來的信號,同時(shí)控制LED的顯示。由此可見,主程序的建立使系統(tǒng)可以有序地進(jìn)行,同時(shí)也將所有的模塊連接起來共同工作。
首先掃描第0行,判斷3個(gè)按鍵,加入消抖指令消抖,之后等待按鍵釋放,接著掃描第二行、第三行和第四行,最后返回鍵值。只要有一個(gè)按鍵按下,單片機(jī)就會有信號變化,然后做出相應(yīng)的轉(zhuǎn)化,使LED顯示,對應(yīng)的按鍵數(shù)字。
LCD顯示系統(tǒng)具有輸入密碼正確或錯誤的相應(yīng)顯示,同時(shí)可以將鍵盤輸入的密碼轉(zhuǎn)換為“*”增加隱蔽性。開鎖顯示是主程序的一部分,可以顯示用戶的開鎖情況,方便觀測與判斷。其中增加了繼電器與延時(shí)子程序,繼電器可以用來保護(hù)系統(tǒng)電路安全,同時(shí)連接更多的外圍設(shè)備,增加了系統(tǒng)的多樣性與安全性。
根據(jù)上文總結(jié)的軟硬件設(shè)計(jì),結(jié)合單片機(jī)等方面的理論知識,采用Proteus仿真軟件根據(jù)設(shè)計(jì)過程完成搭線,對設(shè)計(jì)的電子密碼鎖系統(tǒng)進(jìn)行仿真。
例如:設(shè)置密碼為543210六位數(shù)字。當(dāng)輸入正確的密碼時(shí),LCD顯示“open”,繼電器后面的燈亮表示開鎖成功,之后P1.3連的LED亮滅閃爍。當(dāng)輸入密碼錯誤時(shí),LED顯示屏顯示“error”,蜂鳴器工作發(fā)出報(bào)警信號,P1.7連的led亮處于警示狀態(tài),仿真圖如圖4所示。
圖4 開鎖示意圖
仿真結(jié)果達(dá)到預(yù)期設(shè)想,系統(tǒng)具有輸入密碼開鎖與報(bào)警顯示等功能??梢詰?yīng)用于日常生活,保證人們的安全。
本文以51單片機(jī)為核心設(shè)計(jì)了一個(gè)完整的電子密碼鎖系統(tǒng)。系統(tǒng)開鎖顯示、報(bào)警系統(tǒng)、密碼輸入等功能都按照預(yù)期設(shè)定正常進(jìn)行,最后的仿真結(jié)果說明電子密碼鎖具有安全可靠,操作簡易等優(yōu)點(diǎn)。電子密碼鎖可以在人們的日常生活中起到至關(guān)重要的作用,保護(hù)人們的人身和財(cái)務(wù)安全,密碼鎖的報(bào)警功能、顯示功能也是非常實(shí)用且便利的,可以更加直觀地呈現(xiàn)開鎖結(jié)果,方便人們的生活。隨著科技的進(jìn)步,我們還需要去研究更加安全、更加多樣化的密碼鎖,為我們的生活帶來更多的便利,也使我們的日常生活更加多樣化。