劉寺杰 郭翔宇


摘 要 伴隨人們物質生活越來越豐富和安全方面的意識越來越堅實,在安全方面的要求相比以前是越來越嚴格。隨著防盜意識的不斷增強,古板的機器鎖不僅構造簡單容易被破解,鑰匙的攜帶也將便捷性大打折扣。相比較而言,電子密碼鎖的安全性極高,它不僅開發成本小,功耗低,而且操作方便,輸入正確即可開鎖,因此成為了市場的主流。
關鍵詞 電子密碼鎖 STC89C51 16位矩陣鍵盤
中圖分類號:TP399 文獻標識碼:A DOI:10.16400/j.cnki.kjdkz.2018.08.023
Abstract As people's material life becomes more and more abundant and their security awareness becomes more and more solid, the requirements in terms of security are more and more stringent than before. With the continuous improvement of anti-theft awareness, the old-fashioned machine locks are not only simple in construction, but also easy to be cracked. The carrying of keys also brings great inconvenience to residents. In comparison, cipher locks have a high level of security. They are not only low-cost, low-power, but also easy to operate and can be unlocked with the correct input. Therefore, they have become the mainstream of the market.
Keywords Electronic password lock; STC89C51; 16-bit matrix keyboard
0 引言
電子密碼鎖的識別和報警是用單片機來控制,單片機識別密碼后再控制門鎖開關的閉合,進而完成一個開鎖的流程。電子密碼鎖的種類繁多,有主打性價比的簡單電路設計的;也有高端昂貴但安全性高,產品也更多元化的。市場上的主流產品還是加入編程的設計,用芯片來控制鎖的閉合。社會也開始進入了電子化時代,電子產品也逐漸進入尋常百姓家,指紋密碼鎖等電子鎖也是如此發展的必然趨勢,電子鎖是在各大領域有著舉足輕重的地位。
1 電子密碼鎖的總體設計
系統的核心處理器是STC89C51,這個單片機可以外接豐富的IO口,通過鍵位掃描獲知輸入的密碼,LCD顯示屏可以讀取輸入的位數和了解是否輸入正確。通過處理器判斷后,若密碼正確則啟動開鎖驅動電路,反之錯誤次數過多就會觸發蜂鳴器。原理圖如圖1。
2 系統硬件設計
2.1 單片機STC89C51芯片
STC89C51芯片是8位功耗低,性能高的微小處理器,可以編程的儲存器占有4K的內存,它的CPU為8位,因此它在許多的嵌入式開發中使用廣泛,為開發者提供了靈活度高,效率高的設計系統。這塊芯的Flash為4k字節,RAM為512字節,外接的IO口線為32位,除了擁有看門狗定時器,內部也擁有2個16位的定時器和計數器,中斷方面是2級中斷,在串口通信方面工作模式為全雙工。另外此芯片的節電模式也有兩種可供選擇,一種是空閑模式,另外一種是掉電保護模式。空閑模式下,CPU停止工作但其它元件可以正常工作,掉電保護模式下,單片機的所有工作停止,除非有中斷或者被人為復位。
2.2 AT24C02存儲芯片
AT24C02外部儲存器構成了單片機掉電后用來儲存密碼的單元,在整個系統中起著至關重要的作用。AT24C02串行輸出位為2K,芯片內部的8位字節有256個,還包含一個具有寫入保護功能的緩沖區。它與單片機建立通信是采用兩條串行總線的方式,工作電壓最低至2.5V,額定電流為1mA。芯片對數據的保存年限也是長達40年以上,充分滿足系統開發的需求。
2.3 液晶顯示LCD1602芯片
LCD1602液晶屏工作的原理是利用液晶的物理特性,當屏幕通電時,它的排列就會變得井然有序,光線也相對而言更容易通過,但是沒有通電時,排列混亂,光線就被阻止通過。液晶屏由許多個點陣構成,而不同的點陣也構成了不同的點陣字符圖形。LCD1602內部已經集成了接近160種不同的字符圖形,提升了開發的多元性,滿足系統的開發需求。
3 系統軟件設計
3.1 主程序模塊
系統軟件的總體設計由多個部分組成,不僅有主函數、初始化函數、LCD顯示的函數還包括鍵位掃描、設置密碼以及EEPROM的讀寫函數。總體設計流程如圖2。
3.2 開鎖模塊
當運行開鎖模塊時,單片機先從存儲器讀取存儲密碼,與輸入的6位密碼進行比較,若輸入正確,就在顯示屏上顯示OPEN,如果密碼輸入次數大于3次,就會啟動蜂鳴器。開鎖的流程圖如圖3。
3.3 密碼修改模塊
電子密碼鎖不僅僅要能夠識別正確的密碼和錯誤的密碼,還必須滿足實時修改密碼的要求。系統在密碼修改模塊的設計中,要求首先按下設置鍵,輸入舊密碼確認后,若密碼正確即可輸入新密碼進行修改,若輸入錯誤超過3次,就會退出密碼修改的流程。修改密碼的核心代碼如下:
參考文獻
[1] 何宏.單片機原理與接口技術.北京:國防工業出版社,2006.7.
[2] 楊西明.單片機編程與應用入門.北京:機械工業出版社,2004.6.
[3] 王寬仁.可靠安全的智能密碼鎖.電子技術應用,2001.
[4] 趙益丹.電子密碼鎖的系統原理、設計程序及流程圖.嘉興學院學報,2003.15(5).