基于51單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)論文_第1頁
基于51單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)論文_第2頁
基于51單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)論文_第3頁
基于51單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)論文_第4頁
基于51單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于51單片機(jī)的電子密碼鎖設(shè)計(jì)基于51單片機(jī)的電子密碼鎖設(shè)計(jì)電子信息工程技術(shù)信息工程系本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)文本和成果,是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究所取得的成果。成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,本畢業(yè)設(shè)計(jì)不含任何其他個(gè)人或集體已經(jīng)發(fā)表過的作品和成果。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。畢業(yè)設(shè)計(jì)者簽名:ii目錄10732摘要 1第一章27387前言

23921第二章設(shè)計(jì)任務(wù)和要求 第一章前言隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,鎖是置于可啟閉的器物上,用以關(guān)住某個(gè)確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開扣件。傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對(duì)它的結(jié)構(gòu)、機(jī)理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮。盜賊還想方設(shè)法利用高科技手段撬門開鎖,使廣大居民防不勝防。傳統(tǒng)鎖具都存在致命的弱點(diǎn):第一、

鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強(qiáng)力破壞;第二、

鎖具制作工藝,技術(shù)落后,無法阻止技術(shù)手段的開啟。目前,市場(chǎng)上很多國(guó)內(nèi)外的鎖具,實(shí)際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡(jiǎn)單的工具就可以把這些鎖打開,主要是鎖具的技術(shù)原理太過簡(jiǎn)單。隨著科技的進(jìn)步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音,不同磁場(chǎng),不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,人們也就能對(duì)自身財(cái)產(chǎn)安全有了更多的保障。當(dāng)今安全信息系統(tǒng)應(yīng)用越來越廣泛,特別在保護(hù)機(jī)密、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用,大大提高了主人物資的安全性。目前使用的密碼鎖種類繁多,各具特色。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用AT89S51單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖,同時(shí)通過LCD1602增強(qiáng)了可讀性。該密碼鎖設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。

密碼通過鍵盤輸入,若密碼正確,則將鎖打開。具有自動(dòng)報(bào)警功能。一是密碼輸入錯(cuò)誤3次,則報(bào)警;保證了系統(tǒng)的安全性,系統(tǒng)工作時(shí),用戶通過按鍵輸入6位密碼,單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較,第二章設(shè)計(jì)任務(wù)和要求設(shè)計(jì)任務(wù):是利用開發(fā)板設(shè)計(jì)一個(gè)電子鎖設(shè)計(jì)要求:自己在自己電腦上寫好要連接的電子鎖的程序,再在實(shí)驗(yàn)室里將已經(jīng)調(diào)試成功的電子鎖的程序下載到開發(fā)板上,觀察并記錄開發(fā)板上的等的運(yùn)行情況;如果不是如預(yù)期那樣運(yùn)行,要找出原因并進(jìn)行調(diào)試,最后對(duì)自己的實(shí)驗(yàn)設(shè)計(jì)進(jìn)行驗(yàn)收。本設(shè)計(jì)由主控芯片51單片機(jī),24C04斷電存儲(chǔ)電路、單片機(jī)時(shí)鐘電路,LCD1602顯示電路、鍵盤和開鎖電路組成。單片機(jī)負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過程。2.1系統(tǒng)總結(jié)構(gòu)設(shè)計(jì)圖開鎖控制電路開鎖控制電路89C52單片機(jī)24C02掉電存儲(chǔ)LCD1602顯示電路矩陣鍵盤控制指示電路輸入錯(cuò)誤鎖定鍵盤延時(shí)報(bào)警控制電路 圖2.1基于51單片機(jī)的電子密碼鎖系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖2.2各模塊的功能1.矩陣鍵盤輸入模塊:分為密碼輸入按鍵與幾個(gè)功能按鍵,用于完成密碼鎖輸入功能。2.蜂鳴器報(bào)警電路:用于完成輸錯(cuò)密碼時(shí)候的警報(bào)功能。3.晶振電路:用于單片機(jī)的起振。4.復(fù)位電路:完成系統(tǒng)的復(fù)位。5.顯示模塊:用于完成對(duì)系統(tǒng)狀態(tài)顯示及操作提示功能。6.開鎖電路:應(yīng)用繼電器及發(fā)光二極管模擬開鎖,完成開鎖及開鎖提示。2.2.1矩陣鍵盤模塊矩陣鍵盤接P1口,行接低4位,列接高4為。先讓行為高,列為低,若有鍵按下,則所在行為低,得到按鍵的所在行數(shù),之后令P1口,行為低,列為高,運(yùn)用相似的方法得到所按鍵的所在列數(shù),及確定按鍵位置,返回鍵值。由于機(jī)械鍵盤會(huì)出現(xiàn)信號(hào)抖動(dòng)的情況,固在發(fā)現(xiàn)有按鍵后延時(shí)5毫秒再次確定,若讓有按鍵,證明按鍵穩(wěn)定,否則認(rèn)為接收到的是抖動(dòng)信號(hào),不予處理。2.2.21602液晶顯示模塊1602具有三個(gè)工作狀態(tài)控制端,調(diào)節(jié)他們的高低變化配合數(shù)據(jù)口的信息,可以顯示2×16的字母或者數(shù)字,通過子函數(shù)可以實(shí)現(xiàn)檢測(cè)初始化LCD、寫指令到LCD、LCD狀態(tài)、LCD清屏、輸入一個(gè)字節(jié)數(shù)據(jù)到LCD、LCD光標(biāo)定位到x處、LCD光標(biāo)歸位、輸入一個(gè)字符到LCD、輸入一個(gè)字符串到LCD等功能。每次更新顯示內(nèi)容前,需清顯示清空LCD原先的顯示內(nèi)容,清屏指令的指令碼為01H,即將P0口賦值01H,然后寫入指令寄存器IR。LCD1602要顯示的內(nèi)容是根據(jù)其控制器內(nèi)置的字符碼表,事先列出要顯示的ASCII字符串。每次送一個(gè)字符的ASCII碼入P0口,然后寫入數(shù)據(jù)寄存器DR,最后將字符地址加一,LCD1602會(huì)將寫入的ASCII碼對(duì)應(yīng)的字符依次顯示出來。由于顯示字符串的長(zhǎng)度不盡相同,約定每串字符以00H結(jié)尾;程序檢測(cè)到字符碼為00H時(shí),即停止寫入,返回。LCD顯示的內(nèi)容在下次更新前會(huì)一直保持。2.2.3延時(shí)模塊一個(gè)程序會(huì)有許多地方需要進(jìn)行延時(shí)操作,例如矩陣鍵盤的消抖延時(shí)。一般延時(shí)可以通過空循環(huán)與中斷響應(yīng)兩種方法進(jìn)行。由于本程序?qū)τ跁r(shí)間精度要求不高,故使用相對(duì)簡(jiǎn)單的空循環(huán)的方法進(jìn)行延時(shí)。進(jìn)過實(shí)驗(yàn),單片機(jī)每空循環(huán)110次耗時(shí)1ms。故用兩次循環(huán),里面一次空循環(huán)110,外面的一次由輸入決定循環(huán)次數(shù),這樣就會(huì)進(jìn)行輸入數(shù)值時(shí)長(zhǎng)的延時(shí)。2.2.4密碼讀取模塊首先預(yù)讀入密碼的字符數(shù)組清零,顯示位置清空,然后讀取鍵值。先判斷此時(shí)是否是在第九個(gè)鍵值輸入了數(shù)字鍵值,如果是不響應(yīng)重新讀入,這樣可以防止讀入字符串溢出,造成密碼讀取錯(cuò)誤。然后通過switch語句5處理鍵值(字母鍵值),并將讀取位置、顯示位置進(jìn)行相關(guān)調(diào)整;如果輸入的是數(shù)字有效鍵值,存入當(dāng)前指向的字符數(shù)組空間,其后將鍵值變量清零準(zhǔn)備讀取下一個(gè)鍵值。進(jìn)行循環(huán)讀取,直到成功讀取8位密碼或者因?yàn)檩斎肓舜_定鍵提前完成讀取工作。2.2.5密碼設(shè)置模塊在系統(tǒng)進(jìn)行初始化時(shí),要求設(shè)置密碼。整體思路是要求讀取一組密碼,保存在臨時(shí)空間,然后再次讀取密碼,如果相同,證明設(shè)置成功,將新密碼覆蓋進(jìn)標(biāo)準(zhǔn)密碼數(shù)組里,如果兩次的密碼不同,顯示錯(cuò)誤信息,要求重新輸入。第二次讀入密碼第一次輸入密碼第二次讀入密碼第一次輸入密碼判斷兩次密碼判斷兩次密碼保存密碼,提示成功保存密碼,提示成功圖2.2密碼設(shè)置模塊該模塊將輸入密碼字符串與設(shè)定密碼字符串比較。如果相同,執(zhí)行開鎖動(dòng)作并將輸入錯(cuò)誤次數(shù)清零;如果不同,累計(jì)錯(cuò)誤次數(shù),如果是第三次輸入錯(cuò)誤,系統(tǒng)鎖死并發(fā)出聲光告警;如果小于三次,顯示密碼錯(cuò)誤信息,返回密碼輸入環(huán)節(jié)。2.2.6單片機(jī)及其外圍電路復(fù)位電路圖2.3復(fù)位電路2.2.7時(shí)鐘電路時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)序脈沖,單片機(jī)所有運(yùn)算與控制過程都是在統(tǒng)一的時(shí)序脈沖的驅(qū)動(dòng)下的進(jìn)行的,如果單片機(jī)的時(shí)鐘電路停止工作(晶振停振),那么單片機(jī)也就停止運(yùn)行了。當(dāng)采用內(nèi)部時(shí)鐘時(shí),連接方法如下圖所示,在晶振引腳XTAL1(19腳)和XTAL2(18腳)引腳之間接入一個(gè)12MHZ晶振,兩個(gè)引腳對(duì)地分別再接入一個(gè)電容即可產(chǎn)生所需的時(shí)鐘信號(hào),電容的容量一般在幾十皮法,圖2.4時(shí)鐘電路2.2.8矩陣鍵盤電路的設(shè)計(jì)為了加強(qiáng)密碼的保密性,采用一個(gè)4×4的矩陣式鍵盤可以任意設(shè)置用戶密碼(1-16位長(zhǎng)度),從而提高了密碼的保密性,同時(shí)也能減少與單片機(jī)接口時(shí)所占用的I/O口線的數(shù)目,節(jié)省了單片機(jī)的寶貴資源,在按鍵比較多的時(shí)候,通常采用這種方法。圖2.5矩陣鍵盤電路只需每一行與每一列的交叉處不相同,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)要N根行線與M根列線,即可組成具有N×M個(gè)按鍵的矩陣鍵盤。在這種行列式矩陣鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就是要識(shí)別哪一個(gè)按鍵被按下。對(duì)鍵的識(shí)別方法通常有兩種:一種是通用的組行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。此系統(tǒng)中,我們采用線反轉(zhuǎn)法。首先辨別鍵盤中有無按鍵被按下,在單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。具體方法是:向行線輸出全掃描字00H,把全部列線置成低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵被按下,總會(huì)有一根行線電瓶被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個(gè)按鍵被按下通常是通過將列線逐列至低電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的按鍵不在此列;如果不全為1,則所按下的按鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)按鍵。2.2.9操作面板10個(gè)數(shù)字鍵用來輸入密碼,另外6個(gè)功能鍵分別是:更正、改密、鎖定。其中更正鍵的功能是當(dāng)輸入密碼錯(cuò)誤的時(shí)候,清除前面已經(jīng)輸入的數(shù)據(jù),重新輸入。在輸入密碼狀態(tài)下,0-9數(shù)字鍵為有效鍵,有時(shí)間和次數(shù)限制功能:只有三次輸入密碼機(jī)會(huì),每次限制在10秒內(nèi)完成,輸入密碼有誤或每次輸入密碼超時(shí),則被認(rèn)為是密碼輸入錯(cuò)誤。當(dāng)3次輸入都錯(cuò)誤時(shí),程序?qū)⒎祷仄鹗紶顟B(tài)。密碼輸入正確后,繼電器吸合,表示鎖被打開。在密碼輸入正確的情況下,程序進(jìn)入查看密碼和修改密碼狀態(tài),。按“改密”鍵進(jìn)入重新設(shè)置密碼狀態(tài),在輸入密碼時(shí),如發(fā)現(xiàn)輸入有誤,可按“更正”鍵刪除后,重新輸入,按“鎖定”確認(rèn)后,程序退出修改密碼狀態(tài)。2.3液晶顯示電路本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的為了達(dá)到界面友好的目的,顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管完成。開鎖時(shí),按下鍵盤上的開鎖按鍵后,利用鍵盤上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),如果輸入的密碼正確的話,LCD顯示“OK”,綠燈亮起,單片機(jī)其中P3.0引腳會(huì)輸出低電平,使三極管T2導(dǎo)通,電磁鐵吸合,繼電器開關(guān)跳轉(zhuǎn),電子密碼鎖被打開,如果密碼不正確,LCD顯示屏?xí)@示“ERROR”,P3.0輸出的是高電平,電子密碼鎖不能打開,同時(shí)紅燈亮起。通過LCD顯示屏,可以清楚地判斷出密碼鎖所處的狀態(tài)。圖2.6顯示器電路2.4系統(tǒng)程序設(shè)計(jì)方法系統(tǒng)的程序設(shè)計(jì)采用C語言編碼。設(shè)計(jì)方法是先用文本編輯器編寫源碼,然后用軟件KeilC51編譯,如果沒有錯(cuò)誤,可連接生成.HEX格式的文件(需事先在KeilC51中設(shè)置)。如果有錯(cuò)誤則無法連接,但可在生成的.OBJ文件中找到代碼錯(cuò)誤的地方,便于修改。當(dāng)然也可以直接在Keil中編碼。生成的HEX文件是記錄文本行的ASCII文本文件,在HEX文件中,每一行是一個(gè)HEX記錄,由十六進(jìn)制數(shù)組成的機(jī)器碼或者數(shù)據(jù)常量。HEX文件經(jīng)常被用于將程序或數(shù)據(jù)傳輸存儲(chǔ)到ROM、EPROM,大多數(shù)編程器和模擬器使用HEX文件。系統(tǒng)的初始化包括堆棧起始地址的設(shè)定,兩個(gè)定時(shí)/計(jì)數(shù)器的設(shè)定,液晶顯示模式的設(shè)定,密碼緩沖區(qū)的初始化,一些自定義數(shù)據(jù)空間的初始化,蜂鳴器初始化發(fā)聲等操作。系統(tǒng)初始化并讀取密碼完成后,液晶顯示"PASSWORDCONTROL",提示用戶可以輸入密碼。此時(shí)程序即不斷測(cè)試按鍵,檢查是否有按鍵被按下。如果有,則進(jìn)行按鍵識(shí)別;如果沒有按鍵按下,或者按下的按鍵沒有被識(shí)別,R3賦值0FFH,并跳轉(zhuǎn)至按鍵測(cè)試。實(shí)際程序運(yùn)行時(shí),絕大部分時(shí)間都在測(cè)試按鍵,等待用戶輸入。第三章系統(tǒng)軟件設(shè)計(jì)及功能實(shí)現(xiàn)3.1系統(tǒng)軟件設(shè)計(jì)流程圖圖3.1系統(tǒng)軟件設(shè)計(jì)流程圖 3.2功能實(shí)現(xiàn)圖3.2電子密碼鎖功能實(shí)現(xiàn)圖該電子密碼鎖采用的是數(shù)電知識(shí),用觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了10個(gè)用戶輸入鍵,其中只有6個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動(dòng)清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過10秒(一般情況下,用戶不會(huì)超過10秒,若用戶覺得不便,還可以修改)電路將報(bào)警5秒,若電路連續(xù)報(bào)警三次電路將鎖定鍵盤2分鐘,防止他人的非法操作。結(jié)論歷經(jīng)幾個(gè)月的畢業(yè)設(shè)計(jì)即將結(jié)束,回想這段時(shí)間收獲頗多。所做的設(shè)計(jì)基本上達(dá)到了任務(wù)書上的要求,能夠顯示環(huán)境溫度和目標(biāo)溫度,而且溫度分辨值比要求的還高。本設(shè)計(jì)主要包括兩大部分:硬件設(shè)計(jì)和軟件設(shè)計(jì)部分,硬件部分包括了單片機(jī)處理模塊、LED顯示模塊、鍵盤模塊和電平轉(zhuǎn)換模塊、軟件部分主要包括主程序模塊、LED顯示程序模塊。通過對(duì)硬件電路設(shè)計(jì)我對(duì)protel軟件的使用更加熟練,而通過運(yùn)用Keil進(jìn)行軟件的設(shè)計(jì)使我的編程和調(diào)試能力也有很大的提高。這不僅使我對(duì)課本上所學(xué)的知識(shí)有了更進(jìn)一步的了解,而且也提高了我的動(dòng)手能力,理論聯(lián)系實(shí)際能力為今后的學(xué)習(xí)和工總打下了堅(jiān)實(shí)的基礎(chǔ)。但同時(shí)感覺自己還有很多地方需要完善和提高,設(shè)計(jì)的產(chǎn)品與實(shí)際還有一定的差距,例如可以通過按鍵靈活測(cè)溫,如果再加上語音播報(bào)功能就更加完善了。所以在今后的工作中還要不斷的學(xué)習(xí)充電,掌握更多的技能。爭(zhēng)取能搞在此基礎(chǔ)上設(shè)計(jì)更出色的智能化儀器。通過這次課程設(shè)計(jì),發(fā)現(xiàn)自己將學(xué)過的知識(shí)轉(zhuǎn)換成解決實(shí)際問題的能力還比較弱,在今后的學(xué)習(xí)中要努力增強(qiáng)解決實(shí)際問題的能力;通過這次課程設(shè)計(jì),也為今后的學(xué)習(xí)積累了很多寶貴的經(jīng)驗(yàn)。致謝大學(xué)三年學(xué)習(xí)時(shí)光已經(jīng)接近尾聲,在此我想對(duì)我的母校,我的父母、親人們,我的老師和同學(xué)們表達(dá)我由衷的謝意。感謝我的家人對(duì)我大學(xué)三年學(xué)習(xí)的默默支持;感謝我的母校給了我我在大學(xué)三年深造的機(jī)會(huì),讓我能繼續(xù)學(xué)習(xí)和提高;老師們課堂上的激情洋溢,課堂下的諄諄教誨;同學(xué)們?cè)趯W(xué)習(xí)中的認(rèn)真熱情,生活上的熱心主動(dòng),所有這些都讓我的三年充滿了感動(dòng)。這次畢業(yè)論文設(shè)計(jì)我得到了很多老師和同學(xué)的幫助,感謝我的指導(dǎo)老師,我的本次畢業(yè)設(shè)計(jì)和論文是在他的悉心指導(dǎo)和關(guān)心下完成的,不論是在畢業(yè)設(shè)計(jì)方面還是其他方面,老師都給予我很大的關(guān)心和支持,正是由于這些細(xì)微的關(guān)懷,一直激勵(lì)著我去努力做好本次畢業(yè)設(shè)計(jì)。老師精湛的專業(yè)知識(shí)、耐心的工作態(tài)度和真誠(chéng)的待人風(fēng)格給我留下了非常深刻的印象,對(duì)我以后的工作和生活將產(chǎn)生很大的影響。他在程序設(shè)計(jì)及電路制作上給予我相當(dāng)大的幫助。真摯的向?qū)熣f聲謝謝。我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調(diào)整等各個(gè)環(huán)節(jié)中都給予了我悉心的指導(dǎo)。這幾個(gè)月以來,李老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想給我以無微不至的關(guān)懷,在此謹(jǐn)向李老師致以誠(chéng)摯的謝意,同時(shí),本畢業(yè)論文的寫作也得到了同學(xué)的熱情幫助。感謝在整個(gè)畢業(yè)設(shè)計(jì)期間和我密切合作的同學(xué),和曾經(jīng)在各個(gè)方面給予過我?guī)椭幕锇閭?,在此,我再一次真誠(chéng)地向幫助過我的老師和同學(xué)表示感謝!參考文獻(xiàn)[1]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1990.[2]《單片機(jī)課程設(shè)計(jì)指導(dǎo)》北京航天航空大學(xué)出版社2002

[3]譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.7.[4]李廣弟單片機(jī)基礎(chǔ)[M].(第三版)北京:北京航空航天大學(xué)出版社,2007[5]李明喜.新型電子密碼鎖的設(shè)計(jì)[J].[6]譚浩強(qiáng).C++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004[7]祖龍起,劉仁杰.一種新型可編程密碼鎖[J].大連輕工業(yè)學(xué)院學(xué)報(bào),2002[8]李明喜.新型電子密碼鎖的設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2004[9]董繼成.一種新型安全的單片機(jī)密碼鎖[J].電子技術(shù),2004[10]榮貴.電子制作[M].科學(xué)技術(shù)文獻(xiàn)出版社,2003附錄1硬件電路原理圖及PCB圖圖151單片機(jī)電子密碼鎖電路原理圖實(shí)物圖圖251單片機(jī)電子密碼鎖實(shí)物圖圖351單片機(jī)電子密碼鎖PCB圖按鍵掃描程序:#include<reg52.h> //調(diào)用單片機(jī)頭文件#defineucharunsignedchar//無符號(hào)字符型宏定義 變量范圍0~255#defineuintunsignedint //無符號(hào)整型宏定義 變量范圍0~65535#include"lcd1602.h"#include"iic.h"ucharvalue,i; //變量ucharflag_lj_en;//邊加ucharflag_lj_en_value;sbitrelay=P2^2;//繼電器定義sbitbeep=P3^3;//蜂鳴器定義sbitbeiguan=P2^3;//背光uintflag_time;uintflag_guan;ucharsmg_i;uchardis_smg[7]={0};ucharpassword[7]={6,5,4,3,2,1}; //密碼保存ucharpassword_bj[7]={1,2,3,4,5,6}; //密碼比較ucharcodepassword_r[6]={1,2,3,1,2,3};ucharcodepassword_gl[6]={5,2,0,0,2,5};ucharpassword_xg[6]; //密碼修改ucharflag_password;//密碼正確否ucharflag_password_cichu1;//密碼錯(cuò)誤次數(shù)bitflag_200ms=1;//200ms標(biāo)志位ucharkey_can;ucharmenu_1,menu_i;#include"iic.h"/***********************1ms延時(shí)函數(shù)*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}voidkey() //獨(dú)立按鍵程序{ staticucharkey_new=0,key_l; key_can=20;//按鍵值還原 P1=0x0f; if((P1&0x0f)!=0x0f) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P1&0x0f)!=0x0f)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; key_l=(P1|0xf0);//矩陣鍵盤掃描 P1=key_l; switch(P1) { case0xee:key_can=1;break;//得到按鍵值 case0xde:key_can=4;break;//得到按鍵值 case0xbe:key_can=7;break;//得到按鍵值 case0x7e:key_can=10;break;//得到按鍵值

溫馨提示

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

評(píng)論

0/150

提交評(píng)論