观看麻豆影视文化有限公司-国产 高清 在线-国产 日韩 欧美 亚洲-国产 日韩 欧美 综合-日日夜夜免费精品视频-日日夜夜噜

密碼鎖里面的數(shù)字都是什么意思(密碼鎖是啥意思)

  • 生活
  • 2023-04-26 13:34

隨著世界變得越來越依賴數(shù)字化,現(xiàn)在甚至可以將門設計成安全可靠的。鎖和鑰匙的數(shù)字版本具有許多有前途的功能。數(shù)字門鎖用密碼安全放置。但是,這也可能會吸引不道德的***,因此,還需要額外的安全層。

在這篇基于電子項目的文章中,我們創(chuàng)建了一個使用基本控制器8051微控制器控制的數(shù)字門鎖。本文的目的是了解數(shù)字門鎖背后的基本工作原理。

什么是數(shù)字門鎖?

數(shù)字門鎖一般是一種基于密碼的電子密碼鎖。在這個項目中,我們使用8051微控制器、鍵盤和12伏直流繼電器設計了數(shù)字門鎖。在本文中,我們設計了一個使用8051的簡單數(shù)字門鎖——它可以用作安全檢查系統(tǒng),以限制只有某些具有密碼的個人才能進入某個區(qū)域/房間。因此,我們的數(shù)字門鎖項目可以使用非常廣泛的名稱來調用,例如使用8051的數(shù)字密碼鎖或使用8051微控制器的數(shù)字安全密碼鎖或使用8051的密碼安全系統(tǒng)或使用的電子密碼鎖或數(shù)字密碼鎖8051.人們稱這種“安全系統(tǒng)”有不同的名稱,盡管它們的意思都是建立一個基本的基于密碼的安全系統(tǒng),使用8051或AVR或PIC或Arduino(選擇的控制器)等微控制器,具有自動門鎖/開門設施、聲音警報、基于GSM的短信警報等額外功能。

數(shù)字門鎖-項目摘要

我們的數(shù)字密碼鎖項目-是一個簡單的電子數(shù)字鎖系統(tǒng)或使用8051的電子密碼鎖-在程序中存儲了一個預設的5位密碼。系統(tǒng)采集5位用戶輸入,將用戶輸入與程序內部預設密碼進行比較,如果用戶輸入和存儲的密碼匹配,則允許進入(通過繼電器打開門幾秒鐘然后關閉)它在規(guī)定的時間后自動)。如果用戶輸入和存儲的密碼不匹配,訪問將被拒絕(通過不打開關閉的門-即通過將繼電器保持在關閉位置)

注意:-我們有一個精彩的8051項目***,這些項目是我們之前設計和發(fā)布的。看看如果您有興趣自己構建基于8051的應用程序和系統(tǒng)!學習和構建新的東西很有趣。

現(xiàn)在讓我們開始構建基于密碼的數(shù)字門鎖。下面給出數(shù)字密碼鎖的電路圖。如圖所示組裝電路。

基于密碼的數(shù)字門鎖/電子密碼鎖-電路圖

使用的組件

8051–AT89S51–1

16×2LCD模塊–1

4X4鍵盤–1

10K電阻網(wǎng)絡–1

12V繼電器–1

晶體管–BC548–1

二極管–1N4007–1

按鈕開關–1

水晶–11.059Mhz–1

電容器

33pF-2

0.1uF-1

10uF-1

1

電阻器

10K歐姆–1

100歐姆-1

8.2K歐姆–1

330歐姆-1

4.7K歐姆–1

連接解釋

如電路圖所示進行數(shù)字密碼鎖項目的連接。我們已經(jīng)解釋了下面的連接。

8051的鍵盤——在這個特殊的電子密碼鎖項目中,我們將一個4×4鍵盤連接到8051微控制器的端口3。行引腳從P3.0連接到P3.3,而列引腳從P3.4連接到P3.7。閱讀我們關于將鍵盤連接到8051的教程——了解如何將鍵盤連接到8051以及如何識別和顯示按鍵。

16×2LCD模塊到8051–我們使用16×2lcd模塊來顯示項目的狀態(tài)消息。我們已經(jīng)以8位模式連接了這個LCD模塊(使用8條數(shù)據(jù)線)。8條數(shù)據(jù)線連接到8051的端口0。在端口0使用10K電阻網(wǎng)絡(有8個引腳)連接外部上拉電阻,以連接LCD的8條數(shù)據(jù)線。LCD控制引腳RS、R/W和E分別連接到端口2引腳P2.7、P2.6和P2.5。閱讀我們關于將LCD連接到8051的教程——了解如何將LCD模塊正確連接到8051,以及如何在LCD模塊上完美顯示文本消息。

按鈕開關——用于設置8051的復位電路,Crystal用于為8051提供必要的時鐘。

繼電器-一個12VSPDT繼電器用于數(shù)字門鎖項目并連接到P2.0。晶體管(BC548)–用于以必要的電流驅動繼電器。

數(shù)字門鎖電路的工作

數(shù)字門鎖項目的目標是允許正確輸入5位密碼的人訪問,并且不允許輸入錯誤密碼的人訪問。我們使用4×4鍵盤向微控制器輸入數(shù)字,并使用12V繼電器來控制門的電子電磁鎖(電路圖中未顯示)。密碼存儲在8051程序(程序存儲器)中。在下面給出的示例程序中,我們使用密碼12345并以標簽-PASSW存儲在程序內存位置。

PASSW:DB49D,50D,51D,52D,53D,0//Decimalequivalentof1,2,3,4,5isstoredinaddresslabelPASSW

當我們打開電源時,系統(tǒng)將打開并在LCD屏幕上顯示一條消息——“基于密碼的安全系統(tǒng)”。啟動過程完成后,系統(tǒng)將要求“輸入5位數(shù)字”。此信息出現(xiàn)在LCD屏幕上后,用戶必須連續(xù)輸入5位數(shù)字。一旦輸入5位數(shù)字,系統(tǒng)將開始檢查密碼(通過將輸入的5位數(shù)字與存儲的密碼進行比較)。在檢查密碼子程序(比較子程序-帶有標簽-CHECK_PASSWORD)開始之前,LCD模塊上會顯示一條狀態(tài)信息“CheckingPassword”。密碼檢查子程序將比較每個輸入的數(shù)字-一個一個,如果所有5個數(shù)字都輸入正確(i.e每個輸入的數(shù)字按順序與存儲的密碼匹配)系統(tǒng)將通過打開繼電器開始允許用戶訪問的過程(通過程序中的SETBP2.0命令實現(xiàn))。LCD屏幕上將顯示兩條消息——“AccessGranted”和“DoorOpens”。幾秒鐘后,繼電器將通過命令CLRP2.0關閉(即在MAIN程序命令的下一次迭代中)如果輸入的密碼錯誤,系統(tǒng)將不會打開繼電器并顯示“密碼錯誤”消息”–LCD屏幕上將顯示“拒絕訪問”。

程序/代碼-基于密碼的安全系統(tǒng)

RSEQUP2.7

RWEQUP2.6

EEQUP2.5

SELEQU41H

ORG000H

CLRP2.0

MOVTMOD,#00100001B

MOVTH1,#253D

MOVSCON,#50H

SETBTR1

ACALLLCD_INIT

MOVDPTR,#TEXT1

ACALLLCD_OUT

ACALLLINE2

MOVDPTR,#TEXT2

ACALLLCD_OUT

MAIN:ACALLLCD_INIT

MOVDPTR,#TEXT1

ACALLLCD_OUT

ACALLLINE2

MOVDPTR,#TEXT2

CLRP2.0

ACALLLCD_OUT

ACALLDELAY1

ACALLDELAY1

ACALLREAD_KEYPRESS

ACALLLINE1

MOVDPTR,#CHKMSG

ACALLLCD_OUT

ACALLDELAY1

ACALLCHECK_PASSWORD

SJMPMAIN

LCD_INIT:MOVDPTR,#INIT_COMMANDS

SETBSEL

ACALLLCD_OUT

CLRSEL

RET

LCD_OUT:CLRA

MOVCA,@A+DPTR

JZEXIT

INCDPTR

JBSEL,CMD

ACALLDATA_WRITE

SJMPLCD_OUT

CMD:ACALLCMD_WRITE

SJMPLCD_OUT

EXIT:RET

LINE2:MOVA,#0C0H

ACALLCMD_WRITE

RET

LINE1:MOVA,#80H

ACALLCMD_WRITE

RET

CLRSCR:MOVA,#01H

ACALLCMD_WRITE

RET

CMD_WRITE:MOVP0,A

CLRRS

CLRRW

SETBE

CLRE

ACALLDELAY

RET

DATA_WRITE:MOVP0,A

SETBRS

CLRRW

SETBE

CLRE

ACALLDELAY

RET

DELAY:CLRE

CLRRS

SETBRW

MOVP0,#0FFh

SETBE

MOVA,P0

JBACC.7,DELAY

CLRE

CLRRW

RET

DELAY1:MOVR3,#46D

BACK:MOVTH0,#00000000B

MOVTL0,#00000000B

SETBTR0

HERE1:JNBTF0,HERE1

CLRTR0

CLRTF0

DJNZR3,BACK

RET

DELAY2:MOVR3,#250D

BACK2:MOVTH0,#0FCH

MOVTL0,#018H

SETBTR0

HERE2:JNBTF0,HERE2

CLRTR0

CLRTF0

DJNZR3,BACK2

RET

READ_KEYPRESS:ACALLCLRSCR

ACALLLINE1

MOVDPTR,#IPMSG

ACALLLCD_OUT

ACALLLINE2

MOVR0,#5D

MOVR1,#160D

ROTATE:ACALLKEY_SCAN

MOV@R1,A

ACALLDATA_WRITE

ACALLDELAY2

INCR1

DJNZR0,ROTATE

RET

CHECK_PASSWORD:MOVR0,#5D

MOVR1,#160D

MOVDPTR,#PASSW

RPT:CLRA

MOVCA,@A+DPTR

XRLA,@R1

JNZFAIL

INCR1

INCDPTR

DJNZR0,RPT

ACALLCLRSCR

ACALLLINE1

MOVDPTR,#TEXT_S1

ACALLLCD_OUT

ACALLLINE2

ACALLDELAY1

SETBP2.0

MOVDPTR,#TEXT_S2

ACALLLCD_OUT

ACALLDELAY1

SJMPGOBACK

FAIL:ACALLCLRSCR

ACALLLINE1

MOVDPTR,#TEXT_F1

ACALLLCD_OUT

ACALLDELAY1

ACALLLINE2

MOVDPTR,#TEXT_F2

ACALLLCD_OUT

ACALLDELAY1

GOBACK:RET

KEY_SCAN:MOVP3,#11111111B

CLRP3.0

JBP3.4,NEXT1

MOVA,#49D

RET

NEXT1:JBP3.5,NEXT2

MOVA,#50D

RET

NEXT2:JBP3.6,NEXT3

MOVA,#51D

RET

NEXT3:JBP3.7,NEXT4

MOVA,#65D

RET

NEXT4:SETBP3.0

CLRP3.1

JBP3.4,NEXT5

MOVA,#52D

RET

NEXT5:JBP3.5,NEXT6

MOVA,#53D

RET

NEXT6:JBP3.6,NEXT7

MOVA,#54D

RET

NEXT7:JBP3.7,NEXT8

MOVA,#66D

RET

NEXT8:SETBP3.1

CLRP3.2

JBP3.4,NEXT9

MOVA,#55D

RET

NEXT9:JBP3.5,NEXT10

MOVA,#56D

RET

NEXT10:JBP3.6,NEXT11

MOVA,#57D

RET

NEXT11:JBP3.7,NEXT12

MOVA,#67D

RET

NEXT12:SETBP3.2

CLRP3.3

JBP3.4,NEXT13

MOVA,#42D

RET

NEXT13:JBP3.5,NEXT14

MOVA,#48D

RET

NEXT14:JBP3.6,NEXT15

MOVA,#35D

RET

NEXT15:JBP3.7,NEXT16

MOVA,#68D

RET

NEXT16:LJMPKEY_SCAN

INIT_COMMANDS:DB0CH,01H,06H,80H,3CH,0

TEXT1:DB"PASSWORDBASED",0

TEXT2:DB"SECURITYSYSTEM",0

IPMSG:DB"INPUT5DIGITS",0

CHKMSG:DB"CHECKINGPASSWORD",0

TEXT_S1:DB"ACCESS-GRANTED",0

TEXT_S2:DB"DOOROPENED",0

TEXT_F1:DB"WRONGPASSWORD",0

TEXT_F2:DB"ACCESSDENIED",0

PASSW:DB49D,50D,51D,52D,53D,0

END

該程序是用匯編語言編寫的。下面解釋程序的重要方面和子程序。

KEY_SCAN–是識別按鍵的子程序。識別按鍵采用列掃描的***。被按下的鍵被識別并被分配一個被按下的鍵的十進制等效值(ASCII值)。您可以閱讀8051鍵盤上的教程-接口以了解有關編程的更多信息。

READ_KEYPRESS–是收集用戶輸入的子程序。使用寄存器R0設置一個計數(shù)器來計數(shù)5次(這會將用戶輸入***限制為前5次按鍵)。寄存器R1被分配地址單元160D。收集的用戶輸入保存在從160D開始的地址位置。該位置使用INCR1–命令8051連續(xù)遞增。因此,第一個用戶輸入存儲在160D中,第二個用戶輸入存儲在161D中,第三個用戶輸入存儲在162D中,第四個存儲在163D中,第五個用戶輸入存儲在164D中。這些地址位置是通過間接尋址***使用寄存器R1訪問的。

注意:-程序中編寫了兩個延遲例程。DELAY1–用作在LCD模塊上正確輸出信息的延遲。向LCD模塊發(fā)送消息/數(shù)據(jù)后,調用DELAY1,以便消息在LCD屏幕上停留規(guī)定的延遲時間。DELAY2(延遲2.5秒)用于為鍵盤提供必要的去抖效果。(按鈕開關或任何類型的機械開關具有彈跳效應。必須通過電容器或軟件內部的一些調整來消除這種效應-例如-掃描按鍵后的1或2秒延遲)

CHECK_PASSWORD–是將用戶輸入的密碼(5位)與程序中實際存儲的密碼進行比較的子程序。通過在DPTR的幫助下從存儲的密碼中選擇每個數(shù)字并將其加載到累加器(使用MOVCA,@A+DPTR),逐位進行比較。然后將加載到累加器的每個數(shù)字與作為用戶輸入存儲的相應數(shù)字(在地址位置16D到164D中)進行比較,***是將它們一一加載到寄存器R1。數(shù)字通過X-OR與命令XRLA,@R1進行比較。根據(jù)比較的結果,該子程序寫入了允許訪問(并打開繼電器)或不允許訪問并在LCD屏幕上顯示“訪問被拒絕”消息的命令。

結論

以上就是使用8051的基于密碼的安全系統(tǒng)的全部內容。我們希望您已經(jīng)了解電路,它正在工作,并且程序非常好。如果您有任何疑問,請在評論部分提出。如果您想了解更多有趣和類似的電子密碼鎖項目,請查看以下安全系統(tǒng)/鎖項目。

使用8051的基于RFID的安全系統(tǒng)?–是一種在概念上與數(shù)字門鎖或電子密碼鎖非常相似的安全系統(tǒng)。該項目的主要區(qū)別在于唯一的RFID標簽用于識別授權人員(而不是鍵盤和密碼)。一個RFID閱讀器連接到8051以讀取RFID標簽。

數(shù)字密碼鎖-高級-使用Arduino-是使用鍵盤和Arduino構建的數(shù)字密碼鎖項目的一個非常有趣和高級的版本。這個項目最有趣的部分是“用戶定義密碼”選項,用戶可以在安裝系統(tǒng)時自己設置密碼。安裝時的這個SET密碼可以稍后通過按“編輯密碼”鍵來更改/編輯。

猜你喜歡

主站蜘蛛池模板: 国产自产自拍 | 免费观看性欧美毛片 | 日韩性大片免费 | 色噜噜国产精品视频一区二区 | 欧美自拍视频 | 色天天躁夜夜躁天干天干 | 日本在线观看不卡免费视频 | 性欧美欧美巨大69 | 国产一区二区三区免费播放 | 欧美三级视频在线观看 | 91国语对白 | 亚洲天堂色网站 | 国产精品三级 | 久草国产在线视频 | 亚洲黄色第一页 | 国产精自产拍久久久久久 | 91精品国产综合久久欧美 | 国产欧美日韩高清专区手机版 | 手机看片久久高清国产日韩 | 亚洲精品91 | 国产亚洲精品影达达兔 | 99在线热视频 | 国产呦精品一区二区三区网站 | 欧美精品xx | 牲欧美| 午夜一级影院 | 成人亚洲国产精品久久 | 久久久青青久久国产精品 | 美女三级网站 | 欧美成人免费观看 | 曰本一区 | 国产成人免费视频 | 欧美级毛片 | 女人被男人躁得好爽免费视频免费 | 亚洲精品456在线播放无广告 | 国产精品久久久久毛片真精品 | 91精品国产91久久久久久 | 99福利资源久久福利资源 | 俺来也欧美亚洲a∨在线 | 国产一区二区三区高清 | 福利片成人午夜在线 |