<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的金庫門電子密碼鎖系統(tǒng)設計

          基于單片機的金庫門電子密碼鎖系統(tǒng)設計

          作者: 時間:2011-05-25 來源:網(wǎng)絡 收藏

          在該中,電源電路模塊主要是由一個12 V變壓器與一個LM7805穩(wěn)壓器電路所組成的,為CPU提供電壓。由于STC12C5410AD是5 V的,所以液晶顯示模塊同樣采用5 V的OCM12864-2液晶模塊。8位標準數(shù)據(jù)總線與STC12C5410AD的P2口相連接;讀寫選擇管腳R/W與P3.3相連;讀寫使能管腳CS1、CS2分別與P3.7、P3.5相連接;RS與P3.4相連,控制數(shù)據(jù)/指令的選擇。包含報警輸出電路,當連續(xù)輸入3次錯誤密碼時,則蜂鳴器報警以示警告并啟動報警,則再不能做任何的操作,直到輸入正確的內(nèi)置口令才能關閉報警系統(tǒng)。本系統(tǒng)中,還采用輸入和顯示部分與開鎖控制電路相分開,PCB制作時制作成兩塊板,用串口通信實現(xiàn)兩塊板之間的通信,使密碼比對后的結(jié)果能輸送到STC12C2052AD,實現(xiàn)對機械鎖的控制。

          4 軟件
          4.1 密碼算法的實現(xiàn)
          密碼算法是本中的一個最重要的部分,當用戶使用開鎖時每次輸入的密碼都不一樣。密碼主要由隨機碼、內(nèi)置口令和隨機序號經(jīng)過一定的算法計算出來。
          直接采用C51語言的mad();語句實現(xiàn)的隨機碼具有一定的隨機順序,每次開機后所得的隨機碼序列基本一樣,屬于偽隨機碼。因此對于保密性產(chǎn)品來說,用rand();語句具有缺陷。本采用定時器實現(xiàn)隨機序列。定時器設置為模式2,即可自動重裝載的8位計數(shù)器,初值為100。控制器開機后,定時器開始定時。通過用戶3次按鍵產(chǎn)生中斷,讀取定時器低八位的值,將其轉(zhuǎn)換為十進制并取低兩位存到一個預先定義好的6位數(shù)組中的2個元素。3次按鍵共產(chǎn)生3次2位數(shù)的隨機碼,組成6位隨機碼。該隨機碼重復概率很小,為1/1 000 000。因此,對定時器的采樣,可實現(xiàn)真正的隨機碼。
          用戶自產(chǎn)生一個2位隨機序號,與隨機碼、密碼生成器的內(nèi)置口令經(jīng)過一定的算法計算生成密碼。控制器根據(jù)用戶輸入的隨機序號和密碼,將隨機序號、隨機碼、以及內(nèi)置口令,利用與密碼生成器生成密碼同樣的算法計算出密碼,與用戶輸入的密碼比較驗證。
          STC自帶EEPROM,用EEPROM來儲存密碼,關機后密碼不丟失,并可隨意更改密碼。每次開鎖密碼都不一樣,可有效預防惡意窺測行為,并能清楚進出的人員,且無需經(jīng)常更換密碼,方便管理。
          4.2 密碼鎖控制器程序流程圖

          本文引用地址:http://www.ex-cimer.com/article/172737.htm

          d.jpg



          5 結(jié)束語
          本文設計的密碼鎖系統(tǒng),解決了門管理的“一密二鑰三分離”中密碼的管理和分離的規(guī)定。每次開機密碼都不一樣,有效防止密碼泄露,增強了金庫管理的安全性。本密碼鎖系統(tǒng),不僅可以運用于金庫門,同時適用于其他要求高保密性的產(chǎn)品或場所,且一個密碼生成器可配備若干個密碼鎖控制器,方便管理。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();