基于51單片機電子密碼鎖設計_第1頁
基于51單片機電子密碼鎖設計_第2頁
基于51單片機電子密碼鎖設計_第3頁
基于51單片機電子密碼鎖設計_第4頁
基于51單片機電子密碼鎖設計_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于51單片機電子密碼鎖設計目錄1緒論 11.1引言 11.2電子密碼鎖的背景 11.3電子鎖設計的意義的本設計特點 22.系統設計 32.1系統總設計結構圖 32.2.開鎖機構設計 32.2.1主控芯片AT89C51單片機的簡介 43系統硬件設計 73.1鍵盤設計 73.2系統電路設計: 83.2.1晶振時鐘電路 83.2.2復位電路設計 93.2.3串口引腳功能介紹 93.2.4其它引腳 93.3電路圖的繪制 93.3.1 PROTEL99SE簡介: 123.4原器件采購 143.5電路焊接 144.軟件設計 174.1系統軟件設計整體思路 174.2系統軟件設計流程圖 185程序調試 195.1程序調試用到的軟件及工具 195.2KEILC51簡介 195.3調試過程 196設計總結與展望 22致謝 23參考文獻 24附錄 25(1)系統設置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼由用戶自己設定,在開鎖狀態下,用戶可自行修改密碼。(3)具有自動報警功能。自動報警分現場報警和遠程報警兩種。現場報警由揚聲器發出報警聲。(4)兩種情況下可報警:一是密碼輸入錯誤3次,則報警;二是非正常開門,如破門而入的情況,可通過系統的紅外監視裝置監測,同時報警,保證了系統的安全性。系統工作時,用戶通過按鍵輸入4位密碼,單片機將輸入密碼與設定密碼進行比較,若密碼正確,則發出開鎖信號,將門打開,系統不報警;若密碼不正確,則有相應的指示燈閃動,并要求重新輸入密碼,重新輸入密碼的次數不能超過3次,若3次輸入的密碼都不正確,則發出報警信號。2.系統設計2.1系統總設計結構圖數碼管及LED燈顯示數碼管及LED燈顯示路單片機AT89C51路單片機AT89C51密碼輸入設備開鎖機構開鎖機構圖2-1系統總設計結構圖本設計由主控芯片51單片機,單片機時鐘電路,鍵盤,和開鎖電路組成。單片負責控制整個系統的執行過程。3系統硬件設計3.1鍵盤設計為了使本電路更加簡潔,本電子鎖的密碼鎖采用簡單易學但不為多數人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設備只需要一個按即可實現密碼的輸入與更改。關于摩斯碼的介紹如下:摩斯密碼是20世紀使用較為廣泛的電報傳輸使用的一種編碼。電報最早是由美國的摩爾斯在1844年發明的,故也被叫做摩爾斯電碼。它由一個輸入按鍵在輸入時按住的間隔時間長短組成來決定你的輸入:短促的點信號".",讀"嘀"(Di);保持一定時間的長信號"—",讀"嗒"(Da)。間隔時間:"嘀"1t;"嗒"3t;"滴嗒"間1t;字母間3t;字間5t。表3-1字符—摩斯碼對照表字符摩斯碼字符摩斯碼字符摩斯碼A._M__Y_.__B_...N_.Z__..C_._.O___1.____D_..P.__.2..__E.Q__._3...__F.._.R._.4...._G__.S...5.....H....T_6_....I..U.._7__...J.___V..._8___..K_._W.__9____.L._..X_.._0_____注:摩斯碼用在數字電路中“-”表示1,“.”表示0,如0翻譯成二進制數為11111H,十六進制數為1FH。本電路設計只取0~9數字作密碼有效數字,如果輸入其它字符則無效。表3-2本設計用到的數字的摩斯碼和二進制對照數字0123456789摩斯碼111110111100111000110000100000100001100011100111102進制111110111100111000110000100000100001100011100111103.2系統電路設計:本系統電路主芯片AT89C51,晶振和兩個電容組成的時鐘脈沖,一個電阻和一個電解電容和一個按鍵組成的復位電路,一個8段數碼管構成的密碼顯示器,一個蜂鳴器,5個LED,一個NPN三極管加上一個繼電器組成的驅動電路構成了系統電路。3.2.1晶振時鐘電路單片機XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶振,形成單片機的晶振電路。圖3-1晶振電路3.2.2復位電路設計圖3-2復位電路3.2.3串口引腳功能介紹單片的P1口外接1位8段數碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當INT0被置0時,蜂鳴器發出聲音;P0口外接發光二極管用作系統工作狀態提示。3.2.4其它引腳ALE引腳懸空,復位引腳接到復位電路、VCC接電源、VSS接地、EA接電源3.3電路圖的繪制用PROTEL99SE繪制的完整電路圖如下:圖3-3系統電路圖八段數碼管顯示你的摩斯按鍵是否正確對應你要輸入的數字密碼。由于采取上電設置密碼的編程方法復位鍵即密碼修改鍵設置在門后,要打開門才能修改密碼。設置密碼后若輸入密碼不對的前兩次5秒報警,最后一次10分鐘報警,摩斯按發錯誤除外(但有兩秒報警,并且須全部密碼重新輸入)。本電路設置四位密碼,由于每位數字鍵均由五位摩斯碼構成則要輸入20次摩斯碼鍵!!p0.0(綠色)“滴”顯示,p0.2(黃色)“嗒”音顯示,p0.4(紅色)摩斯碼按法錯誤或密碼錯誤,p0.6(藍色)表示該電路已設置了密碼,等待輸入密碼進行比較。PROTEL繪制的PCB板:圖3-4系統PCB板PROTEL系統3D仿真:3.4元器件采購1.元器件清單表3-3元器件清單原件名稱備注單片機AT89C51電阻R1,R210K,100K各一只電解電容C3100F無極電容C1,C230VF數碼管一只5V蜂鳴器一只晶振12MHZ三極管9014一個按健S1,S2各一個12V繼電器一個LEDD1,D2,D3,D4綠,黃,紅,藍各一個2極管40041只萬能電路板1塊經采購繼電器沒有買到,所以原電路的輸出電路3極管的繼電器改為LED燈,只要電路IC經密碼輸入后能點亮LED燈則電路設計要求達到。3.5電路焊接1.焊接所需工具工具名稱數量焊烙鐵50W1只帶松香焊絲若干萬用表一個表3-4焊接所需工具電路焊接實物圖如下:圖3-6電路正面接線實物圖圖3-7電路背面接線實物圖4.軟件設計4.1系統軟件設計整體思路一個應用系統要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應設計合理的軟件的支持,尤其是微機應用高速發展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數字濾波,信號處理等。因此充分利用其內部豐富的硬件資源和軟件資源,采用與C51系列單片機相對應的51匯編語言和結構化程序設計方法進行軟件編程。程序設計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統,而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,但是本系統卻選用了匯編語言。原因在于,本系統是編制程序工作量不大、規模較小的單片機微控制系統,使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統。4.2系統軟件設計流程圖糸統返回否是密碼錯誤主人是否要修改密碼開門輸入正確密碼保存后糸統返回輸入新密碼報警輸入錯誤滿3次輸入錯誤未滿3次密碼比較開始系統喚醒上電密碼輸入完畢系統等待密碼輸入糸統返回否是密碼錯誤主人是否要修改密碼開門輸入正確密碼保存后糸統返回輸入新密碼報警輸入錯誤滿3次輸入錯誤未滿3次密碼比較開始系統喚醒上電密碼輸入完畢系統等待密碼輸入圖4-1系統程序設計結構圖5程序調試把也寫好的匯編語言程序的載入軟件調試工具,檢查軟件是否有設法錯誤,再根據軟件提示對本程序進行修改,直到沒有錯誤再生成單片機能運行的機器碼,再用51開發板或其它單怎機寫入工具把機器碼寫入單片機進行實際的程序調試,根據實際情況再對程序的不足加以修改,直到滿足設計要求。5.1程序調試用到的軟件及工具調試本程序需要用到KEILC51,及51開發板一塊及其配套的下載燒錄軟件5.2KEILC51簡介KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。KeilC51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。C51工具包的整體結構:uVision與Ishell分別是C51forWindows和forDos的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。5.3調試過程首先打開KEILC51主程序,新建工程,新建文本框寫入程序,保存,檢查是否有語法錯誤,經反復檢查無誤后匯編,生成51單片機可執行的HEX文件。然后用51開發板相匹配的燒錄軟件把HEX文件寫入單片機。圖5-1keilc51調試介面圖5-2單片機燒錄軟件介面6設計總結與展望實踐是檢驗真理的唯一標準,當然也是檢驗學習成果的標準。在經過一段時間的學習之后,我們需要了解自己的所學應該如何應用在實踐中,因為任何知識都源于實踐,歸于實踐,所以要將所學的知識在實踐中來檢驗。在做畢業設計期間,在老師的指導下,通過自身的不斷努力,無論是思想上,學習上,都取得了長足的發展和巨大的收獲,現將工作總結如下:思想上,學會了用科學的精神去解決問題。很多事情看起來是很簡單的問題,但實際做起來去會發現有許多奧妙!這是因為其中蘊含著許多科學的問題。運用科學的方法去解決問題,這是我這次實訓給我帶來的思想上的改變。學習上,使自已在大學所以的知識在這次得到實踐,學到一些書本上無法學到的經驗,對電子元件有了進一步的認識。電子鎖是信息化時代發展的產物,應時而生,我相信隨著科技的不斷發展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。致謝在本次論文設計過程中,劉老師對該論文從選題,構思到最后定稿的各個環節給予細心指引與教導,使我得以最終完成畢業論文設計,在此表示衷心的感謝。此外在學習中,老師嚴謹的治學態度、豐富淵博的知識、敏銳的學術思維、精益求精的工作態度以及侮人不倦的師者風范是我終生學習的楷模。另外在完成畢業設計的過程中,還得到眾多朋友的關心支持和幫助,在此,謹向老師同學和朋友致以衷心的感謝和崇高的敬意!最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝參考文獻[1]李朝青.單片機原理及接口技術(簡明修訂版)[M].北京:北京航空航天大學出版社,1998[2]李全利.單片機原理及接口技術[M].高等教育出版社,2003[3]PROTEL99SE電路設計與制板[M].機械工業出版社,2007[4]楊將新,李華軍,劉到駿等.單片機程序設計及應用(從基礎到實踐)[J].電子工業出版社,2006[5]StevenF.Barrett.DaneilJ.Pack.EmbeddedSystem[M].北京:電子工業出版社,2006[6]周立功.LPC900系列Flash單片機應用技術[J].北京航空航天大學出版社,2004[7]黃智偉.全國大學生電子設計競賽訓練教程[M].北京:電子工業出版社,2005附錄本設計的程序:hc0equ4ah;延時緩存區hc1equ4bhhc2equ4chhc3equ4dhhc4equ4ehxs_0equ50h;顯示緩存區xs_1equ51hxs_2equ52hxs_3equ53hxs_4equ54hxs_5equ55hxs_6equ56hxs_7equ57hxs_8equ58hxs_9equ59hps1equ5ah;設置密碼緩存區ps2equ5bhps3equ5chps4equ5dhmmbzequ5fh;密碼輸入次數at1equ60h;輸入密碼緩存區at2equ61hat3equ62hat4equ63h;初始化org00hajmpmain1org30hmain1:movps1,#00hmovps2,#00hmovps3,#00hmovps4,#00hmovat1,#00hmovat2,#00hmovat3,#00hmovat4,#00hmain:movxs_0,#1fh;顯示0的摩斯值movxs_1,#0fh;顯示1的摩斯值movxs_2,#07h;顯示2的摩斯值movxs_3,#03h;顯示3的摩斯值movxs_4,#01h;顯示4的摩斯值movxs_5,#00h;顯示5的摩斯值movxs_6,#10h;顯示6的摩斯值movxs_7,#18h;顯示7的摩斯值movxs_8,#1ch;顯示8的摩斯值movxs_9,#1eh;顯示9的摩斯值clrp3.0;RXD置0mova,#00h;密碼緩存movr2,#04h;四位密碼movr1,#00hmovr0,#ps1movr7,#05h;摩斯次數,由于數字為5次clrp2.7start:movp0,#0ffhmovp1,#0ffhsetbp2.4;按鍵位jbp2.4,start;2.4為1轉startlcalldelay500msjbp2.4,startok:;嘀的音clrp0.0lcalldelay500msjnbp2.4,daa;是否去嗒音cun:;setbp0.2setbp0.0rlaadda,r1;存入一位摩斯碼djnzr7,yanshi;是否夠五位摩斯碼ajmpxianshiyanshi:;輸入一位摩斯碼停頓1tlcalldelay500msjbp2.4,mainajmpokdaa:;嗒的音lcalldelay500msjbp2.4,stopsetbp0.0clrp0.2lcalldelay500mssetbp0.2jnbp2.4,stopmovr1,#01hajmpcunstop:;摩斯輸入錯誤clrp0.4lcalldelay2ssetbp0.4ajmpmaincunchu:mov@r0,aincr0mova,#00hmovr1,#00hmovr7,#05hdjnzr2,yanshiclrp0.6lcalldelay2ssetbp0.6ajmpshuruxianshi:cjnea,xs_0,next1;夠五位摩斯碼顯示0movp1,#0c0hclrp3.2;報警器lcalldelay1ssetbp3.2;報警器movp1,#0ffhajmpcunchunext1:cjnea,xs_1,next2;夠五位摩斯碼顯示1movp1,#0f9hclrp3.2lcalldelay1ssetbp3.2movp0,#0ffhajmpcunchunext2:cjnea,xs_2,next3;夠五位摩斯碼顯示2movp1,#0a4hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext3:cjnea,xs_3,next4;夠五位摩斯碼顯示3movp1,#0b0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext4:cjnea,xs_4,next5;夠五位摩斯碼顯示4movp1,#99hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext5:cjnea,xs_5,next6;夠五位摩斯碼顯示5movp1,#92hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext6:cjnea,xs_6,next7;夠五位摩斯碼顯示6movp1,#7dhclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext7:cjnea,xs_7,next8;夠五位摩斯碼顯示7movp1,#0f8hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext8:cjnea,xs_8,next9;夠五位摩斯碼顯示8movp1,#080hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchunext9:cjnea,xs_9,cw;夠五位摩斯碼顯示9movp1,#90hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchucw:clrp3.2clrp0.4lcalldelay5sclrp0.4setbp3.2ajmpmain1shuru:;開門復位movmmbz,#03;錯誤密碼次數movat1,#00hmovat2,#00hmovat3,#00hmovat4,#00hshuru2:clrp0.6mova,#00h;密碼緩存movr2,#04h;四位密碼movr1,#00hmovr0,#at1movr7,#05hstart1:jbp2.4,start1lcalldelay500msjbp2.4,start1ok1:;滴音setbp3.0;開門后再按鍵1t以上關門setbp0.6clrp0.0lcalldelay500msjnbp2.4,daaacun1:setbp0.2setbp0.0rlaadda,r1djnzr7,yanshi1ajmpxianshi1yanshi1:;每個摩斯碼之間延時1tlcalldelay500msjbp2.4,stop1ajmpok1daaa:;嗒音lcalldelay500msjbp2.4,stop1setbp0.0clrp0.2lcalldelay500mssetbp0.2jnbp2.4,stop1movr1,#01hajmpcun1stop1:;摩斯碼錯誤處理clrp0.4lcalldelay2ssetbp0.4ajmpshuru2cunchu2:mov@r0,aincr0mova,#00hmovr1,#00hmovr7,#05hdjnzr2,yanshi1ajmpbijiaoxianshi1:;顯示處理cjnea,xs_0,next1_1movp1,#0c0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next1_1:cjnea,xs_1,next2_2movp1,#0f9hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next2_2:cjnea,xs_2,next3_3movp1,#0a4hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next3_3:cjnea,xs_3,next4_4movp1,#0b0hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next4_4:cjnea,xs_4,next5_5movp1,#99hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next5_5:cjnea,xs_5,next6_6movp1,#92hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next6_6:cjnea,xs_6,next7_7movp1,#82hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next7_7:cjnea,xs_7,next8_8movp1,#0f8hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next8_8:cjnea,xs_8,next9_9movp1,#80hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2next9_9:cjnea,xs_9,cw2movp1,#90hclrp3.2lcalldelay1ssetbp3.2movp1,#0ffhajmpcunchu2bijiao:;比

溫馨提示

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

評論

0/150

提交評論