久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7634|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

AT89C2051單片機(jī)組成的可修改密碼的密碼鎖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2014-11-8 13:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
       這款由AT89C2051單片機(jī)組成的可修改密碼的密碼鎖是一種能防止多次試探密碼的基于單片機(jī)的密碼鎖設(shè)計(jì)方案,根據(jù)用戶的10條總體要求,給出了該單片機(jī)密碼鎖的硬件電路和軟件程序,同時(shí)給出了單片機(jī)型號(hào)的選擇、硬件設(shè)計(jì)、軟件流程圖、單片機(jī)存儲(chǔ)單元的分配、匯編語(yǔ)言源程序及詳細(xì)注釋等內(nèi)容。很多行業(yè)的許多地方都需要密碼鎖,但普通密碼鎖的密碼容易被多次試探而破譯。本文給出了一種能防止多次試探密碼的密碼鎖設(shè)計(jì)方法,從而有效地克服了上述缺點(diǎn)。       硬件電路

       圖1所示是筆者設(shè)計(jì)的一種密碼鎖電路。該密碼鎖主要 是以下10條特點(diǎn):
     (1)總共可以設(shè)置8位密碼,每位的取值范圍為1~8。
     (2)用戶可以自行設(shè)定和修改密碼。
     (3)按每個(gè)密碼鍵時(shí)都有聲音提示。
     (4)若鍵入的8位開(kāi)鎖密碼不完全正確,則報(bào)警5秒鐘,以提醒他人注意。
     (5)開(kāi)鎖密碼連續(xù)錯(cuò)3次要報(bào)警1分鐘,報(bào)警期間輸入密碼無(wú)效,以防竊賊多次試探密碼。
     (6)鍵入的8位開(kāi)鎖密碼完全正確才能開(kāi)鎖,開(kāi)鎖時(shí)要有1秒的提示音。
     (7)電磁鎖的電磁線圈每次通電5秒,然后恢復(fù)初態(tài)。
     (8)密碼鍵盤(pán)上只允許有8個(gè)密碼按鍵。鎖內(nèi)有備用電池,只有內(nèi)部上電復(fù)位時(shí)才能設(shè)置或修改密碼,因此,僅在門(mén)外按鍵是不能修改或設(shè)置密碼的。
     (9)密碼設(shè)定完畢后要有2秒的提示音。
     (10)成本低,硬件和軟件都很簡(jiǎn)潔可靠,易于批量生產(chǎn)。
       圖1 電磁鎖原理圖

  在圖1所示電路中,P1口連接8個(gè)密碼按鍵AN1~AN8,開(kāi)鎖 信號(hào)由P3.2輸出,報(bào)警和提示音由P3.7輸出。BL是用于報(bào)警與聲音提示的喇叭,K是繼電器控制電磁線圈。
       軟件設(shè)計(jì)


  圖2給出了該單片機(jī)密碼鎖電路的軟件流程圖。圖中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)始存放主程序。
       源程序

       下面是該電子密碼鎖的軟件源程序代碼:
                 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
                 A JMP 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
                 CLRC
                 SUBB A, @R0
I                NC 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

      若按鍵AN1~AN7分別代表數(shù)碼1~7,按鍵AN0代表數(shù)碼8。
      在沒(méi)有鍵按下時(shí),P1.0~P1.7全是高電平1,若某個(gè)鍵被按下,相應(yīng)的口線就變?yōu)榈碗娖?。
      假如設(shè)定的密碼是61234578,當(dāng)按鍵AN6被按下時(shí),P1.6變?yōu)榈碗娖?P1端口其余口線為高電平,此時(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)警。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:99341 發(fā)表于 2017-4-6 10:17 | 只看該作者
這個(gè)不錯(cuò),值得收藏
回復(fù)

使用道具 舉報(bào)

板凳
ID:72088 發(fā)表于 2017-4-7 14:30 | 只看該作者
at2051沒(méi)有EPROM,如何記憶密碼,用戶如何修改?應(yīng)該加上24C02才對(duì)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久久久国产精华液 | 亚洲性在线 | 一级片在线观看 | 欧美8一10sex性hd| www.蜜桃av| 久久综合国产精品 | 欧美激情一区二区三区 | 久久草在线视频 | 精品国产一区二区三区久久狼黑人 | 欧美日韩不卡 | 欧美一级免费看 | 日韩中文字幕 | 久久国产精品一区二区三区 | 韩日精品视频 | 影音先锋男 | 久久小视频| 操久久| 最新超碰 | 日韩成人 | 久久久国产精品 | 久久精品国产免费 | 免费一级黄色电影 | 91影库| 久久免费大片 | 狠狠操狠狠操 | 国产美女自拍视频 | 水蜜桃久久夜色精品一区 | 亚洲精品久久久一区二区三区 | 在线免费视频一区 | 欧美一级精品片在线看 | 久久99精品久久久久 | 亚洲精品久久久久久久久久久 | 国产成人99久久亚洲综合精品 | 国产综合久久久久久鬼色 | 性一交一乱一透一a级 | www.久久久久久久久 | 影视先锋av资源噜噜 | 久久综合av | 精品中文视频 | 久久精品一 | 免费国产一区二区 |