當前位置:編程學習大全網 - 編程語言 - 數字密碼鎖的設計,純數字的,急用···

數字密碼鎖的設計,純數字的,急用···

1.1 電子密碼鎖概述

隨著社會物質財富的日益增長和人們生活水平的提高,安全成為現代居民最關心的問題之壹。而鎖自古以來就是把守門的鐵將軍,人們對它要求甚高,即要求可靠地防盜,又要使用方便,這也是制鎖者長期以來研制的主題。傳統的門鎖既要備有大量的鑰匙,又要擔心鑰匙丟失後的麻煩。另外,如:賓館、辦公大樓、倉庫、保險櫃等,由於裝修施工等人住時也要把原有的鎖膽更換,況且鑰匙隨身攜帶也諸多便。隨著單片機的問世,出現了帶微處理器的密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化、科技化等功能。從而使密碼鎖具有很高的安全性、可靠性。目前西方發達國家已經大量應用智能門禁系統,可以通過多種的更加安全更加方便可靠的方法來實現大門的管理。但電子密碼鎖在我國的應用還不廣泛,成本還很高,希望通過不斷地努力使電子密碼鎖能夠在我國及居民日常生活中得到廣泛應用,這也是壹個國家生活水平的體現。

很多行業的許多地方都要用到密碼鎖,隨著人們生活水平的提高,如何實現家庭或公司的防盜這壹問題也變的尤其突出,傳統的機械鎖由於其構造簡單,被撬的事件屢見不鮮,再者,普通密碼鎖的密碼容易被多次試探而破譯,所以,考慮到單片機的優越性,壹種基於單片機的電子密碼鎖應運而生。電子密碼鎖由於其保密性高,使用靈活性好,安全系數高,受到了廣大用戶的親睞。

設計本課題時構思的方案:采用以AT89C2051為核心的單片機控制方案;能防止多次試探而不被破譯,從而有效地克服了現實生活中存在的許多缺點。

1.2 本設計主要任務

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

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

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

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

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

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

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

(8)密碼設定完畢後要有2秒的提示音。

以上是初步設定的電子密碼鎖的主要功能。

1.3 系統主要功能

本系統主要由單片機系統、鍵盤、報警系統組成。系統能完成開鎖、超時報警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,還具有調電存儲、聲光提示等功能,依據實際的情況還可以添加遙控功能。本系統成本低廉,功能實用。

第1節 電子密碼鎖硬件設計

2.1 系統的硬件構成及功能

根據總體要求分析,該密碼鎖電路所需要的I/O口線少於15個,所以可選擇質優價廉的AT89C2051,而且不需要外接程序存儲器和數據存儲器及其它擴展部件。

電子密碼鎖由電路和機械兩部分組成,此次設計的電子密碼鎖可以完成密碼的修改、設定及非法入侵報警、驅動外圍電路等功能。從硬件上看,它由六部分組成,分別是:LED顯示器,顯示亮度均勻,顯示管各段不隨顯示數據的變化而變化,且價格低廉,它用於顯示鍵盤輸入的相應信息;無須再加外部EPROM存儲器,且外圍擴展器件較少的AT89C52單片機是整個電路的核心部分;振蕩電路為CPU產生賴以工作的時序;顯示燈是通過CPU輸出的壹個高電平,通過三極管放大,驅動繼電器吸合,使外加電壓與發光二極管導通,從而使發光二極管發光,電機工作。現在來進行修改密碼操作。修改密碼實質就是輸入的新密碼去取代原來的舊密碼。密碼的存儲用來存儲壹位地址加1,密碼位數減1,當八個地址均存入壹位密碼,即密碼位數減為零時,密碼輸入完畢,此時按下確認鍵,新密碼產生,跳出子程序。為防止非管理員任意的進行密碼修改,必須輸入正確密碼後,按修改密碼鍵,才能重新設置密碼。密碼輸入值的比較主要有兩部分,密碼位數與內容任何壹個條件不滿足,都將會產生出錯信息。當連續三次輸入密碼出錯時,就會出現報警信息,LED顯示出錯信息,蜂鳴器鳴叫,提醒人註意。

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

圖1 電子密碼鎖硬件電路圖

2.2.1AT89C2051單片機及其引腳說明

AT89C2051單片機是51系列單片機的壹個成員,是8051單片機的簡化版與Intel MCS-51系列單片機的指令和輸出管腳相兼容。由於將多功能八位CPU和閃速存儲器結合在單個芯片中,因此,AT89C2051構成的單片機系統是具有結構最簡單、造價最低廉、效率最高的微控制系統,省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節省了成本,提高了系統的性價比。內部自帶2K字節可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,

AT89C2051是壹個有20個引腳的芯片,引腳配置如圖2所示。與8051相比,AT89C2051減少了兩個對外端口(即P0、P2口),使它最大可能地減少了對外引腳下,因而芯片尺寸有所減小。

圖2 AT89C2051引腳配置

AT89C2051芯片的20個引腳功能為:

VCC 電源電壓。

GND 接地。

RST 復位輸入。當RST變為高電平並保持2個機器周期時,所有I/O引腳復

至“1”。

XTAL1 反向振蕩放大器的輸入及內部時鐘工作電路的輸入。

XTAL2 來自反向振蕩放大器的輸出。

P1口 8位雙向I/O口。引腳P1.2~P1.7提供內部上拉,當作為輸入並被外部下拉為低電平時,它們將輸出電流,這是因內部上拉的緣故。P1.0和P1.1需要外部上拉,可用作片內精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),P1口輸出緩沖器能接收20mA電流,並能直接驅動LED顯示器;P1口引腳寫入“1” 後,可用作輸入。在閃速編程與編程校驗期間,P1口也可接收編碼數據。

P3口 引腳P3.0~P3.5與P3.7為7個帶內部上拉的雙向I/0引腳。P3.6在內部已與片內比較器輸出相連,不能作為通用I/O引腳訪問。P3口的輸出緩沖器能接收20mA的灌電流;P3口寫入“1”後,內部上拉,可用輸入。P3口也可用作特殊功能口,功P3口同時也可為閃速存儲器編程和編程校驗接收控制信號。

P3口特殊功能

P3口引腳 特殊功能

P3.0 RXD(串行輸入口)

P3.1 TXD(串行輸出口)

P3.2 INT0(外部中斷0)

P3.3 INT1(外部中斷1)

P3.4 T0(定時器0外部輸入)

P3.5 T1(定時器1外部輸入)

第3節 系統的軟件設計

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

3.1 系統主程序設計流程圖(見附頁)

3.2 軟件設計思想

軟件任務分析環節是為軟件設計做壹個總體規劃。從軟件的功能來看可分為兩大類:壹類是執行軟件,它能完成各種實質性的功能(如計算、顯示、輸出控制和通信等);另壹類是監控軟件,它是專門用來協調各執行模塊和操作者的關系,在系統軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色;執行軟件的設計偏重算法效率,與硬件關系密切,千變萬化;監控軟件著眼全局,主要處理人機關系,特點是邏輯嚴密、千頭萬緒。

本設計要完成的軟件任務主要有:壹是鍵盤輸入的識別;二是8位LED的顯示;三是密碼的比較、修改、存儲;;四是報警和開鎖控制電平的輸出。

根據以上任務,結合硬件結構,可以將鍵盤輸入的識別用來作為系統的監控程序(主程序),用顯示程序來延時,不斷查詢鍵盤。如果有鍵按下,就得到相應的鍵值。結合當前系統所處的狀態,調用不同的操作模塊,實現相應的功能。而執行模塊主要有數字輸入模塊、確定鍵模塊、修改鍵模塊、顯示模塊及報警模塊。

3.3 存儲單元的分配

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

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

R0:指向密碼地址;

R2:已經鍵入密碼的位數;

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

R4至R7:延時用;

00H:錯碼標誌位。

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

3.4 系統源程序

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

RET

DELAY MOV R7,#20

L7:MOV R6,#125

L6:DJNZ R6,L6

DJNZ R7,L7

RET

END

3.5 應用說明

若按鍵AN1~AN7分別代表數碼1~7,按鍵AN0代表數碼8。在沒有鍵按下時,P1.0~P1.7全是高電平1,若某個鍵被按下,相應的口線就變為低電平0。假如設定的密碼是61234578,當按鍵AN6被按下時,P1.6變為低電平,P1端口其余口線為高電平,此時從P1端口讀入的數值為10111111,存到31H單元的密碼值就是10111111,也就是BFH。依此類推,存到32H至38H單元的密碼值分別是FDH、FBH、F7H、EFH、DFH、7FH、FEH。開鎖時必須先按AN6,使從P1口讀入的第壹個密碼值與31H單元存儲的設定值相同,再順序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能開鎖。否則不能開鎖,同時開始報警。

3.6 小結

該電子密碼鎖能充分利用了51系統單片機軟、硬件資源,引入了智能化分析功能,提高了系統的可靠性和安全性,另外,電子密碼鎖若與串行通信結合在壹起將會成為賓館、工廠、學校等需要進行統壹管理的建築群不可缺的商品。

機電壹體化的電子密碼鎖,其功能大大超過彈子鎖,且性能更穩定、更安全。其特點,首先保密性好,其次編碼可變;其三誤碼輸入保護;其四停電不掉碼;其五多種密碼開鎖方式,使用方便,沒有單人開鎖、二三人多種開鎖方式。由於自身的優勢,電子密碼鎖會受到越來越多人們的歡迎,使用會越來越廣泛,同時,也將會被社會所接受認可,並與彈子鎖平分秋色。

  • 上一篇:java開發工程師就業形勢
  • 下一篇:學習java最重要的思想是什麽
  • copyright 2024編程學習大全網