1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>能防止多次試探密碼的單片機密碼鎖

    能防止多次試探密碼的單片機密碼鎖

    時間:2023-02-21 00:16:43 電子通信論文 我要投稿
    • 相關推薦

    能防止多次試探密碼的單片機密碼鎖

      摘要:提出了一種能防止多次試探密碼的基于單片機的密碼鎖設計方案,根據用戶的10條總體要求,給出了該單片機密碼鎖的硬件電路和軟件程序,同時給出了單片機型號的選擇、硬件設計、軟件流程圖、單片機存儲單元的分配、匯編語言源程序及詳細注釋等內容。
      關鍵詞:單片機;密碼鎖;密碼
      
      1引言
      
      很多行業的許多地方都需要密碼鎖,但普通密碼鎖的密碼容易被多次試探而破譯。本文給出了一種能防止多次試探密碼的密碼鎖設計方法,從而有效地克服了上述缺點。
      
      2硬件電路
      
      圖1所示是筆者設計的一種密碼鎖電路。該密碼鎖主要是按照以下10條用戶要求進行設計的:
      
      (1)共8位密碼,每位的取值范圍為1~8。
      
      (2)用戶可以自行設定和修改密碼。
      
      (3)按每個密碼鍵時都有聲、光提示。
      
      (4)若鍵入的8位開鎖密碼不完全正確,則報警5秒鐘,以提醒他人注意。
      
      (5)開鎖密碼錯3次要報警10分鐘,報警期間輸入密碼無效,以防竊賊多次試探密碼。
      
      (6)鍵入的8位開鎖密碼完全正確才能開鎖,開鎖時要有1秒的提示音。
      
      (7)電磁鎖的電磁線圈必須用脈沖驅動,每次通電時間不多于2秒,以防燒壞。
      
      (8)密碼鍵盤上只允許有8個密碼按鍵和1個發光管。鎖內有備用電池,只有內部上電復位時才能設置或修改密碼,因此,僅在門外按鍵是不能修改或設置密碼的。
      
      (9)密碼設定完畢后要有2秒的提示音。
      
      (10)成本要比較低,硬件和軟件都要盡可能簡潔可靠,易于批量生產。
      
      根據總體要求分析,該密碼鎖電路所需要的I/O口線少于15個,若設計得當,程序不會超過200條指令,所以可選擇質優價廉的AT89C1051/2051或者GMS1051/2051,而且不需要外接程序存儲器和數據存儲器及其它擴展部件。
      
      在圖1所示電路中,P1口連接8個密碼按鍵AN1~AN8,開鎖脈沖由P3.5輸出,報警和提示音由P3.7輸出。BL是用于報警與聲音提示的喇叭,發光管D1用于報警和提示,L是電磁鎖的電磁線圈。
      
      3軟件設計
      
      圖2給出了該單片機密碼鎖電路的軟件流程圖。圖中?AA1~AA8以及START、SET、SAVE是程序中的標號,是為了理解程序而專門標在流程圖的對應位置的,分析程序時可以仔細對照參考。
      
      3.1存儲單元的分配
      
      該密碼鎖中RAM存儲單元的分配方案如下:
      
      31H~38H:依次存放8位設定的密碼,首位密碼存放在31H單元;
      
      R0:指向密碼地址;
      
      R2:已經鍵入密碼的位數;
      
      R3:存放允許的錯碼次數3與實際錯碼次數的差值;
      
      R4至R7:延時用;
      
      00H:錯碼標志位。
      
      對于ROM存儲單元的分配,由于程序比較短,而且占用的存儲空間比較少,因此,在無特殊要求時,可以從0030H單元(其它地址也可以)開始存放主程序。
      
      3.2源程序
      
      下面是該電子密碼鎖的軟件源程序代碼:
      
      ORG0000H
      
      AJMPSTART
      
      ORG0030H
      
      START:ACALLBP
      
      MO
      
      
      
      VR0,#31H
      
      MOVR2,#8
      
      SET:MOVP1,#0FFH
      
      MOVA,P1
      
      CJNEA,#0FFH,L8
      
      AJMPSET
      
      L8:ACALLDELAY
      
      CJNEA,#0FFH,SAVE
      
      AJMPSET
      
      SAVE:ACALLBP
      
      MOV@R0?A
      
      INCR0
      
      DJNZR2,SET
      
      MOVR5,#16
      
      D2S:ACALLBP
      
      DJNZR5,D2S
      
      MOVR0,#31H
      
      MOVR3,#3
      
      AA1:MOVR2,#8
      
      AA2:MOVP1,#0FFH
      
      MOVA,P1
      
      CJNEA,#0FFH,L9
      
      AJMPAA2
      
      L9?ACALLDELAY
      
      CJNEA,#0FFH,AA3
      
      AJMPAA2
      
      AA3:ACALLBP
      
      CLRC
      
      SUBBA,@R0
      
      INCR0
      
      CJNEA,#00H,AA4
      
      AJMPAA5
      
      AA4:SETB00H
      
      AA5:DJNZR2,AA2
      
      JB00H?AA6
      
      CLRP3.5
      
      L3?MOVR5,#8
      
      ACALLBP
      
      DJNZR4,L3
      
      MOVR3,#3
      
      SETBP3.5
      
      AJMPAA1
      
      AA6:DJNZR3,AA7
      
      MOVR5,#24
      
      L5:MOVR4,#200
      
      L4:ACALLBP
      
      DJNZR4,L4
      
      DJNZR5,L5
      
      MOVR3,#3
      
      AA7:MOVR5,#40
      
      ACALLBP
      
      DJNZR5,AA7
      
      AA8:CLR00H
      
      AJMPAA1
      
      BP:CLRP3.7
      
      MOVR7,#250
      
      L2:MOVR6,#124
      
      L1:DJNZR6,L1
      
      CPLP3.7
      
      DJNZR7,L2
      
      SETBP3.7
      
      RET
      
      DELAY?MOVR7,#20
      
      
      
      
      L7:MOVR6,#125
      
      L6:DJNZR6,L6
      
      DJNZR7,L7
      
      RET
      
      END
      
      4應用說明
      
      若按鍵AN1~AN7分別代表數碼1~7,按鍵AN0代表數碼8。在沒有鍵按下時,P1.0~P1.7全是高電平1,若某個鍵被按下,相應的口線就變為低電平0。假如設定的密碼是61234578,當按鍵AN6被按下時,P1.6變為低電平,P1端口其余口線為高電平,此時從P1端口讀入的數值為10111111,存到31H單元的密碼值就是10111111,也就是BFH。依此類推,存到32H至38H單元的密碼值分別是FDH、FBH、F7H、EFH、DFH、7FH、FEH。開鎖時必須先按AN6,使從P1口讀入的第一個密碼值與31H單元存儲的設定值相同,再順序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能開鎖。否則不能開鎖,同時開始報警。
      
      
      
      

    【能防止多次試探密碼的單片機密碼鎖】相關文章:

    教學生學會“試探”08-05

    幼兒英語教學試探08-17

    小學生興趣作文試探08-17

    夏的密碼08-10

    密碼的作文12-19

    《密碼》作文05-11

    “密碼”作文06-10

    硬件密碼組件與軟件密碼組件的比較研究08-06

    初中作文教學方法試探08-05

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      婷婷一区二区三区 | 亚洲h动漫在线 | 一区二区欧美日韩 | 伊人久久大香线蕉一区 | 午夜偷拍精品用户偷拍卧室 | 亚洲色香蕉一区二区三区 |