精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用AT89C2051設(shè)計的多功能密碼鎖
用AT89C2051設(shè)計的多功能密碼鎖
 更新時間:2009-12-15 13:34:29  點擊數(shù):0
【字體: 字體顏色
介紹一種由AT89C2051編程實現(xiàn)的控制電路,具有按鍵有效指示、輸入錯誤、解碼有效指示、控制開鎖、定時中斷、錯誤報警、密碼修改等功能;8位10進制密碼,保密好使用范圍廣,特適用家庭、賓館等場所。

一、硬件電路:

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

二、功能實現(xiàn)

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

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

三、密碼鎖的控制程序

   密碼鎖的控制程序由延時子程序、修改密碼子程序、掃描輸入子程序、時鐘中斷子程序及主程序組成。程序框圖如圖2所示。它對輸入的8位十進制密碼進行判別,如果輸入密碼正確,則可以直接開鎖或修改密碼之后開鎖。如果不正確,并且6次以上輸入不正確,則報警并封鎖輸入口。

 1.主程序:
           ORG   0H
           SJMP  START
           ORG   0BH
           SJMP  INTSTART            ;初始化
           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             ;錯誤輸入警告
           ACALL DELAY
           SETB  P3.4
           DJNZ  R3,GETPW
           CLR   P3.1             ;6次錯誤輸入報警
  THERE:   AJMP  THERE

 2.延時子程序
  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.掃描鍵盤輸入子程序
  INPUT:   MOV   R6,#02H
           MOV   R1,#40H
 
  LOP:     ACALL DELAY
           MOV   P1,#0FFH           ;掃描碼
           CLR   P1.6
           MOV   A,P1
           ANL   A,#0FH             ;檢驗有否按鍵
           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.時鐘中斷子程序
  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         ;時鐘中斷控制
 
  STOP:    AJMP  STOP
 
  CONT:    POP   ACC
           RET1

  • 上一篇: AT89C2051設(shè)計的無線防盜報警器實戰(zhàn)
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    金川县| 巴里| 类乌齐县| 毕节市| 麦盖提县| 佛山市| 隆安县| 新疆| 松滋市| 潜江市| 通许县| 汶上县| 涿鹿县| 文安县| 长沙市| 伊吾县| 庄河市| 罗田县| 新和县| 耒阳市| 庄浪县| 无为县| 肇庆市| 于田县| 宝山区| 视频| 晋城| 永丰县| 石阡县| 景泰县| 伊金霍洛旗| 招远市| 龙南县| 虞城县| 马边| 类乌齐县| 清涧县| 富顺县| 女性| 象州县| 喜德县|