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

下載本文檔

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

文檔簡介

千里之行,始于足下。第2頁/共2頁精品文檔推薦單片機(jī)電子密碼鎖的設(shè)計(匯編語言)一、設(shè)計總講明

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

本次基于8051單片機(jī)電子密碼鎖的設(shè)計,其要緊具有如下功能:(1)設(shè)置6位密碼,密碼經(jīng)過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼能夠由用戶自個兒修改設(shè)定(只支持6位密碼),鎖打開后才干改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確以防止誤操作。

(3)報警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當(dāng)延續(xù)3次輸入錯誤密碼,系統(tǒng)聲光報警。

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

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

密碼鎖設(shè)計的關(guān)鍵咨詢題是實現(xiàn)密碼的輸入、清除、更改、開鎖等功能:(1)密碼輸入功能:按下一具數(shù)字鍵,一具“-”就顯示在最右邊的數(shù)碼管上,并且將先前輸入的所有“-”向左挪移一位。

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

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

(4)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼舉行檢查核對,假如確鎖打開,否則別打開。

要緊的設(shè)計實施過程:首先,選用8051單片機(jī),以及選購其他電子元器件。第二步,設(shè)計硬件電路。第三步,編寫單片機(jī)語言實現(xiàn)功能。第四部,分不舉行軟件和硬件的調(diào)試。最終,聯(lián)合軟、硬件調(diào)試整個系統(tǒng),完成本次課程設(shè)計。關(guān)鍵詞:4×4矩陣鍵盤;8051單片機(jī);密碼鎖;密碼二次確認(rèn)‘

二、緒論

2.1背景

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

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

2.2電子鎖

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

電子鎖的發(fā)明思路,源自古代發(fā)明的自動機(jī)械,例如古希臘數(shù)學(xué)家赫倫的液壓自動門,中國古代諸葛亮的木牛流馬,它們以重力或蒸汽壓力驅(qū)動,最廣泛的用途乃是用在古代墓道的地

下機(jī)關(guān)。電子工業(yè)的誕生,使得以弱小電量驅(qū)動機(jī)械成為也許,于是有了電子鎖一日千里的躍進(jìn)。

三、課題要求

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

(1)設(shè)置6位密碼,密碼經(jīng)過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼能夠由用戶自個兒修改設(shè)定(只支持6位密碼),鎖打開后才干改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確以防止誤操作。

(3)報警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當(dāng)延續(xù)3次輸入錯誤密碼,系統(tǒng)聲光報警。

四、課題分析

電路要緊包括矩陣鍵盤輸入密碼,外部密碼驗證,單片操縱,原理方框圖如下:

4.1矩陣鍵盤輸入操縱電路

設(shè)計方案是非編碼鍵盤,每條行線和列線都對應(yīng)一條I/O口線,鍵位設(shè)在行線和列線的交叉點,當(dāng)一具鍵按下就會有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個I/O口線,就能夠確定哪一具鍵被觸動。行線設(shè)計成上拉口線,初始時被置高電位,列線懸空,初始置低。經(jīng)過別斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。當(dāng)發(fā)覺有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當(dāng)某條列線置低時,某條行線也被拉低,則確定這兩條線的交點處的按鈕被按下。將每個行線和列線的組合值作成列表,每次就能夠經(jīng)過查表確定鍵位,以決定之后要舉行的操作。

五、課題方案挑選

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

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

方案三:使用8051單片機(jī),利用基于單片機(jī)的C語言編寫程序,經(jīng)過KeilC51uVision2軟件舉行仿真模擬。

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

上所述,使用方案一,設(shè)計較為簡便,調(diào)試簡單,硬件電路較少,易于維護(hù)。

六、程序部分

ORG1000H

MOVR4,#08H密碼個數(shù)8個

MOVR0,#40H密碼暫存區(qū)

MOVA,#00H初始密碼0,1,2,3,4,5

GO:MOV@R0,A

INCR0

INCA

DJNZR4,GO

SETBP3.0;確認(rèn)

SETBP3.1鎖開

SETBP3.2錯誤

SETBP3.4報警

MOVR0,#20H

MOVA,#03H

MOV@R0,A;8155初始化

MOVR0,#79H

MOVR7,#06H

INIT:MOV@R0,#0;顯示緩沖區(qū)清零

INCR0

DJNZR7,INIT

LOP:LCALLDISP

LCALLKEYB

JBACC.4,LOP;未按鍵返回

MOVR0,#7EH

MOVR7,#05H

PUSHA

SETD:DECR0

MOVA,@R0

INCR0

MOV@R0,A

DECR0

DJNZR7,SETD

POPACC

MOV@R0,A

MOV7DH,7CH

CJNE,A,#0AH,LOP

CLRP3.0

ACALLCOMP

CJNER3,#03H,LOP

CLRP3.4

SJMPLOP

KEYB:LCALLBKS;按鍵處理子程序

JNZBLK1

LCALLDISP

SJMPKEYB

BLK1:LCALLDISP

LCALLDISP

LCALLBKS

JNZBLK2

LCALLDISP

SJMPKEYB

BLK2:MOVR2,#0FEH

MOVR4,#0

BLK4:MOVR1,#21H

MOVA,R2

MOVX@R1,A

MOVR1,#23H

MOVXA,@R1

JBACC.0,BL1

MOVA,#0

SJMPBLKP

BL1:JBACC.1,BL2

MOVA,#08H

SJMPBLKP

BL2:JBACC.2,BL3

MOVA,#10H

SJMPBLKP

BL3:JBACC.3,BL

MOVA,#18H

BLKP:ADDA,R4

PUSHACC

BLK3:LCALLDISP

LCALLBKS

JNZBLK3

POPACC

CJNEA,#10H,PP

PP:JNCPP1

MOVDPTR,#TBL

MOVCA,@A+DPTR

PP1:RET

TBL:DB07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00HDB02H,0FH,03H,0EH,0CH,0DH

BL:INCR4

MOVA,R2

JNBACC.7,BKLD

RLA

MOVR2,A

SJMPBLK4

BLKD:SJMPKEYB

BKS:MOVR1,#21H

MOVA,#0

MOVX@R1,A

MOVR1,#23H

MOVXA,@R1

CPLA

ANLA,#0FH

RET

DISP:MOVR0,#79H

MOVR3,#20H

BTL:MOVA,R3

MOVR1,#21H

MOVX@R1,A;送位選碼到PA口

MOVA,@R0

MOVDPTR,#TAB1

MOVCA,@A+DPTR查表

INCR1

MOVX@R1,A;送顯示碼到PB口

LCALLDELAY;延時

INCR0MOVA,R3

JBACC.0,HERE;一輪顯示完到HERE

RRA

MOVR3,A

SJMPBTL;接著本輪顯示

HERE:RET

TAB1:DB0C0H,0F9,0A4H,0B0H,99H,92H,82H共陽顯示碼DB0F8H,80H,90H

DELAY:MOVR6,#0FFH;延時子程序

D1:MOVR5,#0FFH

D2:DJNZR5,D2

DJNZR6,D1

MOV30H,7EH

MOV31H,7DH

MOV32H,7CH

MOV33H,7BH

MOV34H,7AH

MOV35H,79H

RET

COMP:MOVR1,#40H

MOVA,@R1

CJNEA,30H,MORE

INCR1

MOVA,@R1

CJNEA,31H,MORE

INCR1

MOVA,@R1

CJNEA,32H,MORE

INCR1

MOVA,@R1

CJNEA,33H,MORE

INCR1

MOVA,@R1

CJNEA,34H,MORE

SJMPK

MORE:INCR3

CLRP3.2

K:RET

END

ORG1000H

MOVR4,#08H密碼個數(shù)8個

MOVR0,#40H密碼暫存區(qū)

MOVA,#00H初始密碼0,1,2,3,4,5GO:MOV@R0,A

INCR0

INCA

DJNZR4,GO

SETBP3.0;確認(rèn)

SETBP3.1鎖開

SETBP3.2錯誤

SETBP3.4報警

MOVR0,#20H

MOVA,#03H

MOV@R0,A;8155初始化

MOVR0,#79H

MOVR7,#06H

INIT:MOV@R0,#0;顯示緩沖區(qū)清零

INCR0

DJNZR7,INIT

LOP:LCALLDISP

LCALLKEYB

JBACC.4,LOP;未按鍵返回

MOVR0,#7EH

MOVR7,#05H

PUSHA

SETD:DECR0

MOVA,@R0

INCR0

MOV@R0,A

DECR0

DJNZR7,SETD

POPACC

MOV@R0,A

MOV7DH,7CH

CJNE,A,#0AH,LOP

CLRP3.0

ACALLCOMP

CJNER3,#03H,LOP

CLRP3.4

SJMPLOP

KEYB:LCALLBKS;按鍵處理子程序

JNZBLK1

LCALLDISP

SJMPKEYB

BLK1:LCALLDISP

LCALLDISP

LCALLBKS

JNZBLK2

LCALLDISP

SJMPKEYB

BLK2:MOVR2,#0FEH

MOVR4,#0

BLK4:MOVR1,#21H

MOVA,R2

MOVX@R1,A

MOVR1,#23H

MOVXA,@R1

JBACC.0,BL1

MOVA,#0

SJMPBLKP

BL1:JBACC.1,BL2

MOVA,#08H

SJMPBLKP

BL2:JBACC.2,BL3

MOVA,#10H

SJMPBLKP

BL3:JBACC.3,BL

MOVA,#18H

BLKP:ADDA,R4

PUSHACC

BLK3:LCALLDISP

LCALLBKS

JNZBLK3

POPACC

CJNEA,#10H,

PPPP:JNCPP1

MOVDPTR,#TBL

MOVCA,@A+DPTR

PP1:RET

TBL:DB07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00HDB02H,0FH,03H,0EH,0CH,0DH

BL:INCR4

MOVA,R2

JNBACC.7,BKLD

RLA

MOVR2,A

SJMPBLK4

BLKD:SJMPKEYB

BKS:MOVR1,#21H

MOVA,#0

MOVX@R1,A

MOVR1,#23H

MOVXA,@R1CPLA

ANLA,#0FH

RET

DISP:MOVR0,#79H

MOVR3,#20H

BTL:MOVA,R3

MOVR1,#21H

MOVX@R1,A;送位選碼到PA口

MOVA,@R0

MOVDPTR,#TAB1

MOVCA,@A+DPTR查表

INCR1

MOVX@R1,A;送顯示碼到PB口

LCALLDELAY;延時

INCR0

MOVA,R3

JBACC.0,HERE;一輪顯示完到HERE

RRA

MOVR3,A

SJMPBTL;接著本輪顯示

HERE:RET

TAB1:DB0C0H,0F9,0A4H,0B0H,99H,92H,82H共陽顯示碼

DB0F8H,80H,90H

DELAY:MOVR6,#0FFH;延時子程序

D1:MOVR5,#0FFH

D2:DJNZR5,D2

DJNZR6,D1

MOV30H,7EH

MOV31H,7DH

MOV32H,7CH

MOV33H,7BH

MOV34H,7AH

MOV35H,79H

RET

COMP:MOVR1,#40H

MOVA,@R1

CJNEA,30H,MORE

INCR1

MOVA,@R1

CJNEA,31H,MORE

INCR1

MOVA,@R1

CJNEA,32H,MORE

INCR1

MOVA,@R1

CJNEA,33H,MORE

INCR1

MOVA,@R1

CJNEA,34H,MORE

SJMPK

MORE:INCR3

CLRP3.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ù)雜的部分,它又能夠分為比較部分和鍵盤

溫馨提示

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

評論

0/150

提交評論