單片機(jī)電子密碼鎖的設(shè)計(jì)(匯編語言)_第1頁
單片機(jī)電子密碼鎖的設(shè)計(jì)(匯編語言)_第2頁
單片機(jī)電子密碼鎖的設(shè)計(jì)(匯編語言)_第3頁
單片機(jī)電子密碼鎖的設(shè)計(jì)(匯編語言)_第4頁
單片機(jī)電子密碼鎖的設(shè)計(jì)(匯編語言)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

一、設(shè)計(jì)總說明

隨著人們對(duì)安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識(shí)別、IC卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識(shí)識(shí)別器若在公共場(chǎng)所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。

本次基于8051單片機(jī)電子密碼鎖的設(shè)計(jì),其主要具有如下功能:

(1)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。

(2)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),鎖打開后才能

改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確

以防止誤操作。

(3)報(bào)警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當(dāng)連續(xù)3次輸入錯(cuò)誤

密碼,系統(tǒng)聲光報(bào)警。

電子密碼鎖的設(shè)計(jì)主要由三部分組成:4×4矩陣鍵盤接口電路、密碼鎖

的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈等。

密碼鎖設(shè)計(jì)的關(guān)鍵問題是實(shí)現(xiàn)密碼的輸入、清除、更改、開鎖等功能:

(1)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“-”就顯示在最右邊的數(shù)碼

管上,同時(shí)將先前輸入的所有“-”向左移動(dòng)一位。

(2)密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所

有顯示。

(3)密碼更改功能:將輸入的值作為新的密碼。

(4)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對(duì),如果

確鎖打開,否則不打開。

主要的設(shè)計(jì)實(shí)施過程:首先,選用8051單片機(jī),以及選購其他電子元器件。第二步,設(shè)計(jì)硬件電路。第三步,編寫單片機(jī)語言實(shí)現(xiàn)功能。第四部,分別進(jìn)行軟件和硬件的調(diào)試。最后,聯(lián)合軟、硬件調(diào)試整個(gè)系統(tǒng),完成本次課程設(shè)計(jì)。

關(guān)鍵詞:4×4矩陣鍵盤;8051單片機(jī);密碼鎖;密碼二次確認(rèn)‘二、

緒論

2.1

背景

隨著社會(huì)物質(zhì)財(cái)富的日益增長,安全防盜已成為社會(huì)問題。而鎖自古以來就是把守門戶的鐵將軍,人們對(duì)它要求甚高,既要安全可靠地防盜,又要使用方便,這也是制鎖者長期以來研制的主題。目前國內(nèi),大部分人使用的還是傳統(tǒng)的機(jī)械鎖。然而,眼下假冒偽劣的機(jī)械鎖泛濫成災(zāi),互開率非常之高。所謂互開率,是各種鎖具的一個(gè)技術(shù)質(zhì)量標(biāo)準(zhǔn),也就是1把鑰匙能開幾把鎖的比率。經(jīng)國家工商局、國家內(nèi)貿(mào)局、中國消協(xié)等部門對(duì)鎖具市場(chǎng)的調(diào)查,發(fā)現(xiàn)個(gè)別產(chǎn)品的互開率居然超標(biāo)26倍。

為何彈子鎖的“互開率”會(huì)如此之高?據(jù)有關(guān)專家人士剖析,彈子鎖質(zhì)量好壞主要取決于彈子數(shù)量的多少以及彈子的大小,而彈子的多少和大小受一定條件的限制。此外,即使是一把質(zhì)量過關(guān)的機(jī)械鎖,通過急開鎖,甚至可以在不損壞鎖的前提下將鎖打開。機(jī)械鎖的這些弊端為一種新型的鎖---電子密碼鎖,提供了發(fā)展的空間。

2.2

電子鎖

電子鎖是采取電子電路控制,以電磁鐵或者衛(wèi)星電機(jī)和鎖體作為執(zhí)行裝置的機(jī)電一體化鎖具,相比傳統(tǒng)的機(jī)械鎖具,電子鎖不使用金屬鑰匙,保密性、精度都有很大提高。

電子鎖的發(fā)明思路,源自古代發(fā)明的自動(dòng)機(jī)械,例如古希臘數(shù)學(xué)家赫倫的液壓自動(dòng)門,中國古代諸葛亮的木牛流馬,它們以重力或蒸汽壓力驅(qū)動(dòng),最廣泛的用途乃是用在古代墓道的地下機(jī)關(guān)。電子工業(yè)的誕生,使得以微小電量驅(qū)動(dòng)機(jī)械成為可能,于是有了電子鎖一日千里的躍進(jìn)。

三、課題要求

本次課程設(shè)計(jì),基于8051單片機(jī)電子密碼鎖的設(shè)計(jì),利用4*4小鍵盤作為輸入,LED作為顯示。當(dāng)輸入密碼和設(shè)定的密碼一致時(shí),系統(tǒng)利用繼電器輸出解鎖信號(hào),其主要具有如下功能:

(1)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。

(2)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),鎖打開后才能

改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確

以防止誤操作。

(3)報(bào)警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當(dāng)連續(xù)3次輸入錯(cuò)誤

密碼,系統(tǒng)聲光報(bào)警。四、

課題分析

電路主要包括矩陣鍵盤輸入密碼,外部密碼驗(yàn)證,單片控制,原理方框圖如下:

4.1矩陣鍵盤輸入控制電路

設(shè)計(jì)方案是非編碼鍵盤,每條行線和列線都對(duì)應(yīng)一條I/O口線,鍵位設(shè)在行線和列線的交叉點(diǎn),當(dāng)一個(gè)鍵按下就會(huì)有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個(gè)I/O口線,就可以確定哪一個(gè)鍵被觸動(dòng)。

行線設(shè)計(jì)成上拉口線,初始時(shí)被置高電位,列線懸空,初始置低。通過不斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。

當(dāng)發(fā)現(xiàn)有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當(dāng)某條列線置低時(shí),某條行線也被拉低,則確定這兩條線的交點(diǎn)處的按鈕被按下。

將每個(gè)行線和列線的組合值作成列表,每次就可以通過查表確定鍵位,以決定之后要進(jìn)行的操作。

五、課題方案選擇

方案一:使用8051單片機(jī),采用匯編語言編寫程序,該程序語言功能強(qiáng)大,調(diào)試較為方便,具有很強(qiáng)的實(shí)用性。

方案二:利用數(shù)字邏輯電路,運(yùn)用電壓比較器,555單穩(wěn)態(tài)電路,計(jì)數(shù)器,JK觸發(fā)器,UPS電源等實(shí)現(xiàn)對(duì)門的電子控制。

方案三:使用8051單片機(jī),利用基于單片機(jī)的C語言編寫程序,通過Keil

C51

uVision2軟件進(jìn)行仿真模擬。

方案二基于數(shù)字電路,操作繁瑣,會(huì)出現(xiàn)較多的器件故障,同時(shí)調(diào)試復(fù)雜,難于維護(hù)。方案三該邏輯語言較為復(fù)雜,編寫程序時(shí)也較為復(fù)雜,還需進(jìn)行軟件仿真模擬,設(shè)計(jì)復(fù)雜。綜COMP:

MOV

R1,#40H

MOV

A,@R1

CJNE

A,30H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,31H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,32H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,33H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,34H,

MORE

SJMP

K

MORE:

INC

R3

CLR

P3.2

K:

RET

END

ORG

1000H

MOV

R4,#08H

密碼個(gè)數(shù)8個(gè)

MOV

R0,#40H

密碼暫存區(qū)

MOV

A,#00H

初始密碼0,1,2,3,4,5

GO:

MOV

@R0,A

INC

R0

INC

A

DJNZ

R4,GO

SETB

P3.0;

確認(rèn)

SETB

P3.1

鎖開

SETB

P3.2

錯(cuò)誤

SETB

P3.4

報(bào)警

MOV

R0,#20H

MOV

A,#03H

MOV

@R0,A

;8155初始化

MOV

R0,#79H

MOV

R7,#06H

INIT:

MOV

@R0,#0

;顯示緩沖區(qū)清零

INC

R0

DJNZ

R7,INITLOP:

LCALL

DISP

LCALL

KEYB

JB

ACC.4,LOP

;未按鍵返回

MOV

R0,#7EH

MOV

R7,#05H

PUSH

A

SETD:

DEC

R0

MOV

A,@R0

INC

R0

MOV

@R0,A

DEC

R0

DJNZ

R7,SETD

POP

ACC

MOV

@R0,A

MOV

7DH,7CH

CJNE

,A,#0AH,LOP

CLR

P3.0

ACALL

COMP

CJNE

R3,

#03H,

LOP

CLR

P3.4

SJMP

LOP

-----------------------------------

KEYB:

LCALL

BKS

;按鍵處理子程序

JNZ

BLK1

LCALL

DISP

SJMP

KEYB

BLK1:

LCALL

DISP

LCALL

DISP

LCALL

BKS

JNZ

BLK2

LCALL

DISP

SJMP

KEYB

BLK2:

MOV

R2,#0FEH

MOV

R4,#0

BLK4:

MOV

R1,#21H

MOV

A,R2

MOVX

@R1,A

MOV

R1,#23H

MOVX

A,@R1

JB

ACC.0,BL1

MOV

A,#0

SJMP

BLKP

BL1:

JB

ACC.1,BL2

MOV

A,#08H

SJMP

BLKP

BL2:

JB

ACC.2,BL3

MOV

A,#10H

SJMP

BLKP

BL3:

JB

ACC.3,BL

MOV

A,#18H

BLKP:

ADD

A,R4

PUSH

ACC

BLK3:

LCALL

DISP

LCALL

BKS

JNZ

BLK3

POP

ACC

CJNE

A,#10H,PP

PP:

JNC

PP1

MOV

DPTR,#TBL

MOVC

A,@A+DPTR

PP1:

RET

TBL:

DB

07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H

DB

02H,0FH,03H,0EH,0CH,0DH

BL:

INC

R4

MOV

A,R2

JNB

ACC.7,BKLD

RL

A

MOV

R2,A

SJMP

BLK4

BLKD:

SJMP

KEYB

BKS:

MOV

R1,#21H

MOV

A,#0

MOVX

@R1,A

MOV

R1,#23H

MOVX

A,@R1

CPL

A

ANL

A,#0FH

RET

---------------------------------

DISP:

MOV

R0,#79H

MOV

R3,#20H

BTL:

MOV

A,R3

MOV

R1,#21H

MOVX

@R1,A

;送位選碼到PA口

MOV

A,@R0

MOV

DPTR,#TAB1

MOVC

A,@A+DPTR

查表INC

R1

MOVX

@R1,A

;送顯示碼到PB口

LCALL

DELAY

;延時(shí)

INC

R0

MOV

A,R3

JB

ACC.0,HERE

;一輪顯示完到HERE

RR

A

MOV

R3,A

SJMP

BTL

;繼續(xù)本輪顯示

HERE:

RET

TAB1:

DB

0C0H,0F9,0A4H,0B0H,99H,92H,82H

共陽顯示碼

DB

0F8H,80H,90H

DELAY:

MOV

R6,#0FFH

;延時(shí)子程序

D1:

MOV

R5,#0FFH

D2:

DJNZ

R5,D2

DJNZ

R6,D1

MOV

30H,7EH

MOV

31H,7DH

MOV

32H,7CH

MOV

33H,7BH

MOV

34H,7AH

MOV

35H,79H

RET

---------------------------------

COMP:

MOV

R1,#40H

MOV

A,@R1

CJNE

A,30H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,31H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,32H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,33H,

MORE

INC

R1

MOV

A,@R1

CJNE

A,34H,

MORE

SJMP

K

MORE:

INC

R3

CLR

P3.2

K:

RET

END

七、

系統(tǒng)調(diào)試

電子密碼鎖主要由矩陣鍵盤,LED數(shù)碼顯示器,提示燈,單片機(jī)程序組成。

調(diào)試部分主要是數(shù)碼顯示和程序細(xì)節(jié)的調(diào)試。數(shù)碼管調(diào)試主要是看其能否完整顯示6位數(shù)字。不可以顯示只能重新?lián)Q過。

程序的調(diào)試是比較復(fù)雜的部分,它又可以分為比較部分和鍵盤部分。

首先在輸入程序時(shí),應(yīng)該先輸入鍵盤部分,然后單獨(dú)運(yùn)行鍵盤程序看鍵盤輸入時(shí)數(shù)碼管能否顯示出與鍵盤輸入的數(shù)字相對(duì)應(yīng)的數(shù)字。

然后以鍵盤程序?yàn)橹鞒绦?,把比較部分的程序作為子程序輸入。那是由于鍵盤程序中我們所輸入的數(shù)字存在79H~7EH顯示緩存中只能在鍵盤程序中被調(diào)用,如果把鍵盤程序作為子程序,那我們?cè)诒容^部分中要掉用顯示緩存中的數(shù)據(jù)便不可行。

比較部分時(shí)遇到最大的問題就是把密碼部分與我們輸入的數(shù)據(jù)作比較,而2個(gè)數(shù)據(jù)又不能直接比較,因此需要一個(gè)中間量,我們?nèi)寄存器作為密碼的存放位置,然而當(dāng)我們輸入

MOV

A,40H(密碼地址)

COMP1:

CJNE

A,7EH,ONCE時(shí),A中卻不能出現(xiàn)40H單元中的數(shù)據(jù),這樣無論怎么比較都是沒用的,永遠(yuǎn)都是錯(cuò)的。

八、總結(jié)與體會(huì)

以上為實(shí)習(xí)期間所設(shè)計(jì)的基于8051單片機(jī)電子密碼鎖電路,它經(jīng)過多次修改和整理,以是一個(gè)比較不錯(cuò)的設(shè)計(jì),可以滿足人們的基本要求,但因?yàn)樗接邢?,此電路中也存在一定的問題,譬如說電路的密碼不能遺忘,一旦遺忘,就很難打開,這可以通過增加電路解決,但過于復(fù)雜,本次設(shè)計(jì)未其中;

通過這兩周的設(shè)計(jì),我們獲得巨大收獲:首先,通過學(xué)習(xí)使自己對(duì)課本上的知識(shí)可以應(yīng)用于實(shí)際,使的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論