《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 用AT89C2051設(shè)計(jì)的多功能密碼鎖
用AT89C2051設(shè)計(jì)的多功能密碼鎖
互聯(lián)網(wǎng)
摘要: 介紹一種由AT89C2051編程實(shí)現(xiàn)的控制電路,具有按鍵有效指示、輸入錯(cuò)誤、解碼有效指示、控制開(kāi)鎖、定時(shí)中斷、錯(cuò)誤報(bào)警、密碼修改等功能;8位10進(jìn)制密碼,保密好使用范圍廣,特適用家庭、賓館等場(chǎng)所
關(guān)鍵詞: 51單片機(jī) AT89C2051 密碼鎖
Abstract:
Key words :
介紹一種由AT89C2051編程實(shí)現(xiàn)的控制電路,具有按鍵有效指示、輸入錯(cuò)誤、解碼有效指示、控制開(kāi)鎖、定時(shí)中斷、錯(cuò)誤報(bào)警、密碼修改等功能;8位10進(jìn)制密碼,保密好使用范圍廣,特適用家庭、賓館等場(chǎng)所。

一、硬件電路:
  
  
   AT89C2051是與MCS-51系列兼容的一種高性能單片機(jī),具有2KB片內(nèi)ROM、256字節(jié)片內(nèi)RAM,可以不需擴(kuò)展外程序、數(shù)據(jù)存儲(chǔ)器,可滿足一般的程序需求,從硬件組成可以看出該密碼鎖有一個(gè)3X4陣列的鍵盤(pán),只需7條I/O引腳就可以了余下的I/O引腳可以開(kāi)發(fā)其他控制功能,如:控制空調(diào)、電燈、風(fēng)扇等。

二、功能實(shí)現(xiàn)

   鍵盤(pán)掃描所用引腳P1.0-P1.6,其中P1.4-P1.6這3條引腳用于輸出掃描信號(hào),P1.0-P1.3這4條引腳用于檢測(cè)按鍵的狀態(tài)。P1.0-P1.6的狀態(tài)組成的鍵碼以及對(duì)應(yīng)按鍵如表1所列。
 


   在程序執(zhí)行中,是先從P1.6送出“0”,再判別P1.3-P1.0的輸入。所以,實(shí)質(zhì)是在P1.6-P1.4送出“011”,接收P1.3-P1.0的輸入狀態(tài),這時(shí)判別8,9,A這4個(gè)鍵。接著,在P1.6-P1.4送出“101”,接收P1.3-P1.0的輸入,這時(shí)判別4,5,6,7這4個(gè)鍵。再而,在P1.6-P1.4送出“110”,接收P1.3-P1.0的輸入,這時(shí)判別0,1,2,3這4個(gè)鍵的狀態(tài)。
   開(kāi)鎖電平UNLOCK的輸出腳P3.0,當(dāng)輸入的鍵正確時(shí)則在P3.0輸出開(kāi)鎖電平UNLOCK。
   報(bào)警電平DANG輸出腳P3.1。在6次誤碼輸入的條件下,進(jìn)行報(bào)警。
   LOCK控制引腳P3.2,90S之后停止輸入。
   有效按鍵提示EFFI引腳P3.3。
   錯(cuò)誤輸入警告WARN引腳P3.4。
   另外,還有引腳5,4接石英振蕩器的XTAL2,XTAL1端,組成石英振蕩器電路,在圖1中沒(méi)有畫(huà)出。引腳1用于復(fù)位。

三、密碼鎖的控制程序

   密碼鎖的控制程序由延時(shí)子程序、修改密碼子程序、掃描輸入子程序、時(shí)鐘中斷子程序及主程序組成。程序框圖如圖2所示。它對(duì)輸入的8位十進(jìn)制密碼進(jìn)行判別,如果輸入密碼正確,則可以直接開(kāi)鎖或修改密碼之后開(kāi)鎖。如果不正確,并且6次以上輸入不正確,則報(bào)警并封鎖輸入口。
 
  1.主程序:
           ORG   0H
           SJMP  START
           ORG   0BH
           SJMP  INT
           START            ;初始化
           MOV   SP.#70H
           SETB  P3.0
           SETB  P3.1
           SETB  P3.2
           SETB  P3.3
           MOV   TMOD,#01H
           MOV   TL0,#00H
           MOV   TH0,#00H
           SETB  TR0
           SETB  ET0
           SETB  EA
           MOV   R2,#0FFH
           MOV   3AH,#03H
           MOV   R3,#06H
   
  PASSWORD:MOV   R4,#08H        ;設(shè)置初始密碼
           MOV   R0,#40H
           MOV   A,#07H
           MOV   @R0,A
           INC   R0
           INC   A
           DJNZ  R4,PASSWORD

  DETPW:   MOV   R4,#08H         ;輸入密碼
           MOV   R0,#30H
 
  AGAIN:   ACALL INPUT
           MOV   A,R7
           CJ    R7,#08H,IN
           ACALL CHPSW           ;修改密碼子程序
           JMP   GETPW

  IN:      MOV   @R0,A
           CLR   P3.3            ;按鍵有效顯示
           ACALL DELAY
           SETB  P3.3
 
  COMP:    MOV   R4,#08H         ;比較密碼
           MOV   R0,#30H
 
  AGAI:    MOV   50H,@R0
           ADD   R0,#010H
           MOV   A,@R0
           SUB   R0,#010H
           CJNE  A,50H,ONCEMORE
           INC   R0
           DJNZ  R4,AGA1
           CLR   P3.0
 
  HERE:    AJMP  HERE
 
  ONCEMORE:CLR   P3.4             ;錯(cuò)誤輸入警告
           ACALL DELAY
           SETB  P3.4
           DJNZ  R3,GETPW
           CLR   P3.1             ;6次錯(cuò)誤輸入報(bào)警
  THERE:   AJMP  THERE

 2.延時(shí)子程序
  DELAY:   MOV   R5,#30H
 
  DELAY1:  MOV   A,#0FFH
 
  LOOOP:   DEC   A
           JNZ   LOOP
           DJNZ  R5,DELAY1
           RET
 
 3.修改密碼子程序
  CHPSW:   MOV   R0,#40H
 
  ANOTHER: ACALL INPUT
           MOV   A,R7
           MOV   @R0,A
           INC   R0
           CLR   P3.3              ;按鍵有效提示
           ACALL DELAY
           SETB  P3.3
           DJNZ  R4,ANOTHER
           RET
 
 4.掃描鍵盤(pán)輸入子程序
  INPUT:   MOV   R6,#02H
           MOV   R1,#40H
 
  LOP:     ACALL DELAY
           MOV   P1,#0FFH           ;掃描碼
           CLR   P1.6
           MOV   A,P1
           ANL   A,#0FH             ;檢驗(yàn)有否按鍵
           CJNE  A,#0FH,INKEY
           MOV   P1,#0FFH
           CLR   P1.5
           MOV   A,P1
           ANL   A,#0FH
           CJNE  AA,#0FH,INKEY
           MOV   P1,#0FFH
           CLR   P1,4
           MOV   A,P1
           ANL   A,#0FH
           CJNE  A,#0FH,INKEY
           SJMP  LOP
 
  INKEY:   MOV   @R1,P1
           INC   R1
           DJNZ  R6,LOP
           DEC   R1
           MOV   A,@R1
           DEC   R1
           CJNE  A,40H,INPUT
           RET

 5.時(shí)鐘中斷子程序
  INT:     PUSH  ACC
           MOV   TMOD,#01H
           MOV   TL0,#00H
           MOV   TH0,#00H
           SETB  TR0
           SETB  ET0
           SETB  EA
           DJNZ  R2,CONT
           CONTINUE
           DJNA  3AH,CONT
           CLR   P3.2         ;時(shí)鐘中斷控制
 
  STOP:    AJMP  STOP
 
  CONT:    POP   ACC
           RET1

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 在线中文字幕视频 | 国产成人精品日本亚洲网址 | 久久青青草视频 | 狼人久久尹人香蕉尹人 | 久久国内精品自在自线观看 | 农村寡妇野外情一级毛片 | 欧美一级纶理片免费 | 国产亚洲欧美在线播放网站 | 美女张开大腿让男人捅 | 美女视频网站免费播放视 | 成年片免费网址网站 | 亚洲欧美在线一区二区 | 亚洲福利视频一区二区三区 | 久久国产精品女 | 色午夜在线 | 国产理论视频在线观看 | 亚洲欧美综合网 | 91精品久久久久亚洲国产 | 久久午夜影院 | 国产婷婷成人久久av免费高清 | 国内精品久久久久影院不卡 | 伊人久色| 亚洲乱码一区二区三区国产精品 | 亚洲精品综合一区在线 | 日韩中文字幕免费观看 | 中文字幕有码视频 | 特黄特色一级特色大片中文 | 国产成人精品三级91在线影院 | 亚洲精品久久9热 | 国内久久精品视频 | 97视频在线视频 | 免费毛片全部不收费的 | 全部aⅴ极品视觉盛宴精品 全部免费a级毛片 | 韩国毛片免费 | 日本三级s级在线播放 | a免费毛片在线播放 | 久草三级 | 久久久国产精品免费看 | 久久精品视频在线播放 | 美女视频永久黄网站免费观看韩国 | 韩国日本一级片 |