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

          新聞中心

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

          一種簡單的基于51單片機的電子密碼鎖設計

          作者: 時間:2013-11-04 來源:網(wǎng)絡 收藏

            1 單片機的背景和設計特點

            在高科技迅速發(fā)展的今天,人們已經(jīng)發(fā)明了密碼鎖、電子鎖和激光鎖等多種形式。這些鎖在傳統(tǒng)鑰匙的基礎上,利用磁場、聲波和光束等多種方式來控制鎖的開啟和關閉,從而有效地增強了鎖的安全性,保護了人們的生命財產(chǎn)和安全,有效地防止盜賊的光顧。

            單片機又稱為單片微電腦或者單片微型計算機,它有效的集合了中央處理器、只讀存儲器、隨機存取存儲器和輸入輸出端口等計算機功能部件。計算機體積龐大,不易攜帶,導致單片機的應運而生,就是在單片機的外部接上簡單的電路,人為的寫入程序來完成其核心部分,這樣不僅能夠縮小鎖的體積還能夠降低成本,保持精度,并且能夠有效的升級和改善

            2 單片機密碼鎖的系統(tǒng)設計

            2.1 單片機密碼鎖系統(tǒng)的總設計結構圖

            

            2.2 單片機開鎖機構的設計

            單片機開鎖機構的設計是將單片機送入開鎖執(zhí)行的機構,促使電路驅動和電磁鎖吸合,進而開鎖。本文設計的電子鎖通過P3.0 來接入三極管進而驅動繼電器來打開電磁閥線圈進而實現(xiàn)開門和關門。

            

            根據(jù)上面的圖形可知,當用戶在規(guī)定的時間和輸入次數(shù)內(nèi)輸入的密碼正確時,單片密碼鎖便輸出開門的信號,將信號傳送到驅動開鎖的電路,進而驅動電磁鎖,實現(xiàn)開門。

            2.3 單片機密碼鎖系統(tǒng)硬件的設計

            本文設計的電子鎖的密碼鎖選用了簡單容易操作并且不為眾人所熟悉的摩期碼當做電路的密碼輸入,該鍵盤的硬件設備只要用一個按鍵就可以實現(xiàn)此密碼鎖密碼的輸入和改變。摩斯密碼的命名來源是來自上世紀中期美國一位名叫摩爾斯的發(fā)明家,他發(fā)明了在電報傳輸使用中所運用的編碼,因此摩斯密碼有時也稱作為摩爾斯密碼,它是由一個輸入按鍵在輸入時按住時間間隔的長短來決定的:其中短促的電信號“.”讀作“DI”,而長時間保持按鍵不動的“-”讀作“DA”,具體而言,“滴”的間隔時間為1T,“嗒”的間隔時間為3T,“嘀嗒”的間隔時間為1T ;字母之間的間隔時間為3T,字與字之間的間隔時間為5T,下面具體列出各個字符和摩斯密碼的對照表。

            

            2.4 電路焊接

            首先電路焊接所需要的工具,如下圖所示

            

            本電子密碼鎖的系統(tǒng)電路的主芯片是, 其中包括時鐘脈沖、電阻、電解電容以及由一個按鍵構成的復位電路,還有一個由八段數(shù)碼管組成的密碼顯示器以及一個蜂鳴器和五個LED燈管,一個NPN 三極管和一個繼電器,結合上面所述的驅動電路構成了此電子密碼鎖的系統(tǒng)電路。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();