基于單片機的電子密碼鎖設(shè)計-嵌入式系統(tǒng)項目實踐-課程報告_第1頁
基于單片機的電子密碼鎖設(shè)計-嵌入式系統(tǒng)項目實踐-課程報告_第2頁
基于單片機的電子密碼鎖設(shè)計-嵌入式系統(tǒng)項目實踐-課程報告_第3頁
基于單片機的電子密碼鎖設(shè)計-嵌入式系統(tǒng)項目實踐-課程報告_第4頁
基于單片機的電子密碼鎖設(shè)計-嵌入式系統(tǒng)項目實踐-課程報告_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基干單片機的電子密碼鎖設(shè)計團隊成員指導(dǎo)教師嵌入式系統(tǒng)項目實踐2 4 51.1選題背景 51.2研究意義 51.3內(nèi)容與結(jié)構(gòu) 52系統(tǒng)整體設(shè)計方案 52.1相關(guān)知識介紹 5 5 62.1.324C04性能描述 72.2系統(tǒng)總體設(shè)計 73硬件電路 73.1單元電路設(shè)計 83.1.1單片機最小系統(tǒng) 8 83.1.3矩陣鍵盤電路 93.2系統(tǒng)總硬件電路圖 4軟件模塊設(shè)計 4.1系統(tǒng)開發(fā)工具使用 4.2系統(tǒng)開發(fā)流程圖 4.3系統(tǒng)軟件設(shè)計模塊 4.3.1鍵盤掃描軟件設(shè)計 4.3.224C04讀寫操作的軟件設(shè)計 4.3.224C04讀寫操作的軟件設(shè)計 4.3.4修改密碼軟件設(shè)計 5結(jié)果分析 5.1電子密碼鎖開鎖和上鎖 5.2修改電子密碼鎖密碼 結(jié)論 參考文獻 嵌入式系統(tǒng)項目實踐3嵌入式系統(tǒng)項目實踐4基于單片機的電子密碼鎖設(shè)計摘要:隨著信息技術(shù)的不斷發(fā)展,信息化時代也逐步進入普通家庭,人們對個人的信息安全以及隱私等私密信息的安全要求不斷提高,傳統(tǒng)的機械鎖已經(jīng)不能滿足要求。針對此現(xiàn)狀設(shè)計一款安全可靠廉價的電子密碼鎖。該設(shè)計以AT89C51為主控芯片,帶有一個密碼輸入鍵盤、外圍時鐘復(fù)位電路、存儲單元24C04、顯示單元1602LCD,通過LED燈的亮與滅表示電子鎖的鎖閉與打開。利用單片機靈活的編程設(shè)計和豐富的IO端口,能實現(xiàn)密碼鎖的基本功能。為了提高可讀性采用了1602作為顯示單元,使用戶對密碼鎖的運行情況一目了然。該系統(tǒng)經(jīng)軟硬件測試,達到要求,系統(tǒng)運行良好。嵌入式系統(tǒng)項目實踐5在人們的生活中,財產(chǎn)與人身安全是被一直關(guān)注的問題,于是“鎖”也就與人們的生活密不可分了,無論在何地,我們都能看到“鎖”的身影,但隨著社會的發(fā)展,傳統(tǒng)的機械鎖越來越不能滿足人們的生活需求了,傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對它的結(jié)構(gòu)、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮。為了應(yīng)對這種情況,電子密碼鎖也就被發(fā)明出來了,相比傳統(tǒng)的機械鎖,電子密碼鎖具有更高的安全性。電子鎖可以在日常生活和現(xiàn)代辦公中、住宅與辦公室的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存等多種場合使用,大大提高了主人物資的安全性。此次項目實踐選擇基于單片機的電子密碼鎖設(shè)計題目,采用存儲單元24C04和顯示單元1602LCD來進行設(shè)計。單片機技術(shù)是智能化檢測與控制領(lǐng)域應(yīng)用非常普及并且具有很大潛力的技術(shù)。論文闡述一個基于單片機的液晶顯示電子密碼鎖的設(shè)計與實現(xiàn)。系統(tǒng)采用美國Atmel公司的AT89C51單片機作為系統(tǒng)核心,用串行的24C04作為存儲器,液晶顯示器LCD1602作為輸出設(shè)備顯示系統(tǒng)提示信息,4*4矩陣薄膜鍵盤作為輸入設(shè)備,配合蜂鳴器、繼電器等電路構(gòu)成整個系統(tǒng)硬件;系統(tǒng)軟件采用匯編語言編寫。設(shè)計的系統(tǒng)液晶顯示,密碼修改方便,具有報警、鎖定等功能,使用便捷簡單,符合住宅、辦公用鎖需求,具有一定的實用價值.而且使用AT89C51單片機價格相對低廉,成本較低,便于推廣。本系統(tǒng)設(shè)計實現(xiàn)一個基于單片機控制的電子密碼鎖。該系統(tǒng)能夠?qū)崿F(xiàn)上鎖、開鎖、修改開鎖密碼和報警功能,用串行的24C04作為存儲器,液晶顯示器LCD1602作為輸出設(shè)備顯示系統(tǒng)提示信息。該文檔主要包括五個部分,第一部分緒論,主要包括選題背景、研究意義和內(nèi)容與結(jié)構(gòu);第二部分系統(tǒng)整體設(shè)計方案,主要包括相關(guān)知識介紹和系統(tǒng)總體結(jié)構(gòu)設(shè)計;第三部分硬件電路,主要包括單元電路設(shè)計和系統(tǒng)總硬件電路圖,其中單元電路設(shè)計包括單片機最小系統(tǒng)模塊,24C04存儲電路模塊,1602LCD數(shù)碼管顯示電路和矩陣鍵盤電路設(shè)計模塊;第四部分軟件模塊設(shè)計,主要包括系統(tǒng)開發(fā)工具使用和系統(tǒng)主要開發(fā)流程和各軟件設(shè)計模塊;第五部分結(jié)果分析,主要包括測試過程和測試結(jié)果分析。2系統(tǒng)整體設(shè)計方案2.1.1AT89C51引腳功能描述AT89C51是這幾年我國非常流行的單片機,由美國ATMEL公司生產(chǎn),是低電壓,高性嵌入式系統(tǒng)項目實踐6能CMOS8位單片機,片內(nèi)含4kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。其中的40個引腳大致可以分為4類:電源、時鐘、控制和I/O引腳。(3)控制線:MCS-51單片機的控制線有4根,其中3根是復(fù)用線,具有兩種功能。ALE/PROG為地址鎖存允許/編程脈沖信號端,PSEN為外部ROM讀選通信號,RST為復(fù)位引腳;EA/VPP為內(nèi)外ROM選擇/EP(4)I/O引腳:MCS-51單片機共有4個8位并行I/O端口,共32個可編程I/O引腳。其外形引腳如圖2-1所示:圖2.1AT89C51實物圖(左)及其引腳圖(右)LCD1602是工業(yè)字符型液晶,能夠同時顯示16x02即32個字符,是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣6]。LCD引腳圖如下圖2.6所示:含古名名苦名客臺會C嵌入式系統(tǒng)項目實踐724C04是采用鐵電技術(shù)生產(chǎn)的EEPROM,掉電后數(shù)據(jù)不丟失。相比傳統(tǒng)的EEPROM具有壽命長,讀寫速度快的優(yōu)點,采用I2C總線與外界通訊,容量應(yīng)該是512字節(jié)。主要用于存儲掉電后需要保存的數(shù)據(jù)。24C04存儲電路如圖2.3所示:66***237+**圖2.324C04存儲電路2.2系統(tǒng)總體設(shè)計此設(shè)計的主要內(nèi)容與任務(wù)如下:(1)設(shè)計一單片機控制的智能報警系統(tǒng),通過按鍵輸入密碼,并用LCD顯示相關(guān)信息;(2)密碼可由鍵盤設(shè)置,鍵盤有數(shù)字鍵、還有確認按鍵;(3)密碼可通過按鍵修改;(4)輸入字符時,LCD上顯示“*”號,若密碼正確,則可以修改密碼;(5)系統(tǒng)設(shè)置默認初始密碼,且可以修改,修改后系統(tǒng)按新密碼進行操作。蜂鳴器報警電路模塊蜂鳴器報警電路模塊密碼存儲模塊時鐘震蕩電路模塊顯示模塊矩陣鍵盤輸入模塊依據(jù)設(shè)計的要求,可以得到系統(tǒng)軟件模塊圖,如圖2.4所示:基于單片機的電子密碼器圖2.4系統(tǒng)的軟件模塊圖3硬件電路用單片機做主機運算器,能進行密碼修改和管理員密碼設(shè)置,可復(fù)位,設(shè)置有退出鍵、管理員模式鍵、設(shè)定鍵、刪除鍵和確定鍵。LCD在開鎖前顯示youpassword,然后根據(jù)密碼8正確與否顯示出相應(yīng)的提示。本設(shè)計初始密碼為123456,密碼輸入正確后,可以修改密碼,密碼個數(shù)可以是0-9的數(shù)字。采用24C04存儲密碼,有掉電保護功能,本設(shè)計采用4*4的矩陣鍵盤作為輸入,AT89C51單片機作為主機,二極管指示燈和喇叭組成發(fā)聲系統(tǒng)。根據(jù)系統(tǒng)擬達到的總體功能得到系統(tǒng)整體框圖如圖3.1所示:統(tǒng)擬達到的總體功能得到系統(tǒng)整體框圖如圖3.1所示:AT89C51LCD顯示蜂鳴器報警與開鎖電路掉電存儲電路鍵盤輸入要實現(xiàn)基于單片機電子密碼鎖的功能。硬件設(shè)計包括單片機最小系統(tǒng)的設(shè)計,1602LCD數(shù)碼管顯示電路設(shè)計,矩陣鍵盤電路設(shè)計和系統(tǒng)總電路的設(shè)計。單片機最小系統(tǒng)都是由組成單片機應(yīng)用系統(tǒng)所必需的一些部件和電路構(gòu)成的。無論應(yīng)用系統(tǒng)要完成什么功能,這些部件和電路都是必須的。一個單片機應(yīng)用系統(tǒng)至少有:單片機芯片、保證單片機正常工作必須要有電源、產(chǎn)生時鐘信號的晶體振蕩器,還需要能使單片機復(fù)位的電路等。單片機最小系統(tǒng)如圖3.2所示:雖雖1圖3.2單片機最小系統(tǒng)3.1.21602LCD數(shù)碼管顯示電路1602LCD液晶顯示器是一種字符點陣式LCD顯示器模塊。它不僅能夠顯示阿拉伯數(shù)字,而且還能夠顯示特殊的符號,以及英文字母(即英文語句提示信息),因此其用途比較靈活,9應(yīng)用比較廣泛,當然價格也較高。單片機AT89C51從接收器得到的數(shù)據(jù)運算程序后,結(jié)果傳送給1602LCD數(shù)據(jù)端并在液晶屏上顯示出。顯示電路如圖3.3所示:LCDLCD1紹縣出同d8古8名8S客日塑蓋圖3.31602LCD數(shù)碼管顯示電路矩陣式鍵盤又叫行列式鍵盤。用I/O接口線組成行、列結(jié)構(gòu),鍵位設(shè)置在行、列的交點上。例如本設(shè)計4*4的行、列結(jié)構(gòu)可組成16個鍵盤,比一個鍵位用一根I/O口線的獨立式鍵盤少了一半的I/O接口線。而且鍵位越多,情況越明顯。因此,在按鍵比較多時,往往采用矩陣式鍵盤。矩陣式鍵盤的按鍵識別方法有“行掃描法”。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,介紹過程如下。(1)判斷鍵盤中有無鍵按下將全部行線YO-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。(2)判斷閉合鍵所在的位置在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。矩陣鍵盤電路如圖3.4所示:圖3.4矩陣鍵盤電路圖3.2系統(tǒng)總硬件電路圖各模塊組合之后的總體硬件電路圖如下圖3.5所示:MR酮圖3.5總體硬件電路圖4.1系統(tǒng)開發(fā)工具使用本系統(tǒng)使用keil軟件,打開軟件后的界面,如下圖4.1所示,圖4.1軟件運行界面嵌入式系統(tǒng)項目實踐單擊Project選擇NewProject…,彈出CreateNewProject對話框PecoterT*C5indowbPmolectcetihentmolectQeenPreme圖4.2新建系統(tǒng)工程選擇工程文件要存放的路徑,輸入工程文件名,最后單擊保存,選擇工程文件要存放的路徑榆入工程文件名LED文件名QDFrojectFiles(42)保存類型Q):圖4.3設(shè)置工程路徑在彈出的對話框中選擇CPU廠商及型號,選擇好Atmel公司的89C51后,單擊確.fitadutaisailsomiisadaiei應(yīng)可圖4.4選擇芯片廠商和型號嵌入式系統(tǒng)項目實踐4.5,4.5,新建一個C51文件,點擊file菜單下的NEW,或單擊左上角的NewFile快捷鍵如圖EileEditYiewProjectDebug圖4.5新建文件保存新建的文件,單擊SAVE,在出現(xiàn)的對話框中輸入保存文件名LCD_18b20.c(注意后綴名必須為.C),再單擊“保存”,保存好后把此文件加入到工程中方法如下:用鼠標在SourceGroupl上單擊右鍵,然后再單擊AddFilestoGroup‘SourceGroup1′如圖4.6,圖4.6將文件添加到工程中在編輯框里輸入如下代碼,到此我們完成了工程項目的建立以及文件加入工程,現(xiàn)在我們開始編譯工程,即單擊快捷鍵或單擊Project/Rebuildallthefiles,如果在錯誤與警告處甲圖4.7生成.hex在下圖中,我們單擊Output,選中CreateHEXFi。再單擊“確定”,然后我們必須再次編譯才能產(chǎn)生HEX文件嵌入式系統(tǒng)項目實踐AUED10brvssIntwrmstiIMerg3aRMentile)0K|HEX-NO二CeestsLihrarySLKDLTBBunUserPregram#確應(yīng)取消DsFA1txMuneatEasoutabls[LeiCvsatstussuraliaFwanhwsinsBewssMisoDebosIVlitsI4.2系統(tǒng)開發(fā)流程圖程序主要完成的任務(wù),開始時LCD顯示“YourPassword”提示輸入密碼,輸入密碼后按確認鍵,系統(tǒng)會將所輸入的密碼與系統(tǒng)密碼進行對比,如果輸入正確則顯示“UnlockOK”開鎖,然后可以選擇上鎖或者修改密碼,如果密碼錯誤則顯示“Error”,如果連續(xù)輸入三次錯誤密碼系統(tǒng)會發(fā)出報警聲音,程序流程圖如圖4.9所示:錯誤次數(shù)顯示“Error”開輔成功.圖4.9系統(tǒng)總體流程圖4.3.1鍵盤掃描軟件設(shè)計在按鍵當中,有與輸入、開鎖、清除、設(shè)置、確認的程序相對應(yīng)的按鍵,并按順序與輸入的數(shù)相比較,當輸入正確時,進入密碼程序,錯誤時進行清除,輸入兩次新密碼正確時,可進行重新設(shè)置密碼,最后確認程序。按鍵的檢測主要是通過查詢的方法來實現(xiàn)的,利用按鍵進行密碼的輸入及設(shè)置。嵌入式系統(tǒng)項目實踐7寧劉端口賦信延時10毫秒保有首次賦值查表發(fā)出鍵模圖4.10鍵盤掃描流程圖4.3.224C04讀寫操作的軟件設(shè)計開始開始向24c04寫密碼與初始化密碼比是LCD顯示結(jié)束香圖4.1124C04讀寫操作流程圖4.3.224C04讀寫操作的軟件設(shè)計按開鎖鍵LCD初始化輸入離碼確認程序輸入密碼正確?報塾程序圖4.12開鎖流程圖4.3.4修改密碼軟件設(shè)計再輸入一調(diào)期ACo2厘新城入圖4.13修改密碼流程圖5結(jié)果分析程序編寫完之后,單擊Rebuild()按鈕,進行編輯,單擊buld()按鈕,進reeFackaasLhehserpmrmyATR3C1SosionEmJRomTanxTHutgAiidsanHitdmnmt?CargmlEe單擊左下角的圖5.1配置電路圖參數(shù)單擊左下角的嵌入式系統(tǒng)項目實踐在矩陣鍵盤上輸入初始密碼123456,并點擊開鎖按鈕,如果輸入密碼錯誤,則LCD顯示“ERROR!”,無法開鎖;若輸入正確,則顯示“UnlockOK!”,表示開鎖成功,如圖圖5.2開鎖后LCD顯示圖再按下上鎖按鍵后,電子密碼鎖重新上鎖,需要重新輸入開鎖密碼才可開鎖,當三次輸入錯誤密碼時,蜂鳴器會發(fā)出響聲報警。5.2修改電子密碼鎖密碼在已經(jīng)開鎖的狀態(tài)下,按下輸入新密碼按鈕,可重新輸入密碼,設(shè)置成你想要改的密碼,再按下保存新密碼按鈕,新密碼就設(shè)置成功了,這時開鎖需要輸入新密碼了,如圖5.3所示圖5.3電子密碼鎖修改密碼此次項目實踐的基于單片機電子密碼鎖設(shè)計比較成功,能實現(xiàn)開鎖上鎖、修改密碼、報警防盜等功能。本次項目實踐過程中,對我所學(xué)的所有的嵌入式知識進行一個總結(jié)性的復(fù)習,特別是對AT89C51單片機方面的知識有了更深的了解。同時也鞏固了對LCD1602,數(shù)據(jù)存儲等方面的知識,為我以后的學(xué)習以及工作奠定了一定的專業(yè)基礎(chǔ)。在這次設(shè)計中,遇到了一些設(shè)計上的難題,通過查閱相關(guān)圖書資料和詢問同學(xué)幫助解決了難題。[1]祁偉,楊亭.單片機C51程序設(shè)計教程與實驗[M].北京航空航天大學(xué)出版社,2006.[2]劉文濤.單片機語言C51典型應(yīng)用設(shè)計[M].人民郵電出版社,2005.[3]譚浩強.C程序設(shè)計(第三版)[M].清華大學(xué)出版社,2005.[4]沈德金.MCS-51系列單片機接口電路與應(yīng)用程序?qū)嵗齕M].北京航空航天大學(xué)出版社,[5]賴麒文.8051單片機C語言徹底應(yīng)用[M].科學(xué)出版社,2002.[6]余永權(quán).單片機在控制系統(tǒng)中的應(yīng)用[M].電子工業(yè)出版社,2003.[7]張艷麗,楊仁弟.數(shù)字溫濕度傳感器SHT11及其應(yīng)用[J].工礦自動化,2007.6第3期.[8]沈慶陽.8051單片機實踐與應(yīng)用[M].清華大學(xué)出版社2004.[9]高衛(wèi)東.51單片機原理與實踐(C語言版)[M].北京航空航天大學(xué)出版社,2011.[10]蔣輝平,周國雄.基于Protues的單片機系統(tǒng)設(shè)計與仿真實例[M].機械工業(yè)出版#include<reg51.h>#include<string.h>#defineucharunsignedchar#defineunitunsignedintucharPre_KeyNo=16,KeyNo=16;ucharDSY_BUFFER[10]="";ucharUserPassword[10]="";voidDisplay_String(uchar*str,ucharLineNo);voidBeep();ucharRecString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN);ucharSendString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN);ucharKeys_Scan();sbitLED_OPEN=P2^7;sbitBEEP=P3^7;voidDelayMS(intx){uchari;while(x--)for(i=0;i<120;i++);}{{DelayMS(1);BEEP=~BEEP;BEEP=0;UserPassword[0]='\0;DSY_BUFFER[0]='\0;{uchari=0;ucharIS_Valid_User=0;P0=P1=P2=0xFF;嵌入式系統(tǒng)項目實踐TMOD=0X02;TH0=175;TL0=175:TR0=1;DelayMS(10);LCDInit();IC24C04Init();RecString(0xa0,0,IIC_Password,6);IC_Password[6]='\0';while(1)P1=0xF0;if(P1!=0xF0)KeyNo=Keys_Scan();if(i<10){{case0:case1:case2:case3:case4:if(i==0)Display_String("UserPassword[i]=KeyNo+'0';UserPassword[i+1]='\0';DSY_BUFFER[i]='*;DSY_BUFFER[i+1]='\0';Display_String(DSY_BUFFER,0X40);i++;break;if(strcmp(UserPassword,IIC_Password)==0)",0x40);ISValidUser=1;{",0x40);IS_Valid_User=0;Display_String(Title_TextIS_Valid_User=0;if(!IS_Valid_User)Dis{Display_String("break;if(!IS_Valid_User)Disp{RecString(0xa0,0,IIC_PassworDisplay_String(Title_Text}}}}嵌入式系統(tǒng)項目實踐#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineunitunsignedint#defineDelay4us();{_nop_();_nop_0;_nop_0;_nop_();}{SDA=1;SCL=1;Delay4us()}{SDA=0;SCL=1;Delay4us();SDA=1;Delay4us();SCL=0;}yoidIIC24C04Init(){SCL=0;Stop(;}{}voidNo_ACK(){SDA=1;SCL=1;Delay4us();SCL=0;SDA=0;}ucharRecByte(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論