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

下載本文檔

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

文檔簡介

1、一、設(shè)計總說明 隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、IC卡辨認)已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識識別器若在公共場所使用存在容易機械損壞,IC卡還存在容易丟失、損壞等特點。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。 本次基于8051單片機電子密碼鎖的設(shè)計,其主要具有如下功能: (1)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。 (2)密碼可以由用戶自己修改設(shè)定(只

2、支持6位密碼),鎖打開后才能 改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確 以防止誤操作。 (3)報警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當連續(xù)3次輸入錯誤 密碼,系統(tǒng)聲光報警。 電子密碼鎖的設(shè)計主要由三部分組成:4×4矩陣鍵盤接口電路、密碼鎖 的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈等。 密碼鎖設(shè)計的關(guān)鍵問題是實現(xiàn)密碼的輸入、清除、更改、開鎖等功能: (1)密碼輸入功能:按下一個數(shù)字鍵,一個“”就顯示在最右邊的數(shù)碼 管上,同時將先前輸入的所有“”向左移動一位

3、。 (2)密碼清除功能:當按下清除鍵時,清除前面輸入的所有值,并清除所 有顯示。 (3)密碼更改功能:將輸入的值作為新的密碼。 (4)開鎖功能:當按下開鎖鍵,系統(tǒng)將輸入與密碼進行檢查核對,如果 確鎖打開,否則不打開。 主要的設(shè)計實施過程:首先,選用8051單片機,以及選購其他電子元器件。第二步,設(shè)計硬件電路。第三步,編寫單片機語言實現(xiàn)功能。第四部,分別進行軟件和硬件的調(diào)試。最后,聯(lián)合軟、硬件調(diào)試整個系統(tǒng),完成本次課程設(shè)計。 關(guān)鍵詞:4×4矩陣鍵盤;8051單片機;密碼鎖;密碼二次確認二、 緒論 

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

5、此之高?據(jù)有關(guān)專家人士剖析,彈子鎖質(zhì)量好壞主要取決于彈子數(shù)量的多少以及彈子的大小,而彈子的多少和大小受一定條件的限制。此外,即使是一把質(zhì)量過關(guān)的機械鎖,通過急開鎖,甚至可以在不損壞鎖的前提下將鎖打開。機械鎖的這些弊端為一種新型的鎖-電子密碼鎖,提供了發(fā)展的空間。 2.2          電子鎖 電子鎖是采取電子電路控制,以電磁鐵或者衛(wèi)星電機和鎖體作為執(zhí)行裝置的機電一體化鎖具,相比傳統(tǒng)的機械鎖具,電子鎖不使用金屬鑰匙,保密性、精度都有很大提高。  電子鎖的

6、發(fā)明思路,源自古代發(fā)明的自動機械,例如古希臘數(shù)學家赫倫的液壓自動門,中國古代諸葛亮的木牛流馬,它們以重力或蒸汽壓力驅(qū)動,最廣泛的用途乃是用在古代墓道的地下機關(guān)。電子工業(yè)的誕生,使得以微小電量驅(qū)動機械成為可能,于是有了電子鎖一日千里的躍進。 三、課題要求 本次課程設(shè)計,基于8051單片機電子密碼鎖的設(shè)計,利用4*4小鍵盤作為輸入,LED作為顯示。當輸入密碼和設(shè)定的密碼一致時,系統(tǒng)利用繼電器輸出解鎖信號,其主要具有如下功能: (1)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。 (2)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),鎖打開后才能

7、60;改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確 以防止誤操作。 (3)報警、鎖定鍵盤功能。密碼輸入用發(fā)光管顯示,當連續(xù)3次輸入錯誤 密碼,系統(tǒng)聲光報警。四、 課題分析 電路主要包括矩陣鍵盤輸入密碼,外部密碼驗證,單片控制,原理方框圖如下: 4.1矩陣鍵盤輸入控制電路 設(shè)計方案是非編碼鍵盤,每條行線和列線都對應一條I/O口線,鍵位設(shè)在行線和列線的交叉點,當一個鍵按下就會有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個I/O口線,就可以確定哪一個鍵被觸動。 行線設(shè)計成上拉口線,初

8、始時被置高電位,列線懸空,初始置低。通過不斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。 當發(fā)現(xiàn)有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當某條列線置低時,某條行線也被拉低,則確定這兩條線的交點處的按鈕被按下。 將每個行線和列線的組合值作成列表,每次就可以通過查表確定鍵位,以決定之后要進行的操作。 五、課題方案選擇 方案一:使用8051單片機,采用匯編語言編寫程序,該程序語言功能強大,調(diào)試較為方便,具有很強的實用性。 方案二:利用數(shù)字邏輯電路,運用電壓比較器,555單穩(wěn)態(tài)電路,計數(shù)器,JK觸發(fā)器,UPS電源等實現(xiàn)對門的電子控制。 

9、方案三:使用8051單片機,利用基于單片機的C語言編寫程序,通過Keil C51 uVision2軟件進行仿真模擬。 方案二基于數(shù)字電路,操作繁瑣,會出現(xiàn)較多的器件故障,同時調(diào)試復雜,難于維護。方案三該邏輯語言較為復雜,編寫程序時也較為復雜,還需進行軟件仿真模擬,設(shè)計復雜。綜上所述,使用方案一,設(shè)計較為簡便,調(diào)試簡單,硬件電路較少,易于維護。六、程序部分 ORG  1000H MOV R4,#08H 密碼個數(shù)8個  MOV R0,#40H 密碼暫存區(qū) &#

10、160;MOV A,#00H 初始密碼0,1,2,3,4,5  GO: MOV R0,A  INC R0  INC A  DJNZ R4,GO SETB P3.0; 確認 SETB P3.1 鎖開  SETB P3.2 錯誤 SETB P3.4 報警  MOV R0,#20H &

11、#160; MOV A,#03H    MOV R0,A  8155初始化   MOV R0,#79H   MOV R7,#06H INIT: MOV R0,#0  顯示緩沖區(qū)清零   INC R0   DJNZ R7,INIT LOP: LCALL DISP 

12、0; LCALL KEYB   JB ACC.4,LOP  未按鍵返回   MOV R0,#7EH   MOV R7,#05H        PUSH A SETD: DEC R0 MOV A,R0INC R0 MOV R0,ADEC R0 DJNZ

13、 R7,SETD POP ACC MOV R0,A MOV 7DH,7CH CJNE ,A,#0AH,LOP CLR P3.0 ACALL COMP  CJNE  R3,  #03H, LOP CLR  P3.4 SJMP LOP-KEYB: LCALL BKS  按鍵處理子程序  

14、60;JNZ BLK1   LCALL DISP  SJMP KEYB BLK1: LCALL DISP   LCALL DISP   LCALL BKS   JNZ BLK2   LCALL DISP   SJMP KEYB BLK2: MOV R2,#0F

15、EH   MOV R4,#0 BLK4: MOV R1,#21H   MOV A,R2   MOVX R1,A   MOV R1,#23H   MOVX A,R1   JB ACC.0,BL1   MOV A,#0   SJMP BLKP 

16、BL1:  JB ACC.1,BL2   MOV A,#08H   SJMP BLKP BL2: JB ACC.2,BL3   MOV A,#10H   SJMP BLKP BL3: JB ACC.3,BL   MOV A,#18H BLKP: ADD A,R4 

17、60; PUSH ACCBLK3: LCALL DISP   LCALL BKS   JNZ BLK3   POP ACC   CJNE A,#10H,PP PP:  JNC PP1   MOV DPTR,#TBL   MOVC A,A+DPTR PP1: R

18、ET TBL: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H   DB 02H,0FH,03H,0EH,0CH,0DH BL:   INC R4   MOV A,R2JNB ACC.7,BKLD   RL A   MOV R2,A   SJMP BLK4 BL

19、KD: SJMP KEYBBKS: MOV R1,#21H   MOV A,#0   MOVX R1,A   MOV R1,#23H   MOVX A,R1   CPL A   ANL A,#0FH   RET - DISP: MOV R0,#79H

20、   MOV R3,#20H BTL: MOV A,R3   MOV R1,#21H   MOVX R1,A  送位選碼到PA口   MOV A,R0  MOV DPTR,#TAB1   MOVC A,A+DPTR 查表   INC R1  

21、0;MOVX R1,A  送顯示碼到PB口   LCALL DELAY  延時   INC R0   MOV A,R3   JB ACC.0,HERE  一輪顯示完到HERE   RR A   MOV R3,A   SJMP BTL 

22、60; 繼續(xù)本輪顯示 HERE: RET TAB1: DB 0C0H,0F9,0A4H,0B0H,99H,92H,82H 共陽顯示碼   DB 0F8H,80H,90H DELAY: MOV R6,#0FFH 延時子程序  D1: MOV R5,#0FFH  D2: DJNZ R5,D2   DJNZ R6,D1 &#

23、160;     MOV 30H,7EH       MOV 31H,7DH       MOV 32H,7CH MOV 33H,7BH MOV 34H,7AH MOV 35H,79HRET - COMP: MOV  R1,#40H   &

24、#160;    MOV  A,R1        CJNE  A,30H, MORE        INC R1 MOV  A,R1        CJNE  A,31H, MORE &#

25、160;      INC R1 MOV  A,R1        CJNE  A,32H, MORE        INC R1 MOV  A,R1        CJNE &#

26、160;A,33H, MORE        INC R1 MOV  A,R1        CJNE  A,34H, MORE        SJMP K MORE: INC R3     

27、;   CLR P3.2    K: RET   END   ORG  1000H MOV R4,#08H 密碼個數(shù)8個  MOV R0,#40H 密碼暫存區(qū)  MOV A,#00H 初始密碼0,1,2,3,4,5  GO: MOV R0,A  INC

28、0;R0  INC A  DJNZ R4,GO SETB P3.0; 確認 SETB P3.1 鎖開  SETB P3.2 錯誤 SETB P3.4 報警 MOV R0,#20H   MOV A,#03H   MOV R0,A  8155初始化   MOV&#

29、160;R0,#79H   MOV R7,#06H INIT: MOV R0,#0  顯示緩沖區(qū)清零   INC R0   DJNZ R7,INITLOP: LCALL DISP   LCALL KEYB   JB ACC.4,LOP  未按鍵返回   MOV R0,#

30、7EH   MOV R7,#05H        PUSH A SETD: DEC R0 MOV A,R0 INC R0 MOV R0,A DEC R0 DJNZ R7,SETD POP ACC MOV R0,A MOV 7DH,7CH CJNE ,A,#0A

31、H,LOP CLR P3.0 ACALL COMP  CJNE  R3,  #03H, LOP CLR  P3.4 SJMP LOP   - KEYB: LCALL BKS  按鍵處理子程序   JNZ BLK1   LCALL DISP   SJM

32、P KEYB BLK1: LCALL DISP   LCALL DISP   LCALL BKS   JNZ BLK2   LCALL DISP   SJMP KEYB BLK2: MOV R2,#0FEH   MOV R4,#0 BLK4: MOV R1,#

33、21H   MOV A,R2   MOVX R1,A   MOV R1,#23H   MOVX A,R1   JB ACC.0,BL1   MOV A,#0   SJMP BLKP BL1:  JB ACC.1,BL2 MOV A,#08H 

34、0; SJMP BLKP BL2: JB ACC.2,BL3   MOV A,#10H   SJMP BLKP BL3: JB ACC.3,BL   MOV A,#18H BLKP: ADD A,R4   PUSH ACC BLK3: LCALL DISP   LCAL

35、L BKS   JNZ BLK3   POP ACC   CJNE A,#10H,PP PP:  JNC PP1   MOV DPTR,#TBL   MOVC A,A+DPTR PP1: RET TBL: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H 

36、;  DB 02H,0FH,03H,0EH,0CH,0DH BL: INC R4   MOV A,R2   JNB ACC.7,BKLD   RL A   MOV R2,A   SJMP BLK4 BLKD: SJMP KEYB BKS: MOV R1,#21H 

37、60; MOV A,#0   MOVX R1,A  MOV R1,#23H   MOVX A,R1   CPL A   ANL A,#0FH   RET - DISP: MOV R0,#79H   MOV R3,#20H BTL: MOV A,R3&

38、#160;  MOV R1,#21H   MOVX R1,A  送位選碼到PA口   MOV A,R0   MOV DPTR,#TAB1  MOVC A,A+DPTR 查表INC R1   MOVX R1,A  送顯示碼到PB口   LCALL DELAY  

39、延時   INC R0   MOV A,R3   JB ACC.0,HERE  一輪顯示完到HERE   RR A   MOV R3,A   SJMP BTL   繼續(xù)本輪顯示 HERE: RET TAB1: DB 0C0H,0F9,0A4H,0B0H,99H

40、,92H,82H 共陽顯示碼   DB 0F8H,80H,90H DELAY: MOV R6,#0FFH 延時子程序  D1: MOV R5,#0FFH  D2: DJNZ R5,D2   DJNZ R6,D1        MOV 30H,7EH    &#

41、160;   MOV 31H,7DH        MOV 32H,7CH MOV 33H,7BH MOV 34H,7AH MOV 35H,79H RET - COMP: MOV  R1,#40H        MOV  A,R1 

42、0;     CJNE  A,30H, MORE        INC R1 MOV  A,R1        CJNE  A,31H, MORE        INC R1 MOV

43、0; A,R1        CJNE  A,32H, MORE        INC R1 MOV  A,R1        CJNE  A,33H, MORE        INC 

溫馨提示

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

評論

0/150

提交評論