基于單片機(jī)的金庫(kù)門(mén)電子密碼鎖系統(tǒng)設(shè)計(jì)
在該系統(tǒng)中,電源電路模塊主要是由一個(gè)12 V變壓器與一個(gè)LM7805穩(wěn)壓器電路所組成的,為CPU提供電壓。由于STC12C5410AD是5 V的單片機(jī),所以液晶顯示模塊同樣采用5 V的OCM12864-2液晶模塊。8位標(biāo)準(zhǔn)數(shù)據(jù)總線與單片機(jī)STC12C5410AD的P2口相連接;讀寫(xiě)選擇管腳R/W與P3.3相連;讀寫(xiě)使能管腳CS1、CS2分別與P3.7、P3.5相連接;RS與P3.4相連,控制數(shù)據(jù)/指令的選擇。系統(tǒng)包含報(bào)警輸出電路,當(dāng)連續(xù)輸入3次錯(cuò)誤密碼時(shí),則蜂鳴器報(bào)警以示警告并啟動(dòng)報(bào)警系統(tǒng),則再不能做任何的操作,直到輸入正確的內(nèi)置口令才能關(guān)閉報(bào)警系統(tǒng)。本系統(tǒng)中,還采用輸入和顯示部分與開(kāi)鎖控制電路相分開(kāi),PCB制作時(shí)制作成兩塊板,用串口通信實(shí)現(xiàn)兩塊板之間的通信,使密碼比對(duì)后的結(jié)果能輸送到STC12C2052AD,實(shí)現(xiàn)對(duì)機(jī)械鎖的控制。
4 軟件設(shè)計(jì)
4.1 密碼算法的實(shí)現(xiàn)
密碼算法是本設(shè)計(jì)中的一個(gè)最重要的部分,當(dāng)用戶使用密碼鎖開(kāi)鎖時(shí)每次輸入的密碼都不一樣。密碼主要由隨機(jī)碼、內(nèi)置口令和隨機(jī)序號(hào)經(jīng)過(guò)一定的算法計(jì)算出來(lái)。
直接采用C51語(yǔ)言的mad();語(yǔ)句實(shí)現(xiàn)的隨機(jī)碼具有一定的隨機(jī)順序,每次開(kāi)機(jī)后所得的隨機(jī)碼序列基本一樣,屬于偽隨機(jī)碼。因此對(duì)于保密性產(chǎn)品來(lái)說(shuō),用rand();語(yǔ)句具有缺陷。本設(shè)計(jì)采用定時(shí)器實(shí)現(xiàn)隨機(jī)序列。定時(shí)器設(shè)置為模式2,即可自動(dòng)重裝載的8位計(jì)數(shù)器,初值為100。密碼鎖控制器開(kāi)機(jī)后,定時(shí)器開(kāi)始定時(shí)。通過(guò)用戶3次按鍵產(chǎn)生中斷,讀取定時(shí)器低八位的值,將其轉(zhuǎn)換為十進(jìn)制并取低兩位存到一個(gè)預(yù)先定義好的6位數(shù)組中的2個(gè)元素。3次按鍵共產(chǎn)生3次2位數(shù)的隨機(jī)碼,組成6位隨機(jī)碼。該隨機(jī)碼重復(fù)概率很小,為1/1 000 000。因此,對(duì)定時(shí)器的采樣,可實(shí)現(xiàn)真正的隨機(jī)碼。
用戶自產(chǎn)生一個(gè)2位隨機(jī)序號(hào),與隨機(jī)碼、密碼生成器的內(nèi)置口令經(jīng)過(guò)一定的算法計(jì)算生成密碼。密碼鎖控制器根據(jù)用戶輸入的隨機(jī)序號(hào)和密碼,將隨機(jī)序號(hào)、隨機(jī)碼、以及內(nèi)置口令,利用與密碼生成器生成密碼同樣的算法計(jì)算出密碼,與用戶輸入的密碼比較驗(yàn)證。
STC單片機(jī)自帶EEPROM,用EEPROM來(lái)儲(chǔ)存密碼,關(guān)機(jī)后密碼不丟失,并可隨意更改密碼。每次開(kāi)鎖密碼都不一樣,可有效預(yù)防惡意窺測(cè)行為,并能清楚進(jìn)出金庫(kù)的人員,且無(wú)需經(jīng)常更換密碼,方便管理。
4.2 密碼鎖控制器程序流程圖本文引用地址:http://www.biyoush.com/article/172737.htm
5 結(jié)束語(yǔ)
本文設(shè)計(jì)的金庫(kù)門(mén)電子密碼鎖系統(tǒng),解決了金庫(kù)門(mén)管理的“一密二鑰三分離”中密碼的管理和分離的規(guī)定。每次開(kāi)機(jī)密碼都不一樣,有效防止密碼泄露,增強(qiáng)了金庫(kù)管理的安全性。本電子密碼鎖系統(tǒng),不僅可以運(yùn)用于金庫(kù)門(mén),同時(shí)適用于其他要求高保密性的產(chǎn)品或場(chǎng)所,且一個(gè)密碼生成器可配備若干個(gè)密碼鎖控制器,方便管理。
評(píng)論