成都理工大學工程技術學院 朱桂玉 李自成 劉昌明 邵文濤 雷 魁 吳秋菊
在日常的生活和上班中,住房、公司、商場、學校的錢財和部分保密性高的文件資料都會采用加密的辦法來確保其不會丟失和泄露。但是采用普通的金屬鎖,需要佩帶金屬鑰匙,而且一旦鑰匙丟失或者被別人竊取,不僅需要重新配置,甚至被他人復刻進行不正當的使用,造成極大的安全隱患以及財產損失。為了提高現在人們對無線密碼鎖的使用需求,提高它的保密性,無線功能的暗碼鎖也就被人們開始研究起來。
本密碼鎖由內部軟件STC89C52單片機系統、外部的硬件液晶顯示屏、警報電路和4×4矩陣式鍵盤等其他結構組成,這能夠更好地實現對新的六位密碼進行設定、重新建立一個新的六位密碼、超過規定的次數的蜂鳴器進行報警和鎖定的鍵盤、輸入六位的用戶密碼失真。除普通密碼鎖的基礎功能外,還添加藍牙遙控功能,即在手機上安裝一個通過藍牙開鎖功能的程序,實現短距離的無線開鎖,以達到便捷高效的功能。
隨著單片機與其他領域相結合的發展趨勢,無線密碼鎖的開發和制作技術得到顯著提高,應運而出幾種得到迅速發展并趨于成熟的可操作技術。因為單片機技術同時具有多種優點,因此在無線密碼鎖的開發和研制中被廣泛使用,并且單片機技術還處在快速的發展當中,這正是本設計的核心根據和目的。
當在此無線密碼鎖上的按鍵盤上在輸入六位用戶暗碼時,會有******被LCD屏顯出來,這樣會有效提高其安全性。除此之外,輸入錯誤密碼,蜂鳴器響且LED燈亮,輸入三次以上的六位用戶暗碼,若都錯誤,系統會自動將無線密碼鎖的按鍵鍵盤進行鎖定。
(1)本課題為了防止暗碼被盜用要求在LCD屏幕上輸入暗碼時顯示******號表示六位用戶密碼。
(2)設計解鎖暗碼為六位用戶暗碼的無線密碼鎖。
(3)六位用戶暗碼正確時,LCD屏上顯示OPEN;六位用戶暗碼出現錯誤時,LCD屏上顯示error;當用戶輸入六位用戶暗碼時,LCD屏上會自動顯示INPUT PASSWORD。
(4)外加輸入三次以上錯誤的六位用戶暗碼,鍵盤自動鎖定功能。
(5)設有*號、#號、A、B、C、D功能鍵和0-9的數字鍵的16位按鍵盤。
(6)本無線密碼鎖具有輸入六位用戶暗碼錯誤時,會有LED燈亮和蜂鳴器響的警報功能。
(7)除此之外,本設計系統還設有重設密碼的功能,修改設置新密碼需使用人員先在矩陣式鍵盤上輸入一次六位正確密碼解鎖后,再輸入一次六位密碼正確后,然后輸入一次六位新密碼,最后還需輸入一次修改的新六位密碼,才能成功修改密碼。
(8)與普通電子密碼鎖與眾不同的地方,在于本設計新增了藍牙功能,能實現短距離的無線解鎖功能。
0-9數字鍵對應0、1、2、3、4、5、6、7、8、9;
A、B鍵無定義;
C鍵表示取消上一步操作;
D鍵表示修改密碼;
*號表示取消當前操作;
#號表示確認。
它是如何進行工作過程的示意圖如圖1所示。
圖1 單片微型計算機控制密碼鎖工作原理流程框圖
本設計系統主要由STC89C52單片機、矩陣式硬質按鍵鍵盤、LCD方形顯示屏和密碼信息存儲等幾個元器件構成。它的工作原理就是借助使用人員通過在16位鍵盤上輸入六位用戶數字密碼來進行密碼解鎖。通過單片機對使用人員通過矩陣式的數字鍵盤輸入的密碼與自己原先保存在單片機儲存系統里面的密碼進行分析對比,最終判定通過矩陣式數字鍵盤輸入的用戶密碼的是否正確,然后將開鎖的一個連接電磁鐵芯進行吸合利用線圈控制即可,當然我們也可以通過利用連接繼電器的一個常規斷開觸接點電路來直接控制一個連接電磁鐵芯和一個吸合控制線圈。
它的工作原理及基本框圖結構如圖2所示。
圖2 無線密碼鎖的原理框圖
我國在8位單片微型計算機領域的新一代領軍企業宏晶科技有限公司(STC)生產的STC89C52是一種運行速度極快,能量消耗極少,具有超高穩定性能的單片微型計算機。除此之外,它可以通過液晶顯示屏呈現出4K超高清畫質,其內部系統不但可以流暢運行,還能兼容美國INTEL公司生產的MSC-51的內部指令系統,它的強大之處還在于它通過自身的可編程Flash存儲器和8位能與CPU直接交換數據的內部存儲器,這使它可以應用于大多數嵌入式的控制系統。STC89C52主要參數和性能如表1所示。
表1 STC89C52主要功能特性表
由美國Atmel公司生產的AT24C02具有許多的優點,首先,它所具有的超大容量儲存空間讓小小的單片機里可以容納成千上萬的數據信息,其次它不需要高電壓的電源提高電能并且很mini,只需帶上一個充電寶就可以隨時隨地運行,為工作提供了相當大的便利。并且它可以進行修改上萬次,有效防止了不恰當的操作。除此之外,它超快的輸入速度一點也不影響它自身超強的抗擾性和數據穩定性。為了大大降低總的格式寫入的數量和執行時間,一次格式運算中我們可以同時多次寫入最多8個字節的內部數據。I不管使用的是主機系統或者是從機系統,都需要接受到一個指令后才能允許執行。24C02的引腳框圖和引腳原理圖如圖3和圖4所示。
圖3 24C02的兩種引腳框圖
圖4 AT24C02的引腳原理圖
圖中AT24C02共有8條引腳線。名稱為A0、A1、A2的引腳代表器件地址選擇,名稱為SDA的引腳代表串行數據以及地址選擇,名稱為SCL的引腳代表串行時鐘,名稱為WP是進行保護接地的,名稱為VCC和GND為正負電源。
主要的程序設計的流程框圖結構如圖5所示。
圖5 主程序的流程圖
鍵盤掃描是系統軟件設計中一項必不可少的環節,只有通過鍵盤的掃描過后,才能判斷指令的下一步該如何進行。比如說,如果操作人員按下矩陣式鍵盤上的按鍵時,由于按的力度過小或角度過偏,都有可能導致按鍵不起作用。而鍵盤掃描的最主要功能就是進行按鍵是否起效,如果按鍵起效,就會建立相應鍵位的有效標志,反之,建立無效標志,即按鍵未起作用。
在本文的程序設計過程中都是用它和LCD來進行顯示和分析處理這些數據,所以就要我們考慮到如何顯示它的子程序。其中密碼修改的大致過程為:首先進行程序設置初始化,初始化完成以后按下設置鍵,然后輸入六位用戶舊密碼,若六位用戶舊密碼正確,那么就可以再次輸入一次六位用戶舊密碼,只要其中輸入的六位用戶舊密碼有一次不正確,就需要重新進行第一步,當輸入六位用戶舊密碼的過程連續錯誤三次以上,系統就會觸發報警電路,鍵盤會自動鎖定。只有當兩次六位用戶舊密碼都正確時,才能進行第一次輸入六位用戶新密碼的步驟,確認后再次輸入與剛剛相同的新密碼,如果第二次輸入的新密碼和第一次輸入的密碼不相同,則需要返回到第一次輸入舊密碼的步驟;如果輸入的兩次六位新密碼相同,那么新密碼才能重設成功。
開鎖過程相對于重設密碼過程來說,就更加簡單一些。開鎖過程:首先進行初始化,按下電源鍵,在矩陣式鍵盤上輸入六位用戶密碼,若六位用戶密碼錯誤,則再次輸入六位用戶密碼,但連續輸入六位用戶密碼錯誤三次以上,則會觸發報警系統,矩陣式鍵盤自動鎖定;若六位用戶密碼正確,則開鎖成功。
聯合運用Keil和Proteus進行編程后進行調試,將Keil生成的HEX文件放入Proteus中如圖6所示。
圖6 將Keil的HEX文件放進Proteus中進行仿真
點擊啟動,LCD屏上會有Coded Lock password顯示;輸入六位用戶密碼,初始密碼為000000,在LCD屏上會有input:******顯示。開機顯示和輸入密碼顯示狀態分別如圖7和圖8所示。
圖7 開機顯示狀態圖
圖8 輸入密碼狀態圖
輸入六位用戶密碼(000000)后,若密碼正確,則LCD屏上會顯示Coded Lock open。解鎖成功的狀態圖如9所示。
圖9 解鎖成功的狀態圖
本操作系統的硬件設計一般共由兩個部分進行組成,即一個硬件操作系統與一個軟件軟件系統。其中鍵盤硬件系統由硬質電源鍵和充電控制管理系統、硬質鍵盤按鍵控制管理系統、存儲卡和密碼控制管理系統、復原控制管理系統、晶振控制管理系統、屏幕數顯控制管理系統、警報控制管理系統、解鎖控制管理系統等八個部分共同組成并由專用主機控制管理系統、初始化控制管理系統、LCD屏顯系統、掃描按鍵系統、開啟系統、結束系統、另設功能系統、重設用戶密碼系統、Eeprom記錄編輯系統和加時系統等軟件系統對應的組成。
本文的系統軟硬件設計工作完全由人進行簡單的操作即可達到設計的目的。使用先進單片機密碼技術設計制作的無線密碼安全監控防盜鎖系統,具有超強防護性能、制造費用少、能源消耗率低、操作簡單、只要記憶暗碼便可以成功解鎖等特點,可以廣泛的運用在日常生活中。