在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            能防止多次試探密碼的51單片機(jī)密碼鎖

            作者: 時(shí)間:2011-12-28 來(lái)源:網(wǎng)絡(luò) 收藏

            1 引言

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

            2 硬件電路

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

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

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

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

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

            (5)開(kāi)鎖密碼錯(cuò)3次要報(bào)警10分鐘,報(bào)警期間輸入密碼無(wú)效,以防竊賊多次試探密碼。

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

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

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

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

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

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

            在圖1所示電路中,P1口連接8?jìng)€(gè)密碼按鍵AN1~AN8,開(kāi)鎖脈沖由P3.5輸出,報(bào)警和提示音由P3.7輸出。BL是用于報(bào)警與聲音提示的喇叭,發(fā)光管D1用于報(bào)警和提示,L是電磁鎖的電磁線(xiàn)圈。

            3 軟件設(shè)計(jì)

            圖2給出了該密碼鎖電路的軟件流程圖。圖中AA1~AA8以及START、SET、SAVE是程序中的標(biāo)號(hào),是為了理解程序而專(zhuān)門(mén)標(biāo)在流程圖的對(duì)應(yīng)位置的,分析程序時(shí)可以仔細(xì)對(duì)照參考。

            3.1 存儲(chǔ)單元的分配

            該密碼鎖中RAM存儲(chǔ)單元的分配方案如下:

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

            R0:指向密碼地址;

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

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

            R4至R7:延時(shí)用;

            00H:錯(cuò)碼標(biāo)志位。

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

            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

            AJMP SET

            SAVE: ACALL BP

            MOV @R0A

            INC R0

            DJNZ R2,SET

            MOV R5,#16

            D2S: ACALL BP

            DJNZ R5,D2S

            MOV R0,#31H

            MOV R3,#3

            AA1: MOV R2,#8

            AA2: MOV P1,#0FFH

            MOV A,P1

            CJNE A,#0FFH, L9

            AJMP AA2

            L9 ACALL DELAY

            CJNE A,#0FFH,AA3

            AJMP AA2

            AA3: ACALL BP

            CLR C

            SUBB A, @R0

            INC R0

            CJNE A,#00H,AA4

            AJMP AA5

            AA4: SETB 00H

            AA5: DJNZ R2,AA2

            JB 00HAA6

            CLR P3.5

            L3 MOV R5,#8

            ACALL BP

            DJNZ R4,L3

            MOV R3,#3

            SETB P3.5

            AJMP AA1

            AA6: DJNZ R3,AA7

            MOV R5,#24

            L5: MOV R4,#200

            L4: ACALL BP

            DJNZ R4,L4

            DJNZ R5,L5

            MOV R3,#3

            AA7: MOV R5,#40

            ACALL BP

            DJNZ R5,AA7

            AA8: CLR 00H

            AJMP AA1

            BP: CLR P3.7

            MOV R7,#250

            L2: MOV R6,#124

            L1: DJNZ R6,L1

            CPL P3.7

            DJNZ R7,L2

            SETB P3.7

            RET

            DELAYMOV R7,#20

            L7: MOV R6,#125

            L6: DJNZ R6,L6

            DJNZ R7,L7

            RET

            END

            4 應(yīng)用說(shuō)明

            若按鍵AN1~AN7分別代表數(shù)碼1~7,按鍵AN0代表數(shù)碼8。在沒(méi)有鍵按下時(shí),P1.0~P1.7全是高電平1,若某個(gè)鍵被按下,相應(yīng)的口線(xiàn)就變?yōu)榈碗娖剑?。假如設(shè)定的密碼是61234578,當(dāng)按鍵AN6被按下時(shí),P1.6變?yōu)榈碗娖剑校倍丝谄溆嗫诰€(xiàn)為高電平,此時(shí)從P1端口讀入的數(shù)值為10111111,存到31H單元的密碼值就是10111111,也就是BFH。依此類(lèi)推,存到32H至38H單元的密碼值分別是FDH、FBH、F7H、EFH、DFH、7FH、FEH。開(kāi)鎖時(shí)必須先按AN6,使從P1口讀入的第一個(gè)密碼值與31H單元存儲(chǔ)的設(shè)定值相同,再順序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能開(kāi)鎖。否則不能開(kāi)鎖,同時(shí)開(kāi)始報(bào)警。




            關(guān)鍵詞: 單片機(jī) 密碼鎖 密碼

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉