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