新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 防止多次試探密碼的單片機密碼鎖方案介紹

防止多次試探密碼的單片機密碼鎖方案介紹

作者: 時間:2012-06-06 來源:網(wǎng)絡(luò) 收藏

摘要:提出了一種能多次的基于設(shè)計,根據(jù)用戶的10條總體要求,給出了該的硬件電路和軟件程序,同時給出了型號的選擇、硬件設(shè)計、軟件流程圖、單片機存儲單元的分配、匯編語言源程序及詳細注釋等內(nèi)容。

本文引用地址:http://m.butianyuan.cn/article/171337.htm

1 引言

很多行業(yè)的許多地方都需要,但普通密碼鎖的密碼容易被多次而破譯。本文給出了一種能多次密碼的密碼鎖設(shè)計方法,從而有效地克服了上述缺點。

2 硬件電路

圖1所示是筆者設(shè)計的一種密碼鎖電路。該密碼鎖主要是按照以下10條用戶要求進行設(shè)計的:

(1)共8位密碼,每位的取值范圍為1~8。

(2)用戶可以自行設(shè)定和修改密碼。

(3)按每個密碼鍵時都有聲、光提示。

(4)若鍵入的8位開鎖密碼不完全正確,則報警5秒鐘,以提醒他人注意。

(5)開鎖密碼錯3次要報警10分鐘,報警期間輸入密碼無效,以防竊賊多次試探密碼。

(6)鍵入的8位開鎖密碼完全正確才能開鎖,開鎖時要有1秒的提示音。

(7)電磁鎖的電磁線圈必須用脈沖驅(qū)動,每次通電時間不多于2秒,以防燒壞。

(8)密碼鍵盤上只允許有8個密碼按鍵和1個發(fā)光管。鎖內(nèi)有備用電池,只有內(nèi)部上電復(fù)位時才能設(shè)置或修改密碼,因此,僅在門外按鍵是不能修改或設(shè)置密碼的。

(9)密碼設(shè)定完畢后要有2秒的提示音。

(10)成本要比較低,硬件和軟件都要盡可能簡潔可靠,易于批量生產(chǎn)。

根據(jù)總體要求分析,該密碼鎖電路所需要的I/O口線少于15個,若設(shè)計得當,程序不會超過200條指令,所以可選擇質(zhì)優(yōu)價廉的AT89C1051/2051或者GMS1051/2051,而且不需要外接程序存儲器和數(shù)據(jù)存儲器及其它擴展部件。

在圖1所示電路中,P1口連接8個密碼按鍵AN1~AN8,開鎖脈沖由P3.5輸出,報警和提示音由P3.7輸出。BL是用于報警與聲音提示的喇叭,發(fā)光管D1用于報警和提示,L是電磁鎖的電磁線圈。

3 軟件設(shè)計

圖2給出了該單片機密碼鎖電路的軟件流程圖。圖中?AA1~AA8以及START、SET、SAVE是程序中的標號,是為了理解程序而專門標在流程圖的對應(yīng)位置的,分析程序時可以仔細對照參考。

3.1 存儲單元的分配

該密碼鎖中RAM存儲單元的分配如下:

31H~38H:依次存放8位設(shè)定的密碼,首位密碼存放在31H單元;

R0:指向密碼地址;

R2:已經(jīng)鍵入密碼的位數(shù);

R3:存放允許的錯碼次數(shù)3與實際錯碼次數(shù)的差值;

R4至R7:延時用;

00H:錯碼標志位。

對于ROM存儲單元的分配,由于程序比較短,而且占用的存儲空間比較少,因此,在無特殊要求時,可以從0030H單元(其它地址也可以)開始存放主程序。

3.2 源程序

下面是該電子密碼鎖的軟件源程序代碼:

ORG 0000H

AJMP START

ORG 0030H

START:ACALL BP

MOV R0,#31H

MOV R2,#8

SET: MOV P1,#0FFH

MOV A,P1

CJNE A,#0FFH,L8

AJMP SET

L8: ACALL DELAY

CJNE A,#0FFH,SAVE


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉