孫鵬宇,魏立明
(吉林建筑大學電氣與計算機學院,吉林 長春 130118)
智能密碼鎖是靠密碼控制鎖的正常工作,當人們輸入密碼的時候,采用電路進行開鎖。智能鎖的樣式種類繁多:采用數(shù)字邏輯電路、采用FPGA 中VHDL 語言來控制、也有采用在電子行業(yè)中最基本的51 單片機驅動的。目前市場上應用較為廣泛的智能鎖都是以芯片為核心,通過編程使得軟硬件結合實現(xiàn)智能鎖的基本功能,以達到人們所需的基本要求。該智能鎖的性能及安全性已經遠遠超過了傳統(tǒng)的機械鎖,并且該鎖的特點在于保密性強,隨機輸入密碼成功開鎖的概率為零;可以隨時修改自己設置的密碼,從而防止密碼被竊;無需像傳統(tǒng)的機械鎖攜帶鑰匙才能開鎖,操作性簡單,使用的靈活性好并且壽命長。
本文設計的電路是以STC89C52 為核心組成的閉環(huán)控制系統(tǒng)。利用單片機的靈活編程特點和I/O端口控制的準確性,從而實現(xiàn)智能密碼鎖的基本功能。該系統(tǒng)設計的總體框架如圖1 所示。

圖1 智能鎖設計的總框圖
本設計采用STC89C52,它是一款性價比高的芯片[1]。芯片中的掉電模式,該模式中除外部中斷外,復位電路、晶體振蕩器電路、定時器、串口等其他外部電路均處于停止工作狀態(tài)。另外一種模式是休眠模式,該模式中相關的外圍電路皆處于運作狀態(tài),單片機中一些沒有接觸到的存儲器及寄存器里面的數(shù)值保持不變。因此,芯片正常工作時的功耗為4 mA~7 mA,在空閑模式時其功耗降至2 mA。STC89C52 的結構有40 個引腳,芯片的引腳可以分為電源引腳、時鐘引腳、控制引腳。該芯片內部結構和引腳分配如圖2 所示。

圖2 STC89C52 引腳分配圖
本文使用的繼電器主要用于解鎖功能。它是一種電控裝置,具有輸入輸出相互轉換的關系特性。每當輸入電壓和輸入電流達到一定值時,繼電器就會被電路控制的輸出電路斷開或接通。繼電器模塊本身具有非常明顯的特點,例如:占用空間小、使用壽命長、運行相對穩(wěn)定等。該器件的內部是由3 個部分組成,即線圈、鐵片、接觸簧片。該器件的工作原理如下:插電時線圈就會自動產生電流從而發(fā)生磁現(xiàn)象,該器件當中的鐵片會因為磁性的關系,自動把彈簧貼到鐵片上,從而使繼電器正常工作[2]。相反,當電源斷開時,它們會互相排斥,從而達到電路通斷的效果。該繼電器的引腳如圖3 所示。

圖3 繼電器引腳圖
為了使密碼鎖的密碼顯示效果更好,本系統(tǒng)采用LCD12864 液晶顯示器,本顯示器自帶中文庫,顯示時會更加簡潔[3]。因此,本設計的密碼顯示模塊采用液晶屏LCD12864 來完成。該液晶屏的工作原理是每當按下鍵盤上面的啟動鍵時,液晶屏就會自行開啟,使該顯示處于開啟狀態(tài)。反之,按下關閉鍵盤后,屏幕變黑處于關閉狀態(tài)。如果啟動鍵和關閉鍵都沒有按下去,液晶屏就會一直處于出廠時的狀態(tài)。當智能密碼鎖進行開啟時,只要按下開啟鍵,利用矩陣鍵盤上的數(shù)字0~9 來輸入自己所設置的密碼,當按下相應的數(shù)字,液晶顯示器就會自動顯示出一個*,設置了多少位密碼,該屏幕也會顯示對應的個數(shù)。當密碼輸入完成后按下確認鍵時,若密碼正確,該12864 型的LCD 顯示屏會顯示正確,從而會使單片機其中的引腳輸出低電平,會與液晶顯示屏模塊相連的器件自動導通,從而使密碼鎖打開,一旦輸入密碼錯誤,顯示不正確,此時單片機當中的引腳輸出高電平,使得密碼鎖無法打開。因此,只要利用該顯示模塊,就可以完全知道該智能鎖是否處于開鎖狀態(tài)。該液晶顯示模塊原理如圖4 所示。
本文開鎖模塊采用繼電器進行設計以實現(xiàn)模擬開鎖,該模塊主要是由電磁式繼電器、三極管及電阻組成[4]。該電路的主要功能就是當密碼輸入正確后會實現(xiàn)開鎖,本電路電阻的一個引腳與單片機其中的一個引腳相連接時,單片機產生低電平的時候,經過電阻和三極管的放大之后,從而驅動繼電器中的電磁閥以實現(xiàn)開鎖。當輸入密碼正確后,單片機才能將繼電器控制,繼電器中的閥門打開之后使電磁片下壓,從而使智能密碼鎖開鎖,反之一直處于初始狀態(tài)[5]。開鎖模塊的核心原理如圖5 所示。

圖4 12864 型LCD 液晶顯示模塊原理圖

圖5 繼電器驅動開鎖模塊原理圖
本文主要采用C 語言來進行程序設計,利用51單片機的編譯器完成。該智能密碼鎖的軟件設計主要是由主程序、矩陣鍵盤程序、報警程序、密碼設置程序、顯示程序等組成,其整體流程如圖6 所示。
本模塊當中,開鎖的程序也是跟之前一樣,當密碼輸入完成后,單片機會自動判斷出密碼正確與否,要是輸入密碼正確的話,繼電器就相當于模擬成開關,會自動的開鎖,要是輸入的密碼不正確且>3 次,單片機中的報警模塊也會自動發(fā)生報警,該密碼鎖的程序流程如圖7 所示。

圖6 智能密碼鎖整體流程圖

圖7 智能鎖程序流程圖
程序調試及編譯過程中如果出現(xiàn)錯誤需要訂正,根據對話框的錯誤提示雙擊,自動會顯示錯誤的地方然后修改,一直修改到正確為止,但由于程序的復雜性,若出現(xiàn)了小警告,可是沒有出現(xiàn)錯誤,在此也可以忽略小警告,如圖8 所示。

圖8 文件調試成功
本文采取STC89C52 為核心模塊進行智能密碼鎖的控制設計,設計中將各個模塊電路區(qū)分開以形成模塊化,使得設計簡潔明了。硬件中對開鎖模塊、繼電器模塊、液晶顯示屏等進行詳細闡述,軟件程序中對主程序、開鎖程序的流程圖進行了說明。最后進行系統(tǒng)編譯與調試,為智能密碼鎖的應用奠定理論基礎。