曾晗 王賽 劉元浩
【摘 要】本文設計了一種基于單片機的電子密碼鎖。該密碼鎖以AT89C52為核心,采用LCD顯示和EEPROM存儲密碼,通過矩陣鍵盤輸入密碼來解鎖,實現(xiàn)了密碼開鎖、修改密碼、多次輸入錯誤鎖定并報警等基本功能,并用Proteus進行仿真,驗證其功能,具有成本低、易用性好等特點。
【關鍵詞】電子密碼鎖;矩陣鍵盤;單片機;LCD
隨著技術的快速發(fā)展,各式各樣高科技產(chǎn)品層出不窮,使人們的生活變得愈加智能和便捷,鎖具也逐漸從傳統(tǒng)的機械鎖逐步向電子密碼鎖轉(zhuǎn)變。但目前市場上機械鎖仍占有大量比例,且質(zhì)量參差不齊,大部分鎖的安全性不是很高;而用戶一旦忘記攜帶鑰匙,便無法開鎖,十分不便。電子密碼鎖在提高安全性的同時,能通過密碼、指紋等多種方式進行開鎖,大大提高了便捷性,是未來鎖具的發(fā)展方向。本文的電子密碼鎖基于單片機進行設計,實現(xiàn)密碼開鎖、修改密碼、多次輸入錯誤鎖定并報警等基本功能,具有成本低、易用性好等特點。
1.總體設計方案
本設計由AT89C52單片機、LCD顯示屏、4×4矩陣鍵盤、EEPROM、蜂鳴器等部分組成,其中AT89C52單片機為核心控制元件。當通過鍵盤輸入密碼時,單片機將密碼與預先存儲在EEPROM中的密碼進行比對,若相同則通過開鎖驅(qū)動模塊控制鎖具開鎖,若錯誤則通過LCD顯示屏提示并要求重新輸入密碼,多次輸入錯誤則鎖定系統(tǒng)并報警。
2.電路設計
2.1 LCD顯示電路
LCD顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。
本次設計采用的字符型液晶模塊LM016L能夠同時顯示16×2即32個字符(16列2行),采用標準的14腳接口。D0~D7為8位雙向數(shù)據(jù)線,與AT89C52的P0.0-P0.7口連接,傳輸顯示字符。RS、RW和使能端E端分別與P3.0-P3.2口連接,控制顯示字符的輸出。
2.2 鎖芯驅(qū)動電路
用繼電器來控制門鎖的開關,采用一個小功率三極管來構成驅(qū)動電路,由P1.1口來控制三極管的導通和關斷,從而達到控制門鎖的目的。
2.3 EEPROM電路
EEPROM是一種掉電后數(shù)據(jù)不丟失的存儲芯片,可通過高于普通電壓的作用來擦除和重寫,用于存儲密碼。芯片的SCK和SDA分別與P3.6、P3.7口連接,用于密碼的讀取和寫入,每次輸入時從EEPROM讀出密碼進行密碼核對,修改密碼時又可以重新寫入新密碼。
2.4 鍵盤電路
鍵盤電路采用4×4矩陣式鍵盤,4條行線和4條列線通過一個按鍵連通,分別連接AT89C52的P2.0-P2.7口。鍵盤上0-9鍵用于密碼的輸入,此外設置有退格、確認、退出和修改密碼四個功能鍵。
2.5 報警電路
報警電路包含LED燈和蜂鳴器,采用小功率三極管構成驅(qū)動電路,P1.0口來控制三極管的導通和關斷,從而達到控制蜂鳴器的目的。P1.2口連接LED燈控制燈的開斷。
3.軟件設計
軟件系統(tǒng)主要包含下列部分:
主程序:負責系統(tǒng)初始化和調(diào)用各子程序,控制整個系統(tǒng)的工作流程,實現(xiàn)密碼的核對和修改、控制門鎖的開關等功能。開鎖流程圖如圖3所示。
LCD顯示子程序:實現(xiàn)LCD的初始化和顯示。
鍵盤掃描子程序:包括消除鍵盤抖動、檢測鍵盤是否按下和彈起以及返回用戶按下的鍵盤所對應的鍵盤號。
讀寫EEPROM子程序:實現(xiàn)EEPROM中數(shù)據(jù)的讀出和寫入。
4.系統(tǒng)仿真
采用Proteus軟件對設計進行仿真。將HEX文件導入AT89C52中驗證是否滿足設計要求。
(1)密碼輸入正確后開鎖。系統(tǒng)啟動后LCD屏提示輸入密碼,鍵盤輸入密碼后,按確定鍵,屏幕顯示密碼正確,鎖芯驅(qū)動電路控制門鎖打開,如圖4所示。
(2)密碼多次錯誤后鎖定。輸入錯誤密碼后,屏幕顯示密碼錯誤,然后自動清除密碼,提示重新輸入,此時可再次輸入密碼。 當錯誤輸入超過3次,系統(tǒng)鎖定并啟動蜂鳴器進行報警。
(3)修改密碼。按修改密碼功能鍵,進入密碼修改模式。按照屏幕提示首先通過鍵盤輸入原密碼,若密碼錯誤,則按照(2)的流程進行;若密碼正確,則進入密碼修改流程。按照屏幕提示兩次輸入新密碼,若兩次輸入一致則密碼修改成功,若兩次輸入不一致則提示重新輸入。
5.結語
電子密碼鎖是未來鎖具的發(fā)展方向,具有較大的市場前景。本設計實現(xiàn)了密碼開鎖、修改密碼、多次輸入錯誤鎖定并報警等電子密碼鎖的基本功能,具有成本低、易用性好等特點,但在智能和人性化上還有很大的提升空間,例如加入指紋識別模塊通過指紋解鎖、加入藍牙或WiFi模塊通過手機實現(xiàn)無線連接和控制,使電子密碼鎖的使用更加智能和便捷。
【參考文獻】
[1]金桂,向國梁.基于C語言STC89C52單片機電子密碼鎖的設計與仿真[J].現(xiàn)代電子技術,2010,33(19):176-178+182.
[2]韓團軍.基于單片機的電子密碼鎖設計[J].國外電子測量技術,2010,29(07):58-61.
[3]李建波.基于STC89C52單片機的電子密碼鎖[J].現(xiàn)代電子技術,2008(23):154-156.