韓燕楚,余 宏*
(1.貴州師范學院 物理與電子科學學院,貴州 貴陽 550018;2.貴州大學 大數據與信息工程學院,貴州 貴陽 550025)
利用單片機控制的電子密碼鎖,不但操作簡單,價格易接受,而且很大程度上可以保障設備的安全性和便捷性,消除了人們攜帶鑰匙的煩惱。電子密碼鎖可靠性較高,彌補了傳統機械鎖安全系數較低的缺點,逐漸成為用戶的優先選擇。
單片機控制的電子密碼鎖系統主要由硬件和軟件兩個部分組成。硬件設計是將STC89C51單片機及其外圍電路連接起來。密碼的輸入可通過按鍵電路模塊設置,同時通過存儲電路對密碼進行存儲與識別,密碼鎖的實際操作過程可通過LCD顯示電路實時顯示,密碼輸入有誤時蜂鳴報警器發出報警,且錯誤超次將會鎖定鍵盤。軟件設計利用單片機可編程設計的特點,對密碼鎖控制系統的各個功能模塊進行編程。電子密碼鎖系統設計功能如下:
(1)設置6位初始密碼,密碼輸入正確時,黃色LED燈亮提示密碼鎖被成功打開;密碼錯誤時,蜂鳴器即刻發出報警且紅色LED燈亮起,密碼鎖輸入錯誤次數加1,超過三次鎖定輸入鍵盤,第一次鎖定30s后解除鎖定,解除后可再次輸入密碼解鎖;第二次鎖定60s后解除鎖定,解除后可再次輸入密碼解鎖,以此類推。
(2)可通過功能按鍵“修改密碼”鍵重新設置密碼。在設置新密碼前,必須先輸入舊密碼,然后連續輸入兩次新密碼,當兩次新密碼輸入一致時才可成功完成修改。若舊密碼輸入錯誤,系統便會直接退出“修改密碼”頁面,且錯誤密碼次數加1。
(3)密碼鎖具有掉電保護功能。密碼鎖鎖定后,若未到解除鎖定時間出現掉電,則鎖定仍將保持,這樣可防止以斷電方式重新輸入密碼的操作,對密碼鎖起到掉電安全保護作用。
(4)密碼鎖的輸入具有退格、重新輸入、退出輸入等功能。
硬件電路主要分為STC89C51單片機、AT24C02存儲模塊、按鍵電路、報警電路、繼電器驅動模塊五個部分。該控制系統的硬件設計以STC89C51單片機為主控芯片,利用單片機豐富的I/O端口將各個外圍電路連接起來構成主系統,可以利用矩陣鍵盤實現密碼輸入與修改、關鎖、復位等功能,并且通過單片機外接LCD1602液晶顯示屏提示用戶進行下一步操作。系統的硬件電路設計如圖1所示。

圖1 系統硬件電路設計
STC89C51單片機共有40只管腳,分為電源、時鐘、控制和I/O引腳四類,它的優點是容易操作,原有程序可直接使用,硬件也無須改動,運行速度快且功耗低,而且成本低,抗干擾能力強,可提升產品性能,這使得在操作與成本方面都有極大的優勢。單片機最小系統的工作由電源、晶振電路以及復位電路構成。
AT24C02存儲器的數據傳送率高且能與IIC總線兼容,功耗低,數據保存時間較長,還有一個專門的防誤擦除寫保護功能。芯片工作時有讀和寫兩種操作,執行讀操作時有當前地址讀、隨機讀和順序讀三種方法;執行寫操作時可根據數據量的大小選擇字節寫還是頁寫。在本設計中可直接將存儲芯片的A0、A1、A2三個引腳連接至GND,為了方便讀/寫操作,將WP寫保護引腳也連接到GND,最后將SDA、SCL兩引腳分別接到單片機對應的兩個引腳。
該設計在操作過程中所需按鍵數目較多,所以采用矩陣式掃描的方法來作為鍵盤的輸入形式且用4×4矩陣鍵盤可滿足該設計所設定的功能。使用矩陣掃描法不僅可以減少單片機I/O端口的占用,也會降低電路連接的復雜程度。根據具體要實現的功能,密碼鎖的按鍵分布為數字鍵0-9、輸入密碼鍵、退格鍵、退出輸入鍵、密碼修改鍵、重置鍵、確認鍵。用戶根據定義的按鍵功能實現輸入,矩陣鍵盤直接連接單片機的P1口進行輸入,通過輸入高低電平判斷鍵盤是否按下。
報警電路由LED燈和蜂鳴報警器組成。這樣可直觀地觀察密碼鎖的工作情況。本設計選用5V電磁式有源蜂鳴器,因為蜂鳴器工作時所需的電流較大,無法驅動單片機的I/O接口,電路中需要用一個三極管來驅動。當輸入低電平時,三極管導通,蜂鳴器發出報警同時連接的紅色LED燈亮;當輸入高電平時,三極管截止,蜂鳴器停止鳴叫。
由于繼電器的工作電流較大而導致無法直接驅動,因此需要在單片機的I/O端口添加一個三極管來放大電流才可驅動,同時在繼電器兩端并聯一個LED燈作為指示來直觀判斷,提示用戶密碼輸入是否正確。當輸入低電平時為有效電平,三極管導通,繼電器吸合,黃色LED燈亮,鎖打開;當輸入高電平時,三極管截止,繼電器斷開。
電子密碼鎖控制系統的軟件設計主要分為主程序、LCD1602顯示程序、AT24C02存儲程序、矩陣按鍵電路及中斷服務程序的設計。為了實現密碼鎖的預期功能,軟件設計部分以STC89C51單片機為核心編寫程序,首先對整個系統程序進行初始化設置,開啟電子密碼鎖的功能,采用4×4矩陣式鍵盤掃描方法來判斷是否已按下按鍵,可通過LCD1602液晶顯示屏清楚地看出當前已輸入的密碼位數,輸入完成后按下確認鍵,密碼鎖會將輸入的密碼與事先存儲在AT24C02芯片中的原密碼進行比對,若密碼一致則打開鎖,若密碼不一致則蜂鳴器報警且LED燈亮,可選擇重新輸入,當密碼錯誤三次則鍵盤將被鎖定且報警。軟件設計流程如圖2所示。

圖2 程序設計流程圖
電子密碼鎖經過不斷調試和優化,成功實現了預期功能。目前市場上的電子鎖種類繁多,功能也是應有盡有(見表1)。電子鎖相比傳統機械鎖的突出優點就是安全性能高,同時消除了人們攜帶鑰匙的煩惱。相比之下按鍵式的電子密碼鎖更為實用,大眾更易接受;卡片式電子鎖需要攜帶IC卡,容易丟失、損壞;生物識別式電子鎖的要求較高,需要記憶一串自己事先在系統里設定好的數字密碼,不太適合老人和孩子使用。

表1 各類電子鎖比較
目前電子鎖在功能和安全性方面已得到了很多人的認可,有著非常廣闊的應用前景。顯而易見,在安全保險技術領域,電子密碼鎖最大的優勢就是滿足了人們的安全需求。電子密碼鎖的發展會越來越貼合人們的實際需要,針對安全性能做進一步拓展與提升,比如可事先在芯片中通過一定算法對初始密碼二次加密;也可再添加一個GSM模塊,使密碼鎖通過短信方式提示用戶密碼鎖已被其他用戶輸錯密碼,這在很大程度上都能夠提高密碼鎖的安全性,使其更加安全可靠,更具實用價值。