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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT89C52單片機的多用戶密碼鎖設(shè)計

          基于AT89C52單片機的多用戶密碼鎖設(shè)計

          作者: 時間:2010-11-12 來源:網(wǎng)絡(luò) 收藏

            安全防盜已成為社會問題。而鎖自古以來就是把守門戶的鐵將軍,人們對它要求甚高,既要安全可靠地防盜,又要使用方便,這也是制鎖者長期以來研制的主題。

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

            文中的電子和市面銷售的AB鎖有類似之處,但主要區(qū)別在于的這個由主人決定客人進入的密碼,不需要通過換鎖來防止用過該鎖的人再次進入,而且只有主人才有對密碼的修改權(quán)。

            1 方案思想

            文中的多設(shè)有一個管理員,管理員對密碼有修改權(quán)。另設(shè)有兩個來賓,可以根據(jù)管理員提供的密碼開鎖,自己則不可以任意修改密碼。更換住戶時,只需要管理員更換密碼即可,這樣就避免了換鎖帶來的麻煩,節(jié)約了成本。

            密碼鎖的設(shè)計采用通用板制作,所以涉及到元器件的排布和走線問題。由于帶有一個管理員用戶(主人用戶),可以對自己和兩個來賓用戶的密碼進行修改,而且還要限制兩個來賓用戶的對密碼的修改權(quán)。所以,在密碼修改程序上需要精心處理,在進入密碼修改程序時有兩個條件。首先,是主用戶進入的系統(tǒng);其次是密碼修改按鍵被按下。在密碼輸入程序上也要特別的注意,區(qū)分并確認是哪個用戶進入當(dāng)前系統(tǒng),即用戶名和密碼需對號入座,這也是設(shè)計的關(guān)鍵所在。

            2 系統(tǒng)結(jié)構(gòu)與原理

            2.1 系統(tǒng)結(jié)構(gòu)

            多用戶密碼鎖電路設(shè)計共分為6部分:電源、用戶顯示單元、晶振電路、鍵盤電路、編程控制部分、功能顯示單元。通過排版、布局,把這6個部分組合起來,構(gòu)成一個完整的多用戶密碼鎖控制電路,如圖1所示。

            

          多用戶密碼鎖電路設(shè)計 www.elecfans.com


            2.2 系統(tǒng)原理

            首先,要有晶振電路產(chǎn)生工作時鐘送至內(nèi)部的各個部件使其正常工作。其次,用AT89C5l的并行口P1接4×4矩陣鍵盤,以P1.0~P1.3作輸出線,以P1.4~P1.7作輸入線。矩陣的行線和列線分別通過兩并行接口和CPU通信。通過掃描得出的行值和列值的組合來識別被按下的按鍵的編碼以完成密碼的輸入、用戶名的輸入和切換,以及確定、取消命令、密碼修改命令、用戶切換命令和關(guān)鎖命令的輸入。再者,通過P2口將要顯示的數(shù)據(jù)信號傳送到數(shù)碼管,直接控制數(shù)碼管的顯示,從而點亮數(shù)碼管,顯示當(dāng)前用戶。整個系統(tǒng)實現(xiàn)了各種信號提示功能的實現(xiàn)。

            3 各功能模塊電路設(shè)計

            3.1 鍵盤電路

            密碼鎖要輸入密碼就肯定要使用鍵盤。設(shè)計的是4×4的鍵盤,除了0~9這10個數(shù)字鍵之外,還有“確定”、“取消”、“密碼修改”、“關(guān)鎖”、“用戶切換”、和“顯示開關(guān)”。4×4矩陣排列能有效的節(jié)約端口資源,避免使用端口擴展模塊。鍵盤安裝時,按鍵按照4×4格式進行矩陣排列。在P1.4~P1.7輸出線上接拉高電阻,讓端口能準確的置高、置低。拉高電阻的另一端則連接在一起接5 V電源。電路如圖2所示。

            


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();