程志遠
(鹽城工學院,江蘇 鹽城221051)
當今社會,人們的生活水平不斷提高,物品多樣性越來越豐富,物品安全問題也越來越得到重視。鎖具的出現為人們的安全提供了保障,但在科技發達的現在,傳統鎖具已經無法滿足人們的安全需要,因此,電子密碼鎖的發明和使用尤為重要。電子密碼鎖主要是靠單片機控制整個電子電路,實現門鎖的開與關,相對于傳統機械鎖來講密碼鎖的安全性更高,可操控性更好,只需要記住自己設置的密碼即可,無須攜帶任何鑰匙或者卡制產品即可開門,所以廣泛受到人們的青睞[1]。
因電子密碼鎖保密性好,廣泛地應用于住宅與商業、公共建筑的安全防范、個人資料的保存等領域。電子密碼鎖在操作上可以實現無鑰匙開鎖,整體結構不用暴露在外,使用密碼開鎖安全性強。同時密碼具有一定的隱蔽性,輸入密碼操作簡單快捷且密碼不會輕易被竊取,所以,電子密碼鎖的實用性非常強,非常具有現實意義。本文基于單片機的結構功能設計一個實用的電子密碼鎖系統。
系統要包含實現密碼解鎖的所有模塊,主要有主控模塊、密碼輸入按鍵模塊、開鎖顯示模塊、報警與保護模塊。該設計以STC89C52單片機為核心,根據其內部特性,設計出的結構框圖如圖1所示。

圖1 結構框圖
根據結構框圖的連接,設計出基于單片機的電子密碼鎖系統的電路連接模塊。其主要包括單片機最小系統模塊、4×3矩陣鍵盤模塊、LCD1602顯示電路模塊,繼電器電路和聲光指示電路。
1.2.1 主控模塊
在以往單片機的學習中,了解到51單片機中的STC89C52單片機功能強大,適配性高。因此,在此次設計中主控模塊采用STC89C52單片機。該單片機具有8位CPU,振蕩器片內自帶且具有4個8位I/O接口用來連接外圍設備等特性。在其工作過程中,必須連接好時鐘和復位電路來確保51單片機的正常工作。下面是單片機兩種電路的介紹。
(1)時鐘電路
單片機內部有一個高增益的反相放大器,引腳XTAL1和XTAL2分別是該放大器輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷振蕩器一起構成自激振蕩器,80C51內部時鐘電路如圖2所示。振蕩器頻率主要由石英晶振的頻率確定。

圖2 內部方式時鐘電路
(2)復位電路
復位電路可以使系統初始化,當人們在輸錯密碼時不用全部刪掉,只需按一下復位按鈕便可重新輸入密碼,極其方便。同時也可以在程序錯亂的情況下使系統復位,保證系統的穩定運行。產生復位信號的電路邏輯如圖3所示。

圖3 復位信號的電路邏輯圖
根據此次設計的可行性,采用上電自動復位。只要電源的接通過程是順時的,在接通電源的瞬間便可實現復位初始化。
1.2.2 按鍵模塊
密碼輸入用按鍵模塊來模擬,按鍵采用獨立式按鍵。每一個獨立式按鍵都有與之匹配的數字,4×3矩陣鍵盤的行線與列線分別接至單片機對應的輸入口,因為每條垂直線和水平線都是相互交叉但又不連通的,一般都是利用按鍵進行連接[3]。因此,單片機的一個端口就可以連接需要的按鍵個數。每按下一個按鍵,就會有電平信號輸入直單片機內部,通過設定好的程序顯示對應的數字。只有順序按下與設定密碼一致的按鍵時,才會開鎖成功,且密碼由自己設置,保證了人們的私人安全。
1.2.3 開鎖顯示模塊
LCD1602液晶顯示屏內部自帶存儲器且具有強大的顯示功能,可以通過驅動電路直觀地顯示多項內容,與單片機的連接也相對簡單易行。因此,以LCD1602作為顯示器。每輸入一位密碼時,就會有對應的數字顯示,同時,為了保證安全,LCD1602可以在顯示時以“*”來代替密碼數字。當密碼輸入正確時,顯示屏會在另一行顯示開鎖成功的提示,相反,顯示屏則提示開鎖失敗并返回至等待輸入密碼狀態。開鎖成功后,還可以進行修改密碼操作,與傳統鎖相比更加便利。
1.2.4 報警保護模塊
報警功能由繼電器模塊與蜂鳴器共同完成。當密碼輸入錯誤時,單片機主程序會將檢測到的錯誤開鎖信息以電平信號的方式傳給繼電器與蜂鳴器,蜂鳴器發出報警,繼電器工作使連接的指示燈點亮,以此提示開鎖失敗。蜂鳴器還可以在輸入密碼時,按一次按鍵便會短暫響一下來提示是否輸進密碼。繼電器還可以起到監測作用,在正確輸入密碼的一定時間后使系統恢復至初始狀態。
單片機的軟件系統是單片機系統重要組成部分之一,要使單片機協調有序地工作,就需要片單片機軟件系統和硬件系統的共同配合[4]。主程序是設計的核心,是系統能夠完成一系列開鎖過程中最重要的內容,可以存放用于單片機與顯示屏工作的程序并可以將其初始化,使系統接通電源時可以從指定的地方開始工作。主程序還可以檢測與判斷矩陣鍵盤的輸入,判斷是否開鎖并相應傳輸接下來的信號,同時控制LED的顯示。由此可見,主程序的建立使系統可以有序地進行,同時也將所有的模塊連接起來共同工作。
首先掃描第0行,判斷3個按鍵,加入消抖指令消抖,之后等待按鍵釋放,接著掃描第二行、第三行和第四行,最后返回鍵值。只要有一個按鍵按下,單片機就會有信號變化,然后做出相應的轉化,使LED顯示,對應的按鍵數字。
LCD顯示系統具有輸入密碼正確或錯誤的相應顯示,同時可以將鍵盤輸入的密碼轉換為“*”增加隱蔽性。開鎖顯示是主程序的一部分,可以顯示用戶的開鎖情況,方便觀測與判斷。其中增加了繼電器與延時子程序,繼電器可以用來保護系統電路安全,同時連接更多的外圍設備,增加了系統的多樣性與安全性。
根據上文總結的軟硬件設計,結合單片機等方面的理論知識,采用Proteus仿真軟件根據設計過程完成搭線,對設計的電子密碼鎖系統進行仿真。
例如:設置密碼為543210六位數字。當輸入正確的密碼時,LCD顯示“open”,繼電器后面的燈亮表示開鎖成功,之后P1.3連的LED亮滅閃爍。當輸入密碼錯誤時,LED顯示屏顯示“error”,蜂鳴器工作發出報警信號,P1.7連的led亮處于警示狀態,仿真圖如圖4所示。

圖4 開鎖示意圖
仿真結果達到預期設想,系統具有輸入密碼開鎖與報警顯示等功能??梢詰糜谌粘I睿WC人們的安全。
本文以51單片機為核心設計了一個完整的電子密碼鎖系統。系統開鎖顯示、報警系統、密碼輸入等功能都按照預期設定正常進行,最后的仿真結果說明電子密碼鎖具有安全可靠,操作簡易等優點。電子密碼鎖可以在人們的日常生活中起到至關重要的作用,保護人們的人身和財務安全,密碼鎖的報警功能、顯示功能也是非常實用且便利的,可以更加直觀地呈現開鎖結果,方便人們的生活。隨著科技的進步,我們還需要去研究更加安全、更加多樣化的密碼鎖,為我們的生活帶來更多的便利,也使我們的日常生活更加多樣化。