基于51單片機(jī)的智能密碼鎖_第1頁
基于51單片機(jī)的智能密碼鎖_第2頁
基于51單片機(jī)的智能密碼鎖_第3頁
基于51單片機(jī)的智能密碼鎖_第4頁
基于51單片機(jī)的智能密碼鎖_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

word完美格式word完美格式精心整理學(xué)習(xí)幫手精心整理學(xué)習(xí)幫手word完美格式精心整理學(xué)習(xí)幫手單片機(jī)的電子密碼鎖目錄第一章緒論..............................................................................................21.1電子密碼鎖簡介................................................................................21.2電子密碼鎖設(shè)計的背景及意義.............................................................................................3第2章總體設(shè)計........................................................................................................................32.1設(shè)計分析................................................................................................................................32.2系統(tǒng)結(jié)構(gòu)................................................................................................................................4第3章硬件電路設(shè)計....................................................................................................................53.1單片機(jī)最小系統(tǒng)設(shè)計............................................................................................................51.1時鐘電路.............................................................................................................................53.1.2復(fù)位電路..........................................................................................................................63.1.3最小系統(tǒng)..........................................................................................................................6矩陣鍵盤設(shè)計....................................................................................................................7LCD顯示模塊設(shè)計.............................................................................................................8開鎖機(jī)構(gòu)............................................................................................................................9報警機(jī)構(gòu)............................................................................................................................10硬件綜合設(shè)計....................................................................................................................10第4章軟件設(shè)計.......................................................................................................................11軟件總體設(shè)計.....................................................................................................................11鍵盤掃描子程序................................................................................................................12定時器中斷子程序............................................................................................................14密碼輸入子程序.................................................................................................................15報警子程序.........................................................................................................................16總結(jié).............................................................................................................................................17參考文獻(xiàn).....................................................................................................................................18附錄程序源代碼.......................................................................................................................19摘要:本文中將要介紹的單片機(jī)電子密碼鎖是一種通過判斷密碼輸入是否正確來控制電路或是芯片的工作狀態(tài),進(jìn)而控制鎖的打開和閉合。本設(shè)計是基于STC89C52單片機(jī)為控制核心的密碼鎖設(shè)計方案。在本次基于單片機(jī)的電子密碼鎖設(shè)計中,將采用STC89C52單片機(jī)作為控制核心,配合相應(yīng)的電路和軟件程序,實現(xiàn)密碼的輸入和修改、信息的顯示、鍵盤的鎖定、系統(tǒng)報警、開鎖和閉鎖等功能。在設(shè)計中利用識別密碼是否正確來開鎖或報警,通過串行存儲器AT24C02來實現(xiàn)密碼的修改和存儲。本文設(shè)計的密碼鎖具有安全性高、功耗低、操作簡單等優(yōu)點(diǎn)。關(guān)鍵詞:單片機(jī);密碼鎖;矩陣鍵盤;掉電存儲第1章緒論1.1電子密碼鎖簡介什么是電子密碼鎖?“一種通過密碼輸入來控制電路或者是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。”——百度百科上是這樣解釋的。簡單來說,電子密碼鎖就是能夠?qū)崿F(xiàn)密碼等信息的設(shè)置、存貯、識別和顯示,以及報警信號的接收和發(fā)送等功能的電子器件。電子密碼鎖相對傳統(tǒng)機(jī)械鎖有以下幾個優(yōu)勢:(1)密碼可更改。用戶可以隨時更改密碼,以確保密碼鎖的安全性和可靠性??梢愿拿艽a這一功能同時也避免了人員的更替而使鎖的安全性降低,這是傳統(tǒng)鑰匙鎖所不具備的功能。(2)操作簡單。無論是開鎖還是更改密碼,只要識字的人都能夠直接使用,使用方法簡單而不繁瑣。(3)能夠報警。報警功能無疑更增加了鎖的安全性。(4)無法“技術(shù)”破解。不知道密碼就無法打開鎖,即使是慣偷也只能望“鎖”興嘆。1.2電子密碼鎖設(shè)計的背景及意義在現(xiàn)代文明社會中,隨著人們生活水平和自身防范意識的提高,個人財產(chǎn)安全和人身安全的問題也越來越受到人們的重視,擁有一把能夠有效保證居民財產(chǎn)安全和人身安全的鎖具也越發(fā)的重要起來。在這樣的大環(huán)境下,基于單片機(jī)的電子密碼鎖也應(yīng)運(yùn)而生。這種電子密碼鎖是以單片機(jī)為核心,配以相應(yīng)的硬件電路和軟件程序,實現(xiàn)密碼的設(shè)置、存貯、識別和顯示,以及報警信號的接收和發(fā)送等功能,具有操作快、修改密碼簡單、安全性高、功耗低等優(yōu)點(diǎn)?;趩纹瑱C(jī)的電子密碼鎖的出現(xiàn)使人們的自身財產(chǎn)安全有了更多的保障,也使人們出行更為方便。第2章總體設(shè)計2.1設(shè)計分析精心整理學(xué)習(xí)幫手精心整理學(xué)習(xí)幫手精心整理學(xué)習(xí)幫手word完美格式word完美格式一個電子密碼鎖,應(yīng)該能實現(xiàn)以下功能:(1)能夠從鍵盤中輸入密碼,并相應(yīng)地在顯示器上顯示*;(2)能夠判斷密碼是否正確,正確則開鎖,錯誤則輸出相應(yīng)信息;(3)能夠?qū)崿F(xiàn)密碼的修改;(4)斷電或者單片機(jī)復(fù)位后能夠保存之前的操作,比如密碼的修改;(5)在操作錯誤達(dá)到一定次數(shù)后能夠報警;(6)在一定時間內(nèi)沒有任何按鍵操作則關(guān)閉顯示器,并鎖定鍵盤,禁止鍵盤輸入(單片機(jī)復(fù)位后鎖定取消);(7)設(shè)置一個備用密碼。為了防止用戶忘記密碼而開不了鎖,應(yīng)該在經(jīng)常使用的密碼外再設(shè)置一個備用密碼以防萬一。此備用密碼應(yīng)該只有少數(shù)人知道,比如小區(qū)管理員。根據(jù)以上分析,本次電子密碼鎖設(shè)計的主要重點(diǎn)是以下幾個部分4x4矩陣鍵盤設(shè)計、LCD信息顯示、密碼的掉電存儲和密碼的比較和處理。當(dāng)然,除了這幾個部分外還有定時器/計數(shù)器計時中斷和報警等功能模塊?;趯嶋H情況,在設(shè)計中,用發(fā)光二極管代替電磁鎖,二極管亮則代表鎖開,二極管不亮則代表鎖關(guān)。2.2系統(tǒng)結(jié)構(gòu)本設(shè)計系統(tǒng)主要由單片機(jī)芯片、矩陣鍵盤、LCD顯示模塊、掉電存儲模塊、報警機(jī)構(gòu)和開鎖機(jī)構(gòu)組成。如圖2-1所示。word完美格式word完美格式圖2-1系統(tǒng)總體設(shè)計結(jié)構(gòu)圖時鐘電路給單片機(jī)提供晶振頻率,復(fù)位電路不但使單片機(jī)上電復(fù)位,還能在使用過程中通過需要通過按鍵再次手動復(fù)位,矩陣鍵盤提供按鍵的輸入,LCD模塊顯示信息,掉電存儲負(fù)責(zé)密碼的存儲,開鎖機(jī)構(gòu)和報警機(jī)構(gòu)分別負(fù)責(zé)開鎖和報警功能。設(shè)計中,單片機(jī)選用STC89C52,LCD顯示模塊選用LCD1602液晶顯示器,串行存儲器選用電可擦除存儲器AT24C02,開鎖機(jī)構(gòu)用發(fā)光二極管代替,報警機(jī)構(gòu)選用蜂鳴器。第3章硬件電路設(shè)計3.1單片機(jī)最小系統(tǒng)設(shè)計單片機(jī)最小系統(tǒng)就是指能使單片機(jī)工作的最少的器件構(gòu)成的系統(tǒng)。因為單片機(jī)已經(jīng)包含了數(shù)據(jù)存儲器和程序存儲器,所以只要在其外部加上時鐘電路和復(fù)位電路就可以構(gòu)成單片機(jī)最小系統(tǒng)。3.1.1時鐘電路word完美格式word完美格式單片機(jī)工作需要晶振給CPU提供頻率,時鐘電路就是給單片機(jī)提供晶振頻率的電路。圖3-1是時鐘電路的PROTEUS仿真圖。圖3-1時鐘電路單片機(jī)允許的振蕩晶體可在1.2~24MHz之間選擇,一般為11.0592MHz,電容C2,C3的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振速度有一定的影響,可在20~100pF之間選擇,典型值位pF30。3.1.2復(fù)位電路計算機(jī)每次開始工作,CPU和系統(tǒng)中的其他部件都必須要有一個確定的初值,即復(fù)位狀態(tài)。圖3-2是單片機(jī)復(fù)位電路仿真圖。圖3-2復(fù)位電路單片機(jī)RST引腳是高電平有效。單片機(jī)在上電瞬間C1充電,RST引腳端出現(xiàn)正脈沖,只要RST斷保持兩個機(jī)械周期(大約10ms)以上的高電平,單片機(jī)就能復(fù)位。在單片機(jī)工作后,如果還想再次復(fù)位,只需按下開關(guān),單片機(jī)就能重新變成復(fù)位狀態(tài)。word完美格式word完美格式3.1.3最小系統(tǒng)單片機(jī)加上時鐘電路和復(fù)位電路就構(gòu)成了能使其正常工作的最小系統(tǒng)。圖3-3是單片機(jī)最小系統(tǒng)的完整仿真圖。圖3-3單片機(jī)最小系統(tǒng)3.2矩陣鍵盤設(shè)計一組鍵或者一個鍵盤,需要通過接口電路和CPU相連接,CPU可以采用查詢接口或者中斷的方式了解有沒有鍵被按下,并檢查是哪個鍵被按下。無論是查詢方式還是中斷方式都要用到單片機(jī)的I/O口。由于單片機(jī)I/O口較少的原因,當(dāng)系統(tǒng)中需要用到較多按鍵時,為了能夠更合理更有效地利用單片機(jī)的I/O口,一般采用矩陣鍵盤的方式來實現(xiàn)多按鍵的功能。圖3-4是4x4矩陣鍵盤在PROTEUS中的電路原理仿真圖。word完美格式word完美格式圖3-44x4矩陣鍵盤矩陣鍵盤又叫做行列式鍵盤。行列式鍵盤的硬件結(jié)構(gòu)比較簡單,由行輸出口和列輸出口構(gòu)成行列式鍵盤,按鍵設(shè)置在行、列交點(diǎn)上。圖3-4中,P1.0-P1.3是行輸出口,P1.4-P1.7是列輸出口。行輸出口和列輸出口不相交,只有當(dāng)鍵被按下時相應(yīng)的行和列才能相連。如此,只要檢測行和列是否相連就可以知道是否有鍵按下。3.3LCD顯示模塊設(shè)計1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊。它由若干個75X或者X115等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符,每位之間有一個點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。圖3-5是PROTEUS中顯示模塊的仿真圖,由于LCD要正常工作必須提供足夠的電流,因此在實際應(yīng)用為了保證顯示器能夠正常工作,應(yīng)在數(shù)據(jù)端口接一上拉電阻。圖3-5中RP1同時還是P0口的上拉電阻。word完美格式word完美格式圖3-5LCD模塊仿真圖3.4開鎖機(jī)構(gòu)在基于單片機(jī)的電子密碼鎖設(shè)計中,用戶需要輸入密碼,密碼正確則發(fā)出開鎖信號開鎖。因為在設(shè)計中是以發(fā)光二極管代替電磁鎖,二極管亮代表鎖開,因此可以設(shè)計一個簡單的可以點(diǎn)亮二極管的電路系統(tǒng)代替電磁鎖開鎖機(jī)構(gòu)。如圖3-9所示。圖3-6,二極管電路由于單片機(jī)I/O口默認(rèn)為高電平,故初始時二極管不亮,代表鎖是閉著的。當(dāng)用戶輸入密碼并驗證正確時,發(fā)出開鎖信號,(使P3.6=0)。word完美格式word完美格式3.5報警機(jī)構(gòu)在這次基于單片機(jī)的電子密碼鎖設(shè)計中,通過控制蜂鳴器的發(fā)音來實現(xiàn)系統(tǒng)的報警功能。蜂鳴器是一種采用直流電壓供電的電子訊響器。圖3-10是用蜂鳴器模擬的報警機(jī)構(gòu)仿真圖。圖3-7,報警機(jī)構(gòu)模擬仿真圖當(dāng)P3.7口有脈沖信號輸入時,蜂鳴器SPEAKER即會發(fā)音。通過控制輸入脈沖的頻率還能控制蜂鳴器的發(fā)音頻率。當(dāng)用戶輸入密碼錯誤次數(shù)達(dá)到預(yù)設(shè)警告次數(shù)時系統(tǒng)調(diào)用報警子程序,使蜂鳴器發(fā)出報警音,同時禁止鍵盤輸入。3.6硬件綜合設(shè)計根據(jù)電路原理,在PROTEUS中畫出各功能模塊的仿真圖,各個功能模塊驗證正確后,將所有模塊集合到一個電路設(shè)計圖中,畫出具有所有功能的總體硬件仿真圖。圖3-11即為本設(shè)計的硬件綜合設(shè)計圖。word完美格式word完美格式圖3-8基于單片機(jī)的電子密碼鎖設(shè)計仿真圖待程序編寫好后,將KEIL和PROTEUS聯(lián)調(diào),觀察此電路設(shè)計圖可以知道各個功能模塊和器件的工作情況。屆時,根據(jù)實際情況可以適當(dāng)修改電路圖或者程序,以達(dá)到設(shè)計的目的。第4章軟件設(shè)計4.1軟件總體設(shè)計根據(jù)電子密碼鎖的實際應(yīng)用要求和其應(yīng)該具有的功能,本次設(shè)計的主程序流程圖如圖4-1所示。word完美格式word完美格式圖4-1主程序流程圖此次基于單片機(jī)的電子密碼鎖設(shè)計的軟件設(shè)計方面的主要問題是如何實現(xiàn)鍵盤輸入、信息顯示、密碼的掉電存儲以及密碼的比較和處理,以下附有部分問題的軟件處理。4.2鍵盤掃描子程序矩陣鍵盤掃描子程序應(yīng)該具有以下2個基本的功能:(1)能判斷是否有鍵按下;(2)能確定是哪個鍵被按下。其軟件管理主要分為以word完美格式word完美格式下三步來完成:(1)判斷整個鍵盤是否有鍵按下。讓所有的行為0然后讀列的數(shù)值。如果列的數(shù)值全部為1,說明沒有鍵被按下,否則說明有鍵被按下。(2)識別被按下的鍵的位置。采用一行一行的掃描方法,逐行輸出,0然后讀列的值。如果列的數(shù)值全部為1,說明不是這一行的按鍵被按下,掃描下一行,如果列的數(shù)值不全為1,則說明被按下的按鍵時在這一行。(3)查鍵值表,返回鍵值對應(yīng)信息,以便確定各按鍵應(yīng)該完成的功能。本設(shè)計中各按鍵對應(yīng)鍵值如表3所示。表4-1按鍵鍵值表鍵盤掃描子程序的流程圖如圖4-2所示word完美格式word完美格式圖4-2鍵盤掃描程序流程圖從流程圖可以看出,此鍵盤識別程序是通過逐行掃描來確定是否有鍵按下,當(dāng)確定某一行有鍵按下時,再在該行中確定被按下的是哪一個按鍵。在本設(shè)計中,數(shù)字鍵0~9對應(yīng)輸入數(shù)字0~9,功能鍵A鍵是確定鍵B鍵是取消鍵,C鍵是改密碼鍵,D鍵位閉鎖鍵,E鍵和F鍵閑置不用。4.3定時器中斷子程序為了防止戶主以外的“借用”戶主的密碼當(dāng)沒有任何按鍵被按下的狀態(tài)持續(xù)一段時間后(比如20S內(nèi)),應(yīng)該馬上關(guān)閉顯示器屏幕,word完美格式word完美格式同時禁止按鍵的輸入。這樣做可以避免因為戶主忘記退出系統(tǒng)而使他人有機(jī)可乘。圖4-7為實現(xiàn)此功能的程序流程圖。圖4-7定時關(guān)閉屏幕和鎖定鍵盤輸入程序流程圖4.4密碼輸入子程序當(dāng)從鍵盤輸入密碼時,應(yīng)當(dāng)將輸入的密碼存放,以便用做密碼的相關(guān)操作、判斷、修改和保存等。同時每輸入一位密碼應(yīng)相應(yīng)地在顯示器上顯示一個“*”號。圖4-8是密碼輸入子程序的流程圖。word完美格式word完美格式圖4-8密碼輸入程序流程圖輸入密碼時,當(dāng)輸入的密碼位數(shù)小于6位的時候,每按下一次數(shù)字鍵就將此數(shù)字存入數(shù)組。當(dāng)輸入的密碼位數(shù)不小于6位時,再次按下數(shù)字鍵,程序就不進(jìn)行任何處理,繼續(xù)掃描鍵盤,此時只有按下確定鍵或者取消鍵程序才做出相應(yīng)反應(yīng)。取消鍵的功能是退格。當(dāng)不小心輸錯密碼時,可以退格將輸錯的位清除,退格一次密碼的位數(shù)減一位同時顯示器上的“*”個數(shù)也減1。當(dāng)輸入的密碼位數(shù)變?yōu)?時,取消鍵不再起作用。提示:初始密碼為:1111114.5報警子程序報警子程序的原理很簡單,即當(dāng)輸入密碼錯誤次數(shù)超過規(guī)定的最高允word完美格式word完美格式許次數(shù)時,不斷給蜂鳴器脈沖使其不斷發(fā)音。同時由于CPU一直在給蜂鳴器提供脈沖故無暇處理諸如密碼掃描等事件,也就是說,在蜂鳴器報警的同時也屏蔽了鍵盤的輸入。本次設(shè)計中,密碼輸入錯誤次數(shù)不得高于3次。圖4-9為報警子程序流程圖。圖4-9報警子程序流程圖總結(jié)本次制作終于完成了,所有設(shè)計要求具備的功能都得到了實現(xiàn)具體如下:(1)加電后,單片機(jī)自動復(fù)位,LCD顯示提示輸入密碼的信息。(2)輸入密碼時,只逐位顯示“*”以防止密碼泄漏。(3)在按鍵輸入的過程中,如果不小心輸錯,可以清除所輸入的錯誤內(nèi)容,然后繼wordword完美格式續(xù)輸入。(4)當(dāng)密碼輸入完畢并按下確認(rèn)鍵后,單片機(jī)將輸入的密碼與設(shè)定的密碼比較,若密碼正確,則打開密碼鎖,若密碼不正確,則無法打開密碼鎖。(5)在密碼輸入錯誤次數(shù)達(dá)到預(yù)設(shè)值時,啟動報警程序報警。(6)可以在開鎖后進(jìn)行密碼的修改,但需要兩次輸入確認(rèn)。(7)修改的密碼存入AT24C02,不會因為掉電的原因而丟失。(8)在長時間沒有按鍵輸入時,系統(tǒng)鎖定顯示器,并禁止按鍵的輸入。由于設(shè)計水平有限,此次設(shè)計還是存在一些缺陷,比如:(1)報警系統(tǒng)的報警音量不夠大,雖然加了一個三極管作為驅(qū)動,使得問題得到了改善,但是問題還是沒有得到完美的解決。(2)本次設(shè)計的實物不夠美觀,器件布局不夠緊湊,造成浪費(fèi)。參考文獻(xiàn)[1]康華光陳大欽.電子技術(shù)基礎(chǔ)模擬部分[M].北京高等教育出版社2005.[2]彭容修.數(shù)字電子技術(shù)基礎(chǔ).武漢武漢理工大學(xué)出版社2007[3]譚浩強(qiáng).C程序設(shè)計[M].北京清華大學(xué)出版社2005[4]姜志海黃玉清劉連鑫.單片機(jī)原理及應(yīng)用.北京電子工業(yè)出版社2009[5]李華.MCS-51系列單片機(jī)使用接口技術(shù).北京航空航天大學(xué)出版社,1993[6]楊欣.王玉鳳.51單片機(jī)應(yīng)用實例詳解.清華大學(xué)出版社,2010[7]侯寶玉.基于Proteus的51系列單片機(jī)設(shè)計與仿真[M].北京電子工業(yè)出版社2001word完美格式word完美格式精心整理學(xué)習(xí)幫手精心整理學(xué)習(xí)幫手word完美格式精心整理學(xué)習(xí)幫手附錄部分程序源代碼密碼初始化:(初始密碼:111111)uchardatakong[7]={'\0','\0','\0','\0','\0','\0',0};uchardatamima[7]={'1','2','3','4','5','6',0};uchardatamima0[7]={'\0','\0','\0','\0','\0','\0',0};uchardatamima1[7]={'\0','\0','\0','\0','\0','\0',0};uchardatamima2[7]={'\0','\0','\0','\0','\0','\0',0};uchardatamima3[7]={'\0','\0','\0','\0','\0','\0',0};uchardatatable1[7]={'1','1','1','1','1','1',0};報警子程序:voidwarn(){P37=1;NOP3();NOP3();NOP3();P37=0;NOP3();NOP3();NOP3();}定時器子函數(shù):voidtime(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}定時函數(shù),在一定時間沒有鍵按下,關(guān)閉顯示器:voidtime_1()interrupt1//{TH0=(65536-65536)/256;TL0=(65536-65536)%256;time_50ms++;if(time_50ms==20){time_1s++;time_50ms=0;}if(time_1s==20){write_1602com(0x01);write_1602com(0x0c);time_1s=0;while(1);}}將輸入密碼放進(jìn)數(shù)組:ucharenter(ucharpassword[]){ucharm=0,j,back=0;for(m=0;;){j=key_num();time_50ms=0;time_1s=0;if(j>='0'&&j<='9'&&m<6){write_1602com(0x06);password[m]=j;m++;write_1602dat('*');}if(j=='a'){password[m+1]='\0';return1;}if(j=='b'){if(m>0){write_1602com(0x11);write_1602dat(0x

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論