指紋 密碼鎖設(shè)計(jì)-畢業(yè)論文_第1頁
指紋 密碼鎖設(shè)計(jì)-畢業(yè)論文_第2頁
指紋 密碼鎖設(shè)計(jì)-畢業(yè)論文_第3頁
指紋 密碼鎖設(shè)計(jì)-畢業(yè)論文_第4頁
指紋 密碼鎖設(shè)計(jì)-畢業(yè)論文_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)說明 題目 指紋 密碼鎖設(shè)計(jì) 專業(yè)名稱機(jī)電一體化技術(shù)學(xué)生姓名xxxxx學(xué) 號0202120108指導(dǎo)教師韓全力畢業(yè)時(shí)間2015年6月河南工業(yè)職業(yè)技術(shù)學(xué)院 電子密碼鎖的設(shè)計(jì)設(shè)計(jì)論文畢業(yè) 任務(wù)書一、題目:電子密碼鎖的設(shè)計(jì)二、指導(dǎo)思想和目的要求: 應(yīng)對人們當(dāng)今對安全性要求的提高,避免機(jī)械鎖帶來的麻煩。實(shí)現(xiàn)電子鎖控制,方便人們使用,降低危險(xiǎn)系數(shù),增加人們的安全感。三、主要技術(shù)指標(biāo): 日歷時(shí)鐘DS1302工作電壓2.5V5.5V 溫度DS18B20電壓范圍:3.0V5.5V、溫度范圍:-55+125 精度:正負(fù)0.5。四、進(jìn)度和要求: 準(zhǔn)備階段:2014年10月前,確認(rèn)題目,準(zhǔn)備與題目相關(guān)的資料

2、制定設(shè)計(jì)方案階段:2014年11月前,根據(jù)題目列提綱準(zhǔn)備寫論文,在這其中翻閱與之相關(guān)的資料,逐漸融匯貫通,形成自己的理解設(shè)計(jì)階段:提交論文接受老師指導(dǎo),根據(jù)老師的建議對其進(jìn)行修改以便最終完成答辯總結(jié)提高階段:在老師指導(dǎo)和幫助下,通過自己的努力完成這次設(shè)計(jì),在設(shè)計(jì)過程中雖然自己遇到了困難,但最后自己還是完成了設(shè)計(jì),而自己也在這次設(shè)計(jì)中學(xué)到了知識,提高了自己的能力。五、主要參考書及參考資料:MCS51 單片機(jī)原理及應(yīng)用教程、單片機(jī)外圍電路設(shè)計(jì) 單片機(jī)原理機(jī)應(yīng)用、單片機(jī)應(yīng)用技術(shù)教程、單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù) 單片機(jī)原理及應(yīng)用、C51基礎(chǔ)與應(yīng)用實(shí)例、51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)力精講、單片機(jī)C語言案例

3、教程 8051單片機(jī)C語言程序設(shè)計(jì)與實(shí)力解析學(xué)生:王天明 指導(dǎo)教師:王記昌 系主任:2014年11月10日目 錄摘要I第1章 緒 論11.1 電子密碼鎖簡介11.2 電子密碼鎖的發(fā)展趨勢11.3本設(shè)計(jì)所實(shí)現(xiàn)的功能2第2章 方案比較與論證32.1 方案一:采用數(shù)字電路控制32.2 方案二:以單片機(jī)為核心的控制方案3第3章 系統(tǒng)模塊電路設(shè)計(jì)53.1 系統(tǒng)總框圖53.2 系統(tǒng)的模塊電路設(shè)計(jì)63.2.1單片機(jī)最小系統(tǒng)模塊63.2.2 時(shí)鐘電路模塊73.2.3鍵盤模塊93.2.4顯示模塊113.2.5電源模塊123.2.6 溫度檢測電路設(shè)計(jì)133.2.7開鎖電路與報(bào)警電路設(shè)計(jì)15第4章 系統(tǒng)的軟件設(shè)計(jì)1

4、6 4.1軟件設(shè)計(jì)電路16 4.2 系統(tǒng)主程序圖16第5章 總 結(jié)22致 謝23參考文獻(xiàn)24附錄25摘要隨著人民生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變得尤其突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造簡單,安全性低,無法滿足人們的需求。隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,單片機(jī)已成為電子產(chǎn)品研制和開發(fā)中首選的控制器,所以具有防盜報(bào)警功能的電子密碼鎖控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼鎖控制的密碼量少,安全性能差的缺點(diǎn)。通過單片機(jī)編寫密碼程序,并用74LS47和3-8譯碼器74LS138驅(qū)動(dòng)的數(shù)碼管來顯示密碼。數(shù)碼管可以時(shí)時(shí)顯示當(dāng)前輸入的四位數(shù)字。當(dāng)輸入密碼正確時(shí),對應(yīng)的指示燈亮

5、;當(dāng)密碼不正確時(shí),另一個(gè)對應(yīng)的指示燈亮并且發(fā)出聲音警報(bào)。 關(guān)鍵詞:密碼鎖,單片機(jī),報(bào)警第1章 緒 論1.1 電子密碼鎖簡介電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實(shí)現(xiàn)的。其性能和安全性已大大超過了機(jī)械鎖。其特點(diǎn)如下: 1)保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于機(jī)械鎖。隨機(jī)開鎖成功率幾乎為零。 2)密碼可變,用戶可以隨時(shí)改變密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級下降。 3)誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),

6、報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。 4)無活動(dòng)零件,不會(huì)磨損,壽命長。 5)使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開鎖。 6)電子密碼鎖操作簡單易行,一學(xué)即會(huì)。1.2 電子密碼鎖的發(fā)展趨勢在日常生活和工作中,住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來解決。目前門鎖主要用機(jī)械鎖,其鑰匙容易丟失;保險(xiǎn)箱主要用機(jī)械密碼鎖,其結(jié)構(gòu)較為復(fù)雜,制造精度要求高,成本高,且易出現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性能即大打折扣。針對這些鎖具給人類帶來的不便若使用機(jī)械式鑰匙開鎖,為滿足人們對鎖的使用要求,增大其安全性,用密碼代替要是的密碼鎖應(yīng)用而生。它的出現(xiàn)為

7、人們的生活帶來了很大方便,有很廣闊的市場前景。由于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不全,保密性差,最基本的就是只依靠最簡單的模擬電子開關(guān)來實(shí)現(xiàn)的,制作簡單但很不安全,在后來多是基于EDA來實(shí)現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引腳的2051系列單片機(jī)來實(shí)現(xiàn)的,但密碼簡單,易破解。隨著電子元件的近一步發(fā)展,電子密碼鎖也很出現(xiàn)了很多種類,功能日益強(qiáng)大,使用更加方便,安全保密性更強(qiáng),有以前的單密碼發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實(shí)現(xiàn)了真正的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的發(fā)展以及人們對保密性需求的提高出現(xiàn)了越來越多的電子密碼鎖。出于安全

8、、方便等方面的需要許多電子密碼鎖已相繼問世。但這類產(chǎn)品的特點(diǎn)是針對特定的有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個(gè)人使用的箱、柜、房間等。由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜所獲得高度的保密性,如防范森嚴(yán)的金庫,需要使用復(fù)合信息密碼的電子防盜鎖,這樣對盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子防盜鎖獲得無窮擴(kuò)展的可能,使產(chǎn)品多樣化,對用戶而言是“千挑百選、自得其所”。可以看出組合使用電子信息是電子密碼鎖以后發(fā)展的趨勢。1.3本設(shè)計(jì)所實(shí)現(xiàn)的功能本次設(shè)計(jì)實(shí)現(xiàn)基于單片機(jī)的電子密碼鎖設(shè)計(jì),其

9、主要具有如下功能: 1)密碼通過鍵盤輸入,若密碼正確,則將鎖打開。 2)報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤數(shù)碼顯示器會(huì)出現(xiàn)錯(cuò)誤提示,若密碼輸入錯(cuò)誤超過3次,蜂鳴器報(bào)警并且鎖定鍵盤。電子密碼鎖的設(shè)計(jì)主要有三部分組成:4*4矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈,報(bào)警蜂鳴器等。密碼鎖的設(shè)計(jì)關(guān)鍵問題是實(shí)現(xiàn)密碼的輸入、清除、更改、開鎖等功能: 1)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“一”就顯示在最右邊的數(shù)碼管上,同時(shí)將先前輸入的所有“一”向左移動(dòng)一位。 2)密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示。 3)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入

10、與密碼進(jìn)行檢查核對,如果正確鎖打開,否則不打開。 主要的設(shè)計(jì)實(shí)施過程:首先,選用單片機(jī),以及選購其他電子元器件。第二步,設(shè)計(jì)硬件電路原理圖,并設(shè)計(jì)布線圖。第三步,使用Keil uVision3軟件編寫單片機(jī)的C語言程序、仿真、軟件調(diào)試。第四步,使用PROTEUS軟件進(jìn)行模擬軟、硬件調(diào)試。最后,聯(lián)合軟、硬件調(diào)試電路板,完成本次畢業(yè)設(shè)計(jì)。第2章 方案比較與論證2.1 方案一:采用數(shù)字電路控制。 其原理方框圖如圖21所示。圖21 數(shù)字密碼鎖電路方案 采用數(shù)字密碼鎖電路的好處就是設(shè)計(jì)簡單。用以74L112雙JK觸發(fā)器構(gòu)造的數(shù)字邏輯電路作為密碼鎖的控制核心,共設(shè)了9個(gè)用戶輸入鍵,其中只有6個(gè)是有效地密碼

11、按鍵,其它的都是干擾按鍵,若按下干擾按鍵,鍵盤輸入電路自動(dòng)清零,原先輸入的密碼無效,需要從新輸入:如電路聯(lián)系報(bào)警三次,電路將鎖定鍵盤10秒,防止他人的非法操作。 電路有兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。 密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。 2.2 方案二:以單片機(jī)為核心的控制方案。 首先單片機(jī)可以進(jìn)行靈活的編程設(shè)計(jì):首先在編寫程序的過程中可以根據(jù)自己的設(shè)計(jì)要求編寫適合自己的設(shè)計(jì)的程序后,可以通過下載的方式把自己根據(jù)設(shè)計(jì)所編寫的程序下載到單片機(jī)中,

12、在后續(xù)的使用過程中如果想更換程序,可以先把以前輸入的程序擦出再把自己重新編寫的程序下載到其中即可,這樣可以為在用戶節(jié)省費(fèi)用的同時(shí)增加其安全性。其次單片機(jī)上有豐富靈活的I/O端口,這些端口可以外接一些元器件,來增加其功能已實(shí)現(xiàn)其他機(jī)械鎖所無法完成的工作,如可以添加加溫度顯示、時(shí)間顯示甚至添加遙控控制功能這些都可以通過在I/O端口所添加各種元器件來完成,而這些功能在其他鎖中需要外加其它相應(yīng)的專門的部件才可以完成但對于以單片機(jī)為核心的密碼鎖來說其更容易實(shí)現(xiàn)。最后控制的準(zhǔn)確性,相對而言對于所有鎖而言精確性是最重要的,因?yàn)檫@是保證安全性的前提,如果精確性不夠高,那么其安全性很難得到相應(yīng)的保障,單片機(jī)的精

13、確性相對來說還很好。以單片機(jī)為核心的控制方案不但能實(shí)現(xiàn)基本的密碼鎖功能,而且可以增加一些附加功能。 通過比較以上兩種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大程度上擴(kuò)展功能,而且還可以方便的對系統(tǒng)進(jìn)行升級所以我們采用或一種方案。第3章 系統(tǒng)模塊電路設(shè)計(jì)3.1 系統(tǒng)總框圖 對于整個(gè)設(shè)計(jì)而言,是以單片機(jī)為中心,一切的附加設(shè)計(jì)都是圍繞著單片機(jī)進(jìn)行的。其系統(tǒng)框圖如圖31所示:圖31 系統(tǒng)框圖在圖31中所有附加元器件均以單片機(jī)為中。首先當(dāng)密碼輸入單片機(jī)后,需要通過顯示電路顯示出來,而且需要對所輸入的密碼進(jìn)行檢測,故單片機(jī)外必須要加一個(gè)密碼檢測電路,而且密碼檢測電路需要將檢測的結(jié)

14、果反饋給單片機(jī),讓單片機(jī)進(jìn)行下一步的動(dòng)作。當(dāng)密碼正確后需要調(diào)動(dòng)開鎖電路對密碼鎖進(jìn)行打開,同時(shí)開鎖電路要把開鎖的結(jié)果反饋給單片機(jī),告訴單片機(jī)鎖已經(jīng)打開;當(dāng)密碼檢測電路判斷密碼輸入錯(cuò)誤,同時(shí)把結(jié)果反饋給單片機(jī),單片機(jī)會(huì)把錯(cuò)誤信息反饋到顯示電路中,讓用戶從新輸入密碼,同時(shí)記錄密碼輸入錯(cuò)誤次數(shù)。當(dāng)密碼檢測電路3次檢測到密碼錯(cuò)誤后,得到反饋信息的單片機(jī)會(huì)直接調(diào)用報(bào)警電路,報(bào)警電路接到調(diào)用后會(huì)發(fā)出蜂鳴聲進(jìn)行報(bào)警并會(huì)把結(jié)果反饋給單片機(jī),單片機(jī)得到反饋信息后,會(huì)調(diào)用數(shù)據(jù)鎖存電路,對鍵盤進(jìn)行10秒鎖存處理,同時(shí)把信息反饋給單片機(jī),這是單片機(jī)內(nèi)的最小時(shí)鐘電路進(jìn)行計(jì)時(shí),當(dāng)10秒鎖存時(shí)間到了后,單片機(jī)會(huì)把此信息再次發(fā)

15、給數(shù)據(jù)鎖存電路中,當(dāng)鎖存電路接到信息后會(huì)解除對鍵盤的鎖存。另外,在單片機(jī)增加時(shí)鐘電路是方便用戶對時(shí)間的把握,在用戶鎖門或開門的同時(shí)可以方便的查看時(shí)間;而增加溫度傳感器則是為了對應(yīng)不同的環(huán)境對密碼鎖精度的影響,在不同的環(huán)境下,密碼鎖的精度會(huì)隨之發(fā)生變化。3.2 系統(tǒng)的模塊電路設(shè)計(jì) 3.2.1單片機(jī)最小系統(tǒng)模塊首先需要選擇單片機(jī),雖然現(xiàn)在市場上單片機(jī)的種類和型號很多,但要根據(jù)本次設(shè)計(jì)要求來對其進(jìn)行選擇由于此次設(shè)計(jì)對象是廣大普通用戶,過首先要考慮經(jīng)濟(jì)性,在滿足要求的同時(shí)應(yīng)該首先考慮經(jīng)濟(jì)性。本次設(shè)計(jì)需要用到的單片機(jī)需要外接矩陣電路和顯示電路等故在選擇時(shí)要考慮其引腳個(gè)數(shù)以及其功能。本次設(shè)計(jì)所用引腳數(shù)在3

16、0個(gè)左右,故選擇40個(gè)引腳的單片機(jī)即可。而且由于此次設(shè)計(jì)其應(yīng)該是可以反復(fù)長時(shí)間使用的,故其應(yīng)為低能耗的。進(jìn)過對功能性和性價(jià)比的綜合對比,我決定選擇AT89C51型單片機(jī)來完成此次設(shè)計(jì)。AT89C51是一種低能耗,高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適用于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活性,超有效的解決方案。AT89C51是一種帶2K字節(jié)閃爍可變成可

17、擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦出100次。該器件采用ATMEL高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL和AT89C51是一種高效微控制器,AT89C51單片機(jī)為很多嵌入式控制提供一種靈活性高切價(jià)廉的方案。圖32 AT89C51管腳圖 3.2.2 時(shí)鐘電路模塊 在選擇完單片機(jī)后需要選擇時(shí)鐘電路,雖然現(xiàn)在市場上的種類和型號很多,但需要根據(jù)此次設(shè)計(jì)來選擇相對應(yīng)的時(shí)鐘電路,由于該設(shè)計(jì)需要顯示年月日,所以最少應(yīng)該具有閏年補(bǔ)償功能。而且,本產(chǎn)品要長時(shí)間使用故能耗不能太高,最好可以找到低能

18、耗的時(shí)鐘電路,在使用過程中可能會(huì)停電,故需要修用一款可以攜帶備用電源的,及時(shí)停電時(shí)時(shí)鐘電路也可以正常工作。經(jīng)過對比我決定選用DS1302時(shí)鐘芯片。專門時(shí)鐘芯片DS1302,該芯片性能簡介如下:DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背

19、電源雙電源引腳,同時(shí)提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。 (1)引腳功能及結(jié)構(gòu) 圖33示出DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由VCC1或VCC2兩者中的較大者供電。當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電。當(dāng)VCC2小于VCC1時(shí),VCC1給DS1302供電。X1和X2是振蕩源,外接32.768KHZ的晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳輸。RST輸入有兩個(gè)功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器:其次,RST始終提供

20、終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST只為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在VCC>2.5V之前,RST必須保持低電平。只有在SCLK為底低電平時(shí),才能將RST只為高電平。I/O為串行數(shù)據(jù)輸入輸出段(雙向),后面有詳細(xì)說明。SCLK始終是輸入端。圖33 DS1302的管腳圖 (2)DS1302的控制字節(jié)DS1302的控制字如圖34所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存

21、取RAM數(shù)據(jù),位5至為1只是操作單元的地址,最低有效位(0),如為0,表示進(jìn)行寫操作(輸入),為1表示進(jìn)行操作(輸出)。圖34 DS1302的控制字節(jié) (3)數(shù)據(jù)輸入輸出(I/O) 在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同時(shí),在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7. (4)DS1302的寄存器 DS1302有12個(gè)寄存器,其中有7個(gè)寄存器于日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及控制字表見圖35.圖35 日歷、時(shí)間寄存器及其控制字 此外,DC1

22、302還有年份寄存器、控制寄存器、充電寄存器、始終寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫出充電寄存器外的所有寄存器能容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)的RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制為FEH(寫)、FFH(讀)。 綜上所述DS1302與單片機(jī)連接如圖36所示:圖36 DS1302與單片機(jī)連接圖 3.2.3鍵盤模塊 使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口

23、時(shí)所占用的I/O線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣的方法。其原理如圖37所示:圖37 矩陣鍵盤 每條水平(行線)與垂直(列線)的交叉處不相同,而是通過一個(gè)按鍵來連通,利用這種行列矩陣結(jié)構(gòu)只需N條行線和M條列線,即可組成具有N*M個(gè)按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。 當(dāng)確認(rèn)有按鍵按下后,下一步就要哪一個(gè)按鍵按下。對鍵的識別通常有兩種方式:一種是常用的逐行掃描法;另一種是速度較快的線反轉(zhuǎn)法。 對照圖:37所示的4*4鍵盤,說明線反轉(zhuǎn)個(gè)工作原理。 首先辨別鍵盤中無按鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后

24、讀入行線狀態(tài)來判斷。方法是:向列線輸出全掃描字00H,把全部列線置為低電平,然后將行線的電平狀態(tài)讀入累加器A。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為1.判斷哪個(gè)鍵被按下:將P1.0P1.3都置低,檢測P1.4P1.7是否有低的,若有,則證明有按鍵按下,記下低的端口。然后,將P1.4P1.7置低,檢測P1.0P1.3是否有低的端口,如有,則證明端口與上次的一個(gè)為地的端口。 當(dāng)4*4鍵盤確定后,需要確定每個(gè)鍵的功能,如表31所示:表31按鍵功能分配圖3.2.4顯示模塊 電子密碼鎖系統(tǒng)中,需要顯示的信息較少,因此采用七段LED數(shù)碼顯示管作為顯示器。數(shù)據(jù)傳輸采用串行方式,有單片

25、機(jī)串行數(shù)據(jù)口P3.0發(fā)送,在經(jīng)過74HC164串行移位器吧串行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù),用以驅(qū)動(dòng)七段LED數(shù)碼管。由于74HC164芯片中,沒有數(shù)據(jù)鎖存器,串行數(shù)據(jù)每到達(dá)一位,都會(huì)直接送到七段顯示管中,造成所有數(shù)據(jù)都會(huì)經(jīng)過其短線是數(shù)碼管的每一個(gè)LED燈,是數(shù)據(jù)顯示不穩(wěn)定。因此在74HC164串行移位寄存器和七段數(shù)碼顯示管之間,加入數(shù)據(jù)鎖存器(74273芯片),以穩(wěn)定數(shù)碼顯示管的數(shù)據(jù)顯示。在按下開啟鍵后,顯示器處于開啟狀態(tài),同理只有按下關(guān)閉鍵后顯示器處于關(guān)閉狀態(tài),當(dāng)需要對密碼鎖進(jìn)行開鎖時(shí),按下鍵盤上的開鎖鍵后利用鍵盤上的數(shù)字鍵09輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)“”,輸入六個(gè)數(shù)有六個(gè)

26、“”出現(xiàn)。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵。如果正確的話,LED顯示“111111”,單片機(jī)其中P2.0出現(xiàn)低電平,使三極管T2導(dǎo)通,電磁鐵吸合,電子密碼鎖被打開,如果密碼錯(cuò)誤,LED顯示“000000”,單片機(jī)P2.0輸出的是高電平,電子密碼鎖不能被打開。在LED屏上時(shí)間出錯(cuò)時(shí),可通過“#”鍵修改時(shí)間設(shè)定。圖38 顯示電路 3.2.5電源模塊為了防止停電情況的發(fā)生,本電路后備了UPS電源,它包括市電供電電路,停電檢測電路,電子開關(guān)切換電路,蓄電池充電電路和蓄電池組成。電源電路圖如圖10所示。圖39 供電電路 220V市電通過變壓器降壓成12V的交流電,在經(jīng)過整流橋蒸餾,7805穩(wěn)壓到5V送往電子

27、切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。有R8,R9,R7及IC14構(gòu)成電壓比較器,正常情況下,V+<V-IC14輸出高電平,繼電器的常閉觸點(diǎn)和市電相連;當(dāng)市電斷開,V+>V-IC14輸出高電平,有T3,T4構(gòu)成的達(dá)林頓管使繼電器J開啟,將其常開觸點(diǎn)把蓄電池和電路相連,實(shí)現(xiàn)市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時(shí)間)。其電路圖如下圖310所示:圖 310 停電檢測及電子開關(guān)切換電路6V充電電源T1,T2構(gòu)成的蓄電池自動(dòng)充電電路,它在電池充滿后自動(dòng)停止充電,其中D1亮為正在充電,D2為工作指示。有R4,R5,T1構(gòu)成電壓檢測電路,蓄電池

28、電壓低,則T1,T2導(dǎo)通,實(shí)現(xiàn)對其充電;充滿后,T1,T2截止,停止充電,同時(shí)D1熄滅,電路中C4的作用是濾除干擾信號。其電路圖如圖311所示6V蓄電池電源A2圖311 蓄電池自動(dòng)充電電路 3.2.6 溫度檢測電路設(shè)計(jì)溫度檢測電路的設(shè)計(jì)中,首先需要尋找一個(gè)適合本次設(shè)計(jì)的溫度傳感器。對于溫度傳感器的選擇,需要考慮整個(gè)溫度檢測電路的工作環(huán)境的溫度,而溫度傳感器的工作范圍必須在可以適應(yīng)溫度檢測電路的工作環(huán)境的溫度就,而且其最好可能實(shí)現(xiàn)較少接口即可與單片機(jī)的引腳進(jìn)行連接,這樣可以節(jié)省單片機(jī)的引腳,以便單片機(jī)添加其他附加功能,最好在受不同溫度影響的情況下其精度變化不大或精度受影響較小,對工作電壓的要求不

29、太高,最重要一點(diǎn)就是具有負(fù)壓功能。綜上所述,選取采用一線總線式溫度傳感器DS18B20,該傳感器性能如下: 1)適應(yīng)電壓范圍更寬,電壓范圍:3.0V5.5V,在寄生電源方式下可由數(shù)據(jù)線供電 2)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊 3)DS18B20支持多組點(diǎn)網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線位上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫 4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 5)溫度范圍-55+125攝氏度,在-10+85攝氏度時(shí)精度為正負(fù)0.5攝氏度 6)可編程的分辨

30、率為912位,對應(yīng)的可分辨溫度分別為0.5攝氏度、0.25攝氏度、0.125攝氏度和0.0625攝氏度,可實(shí)現(xiàn)高精度測溫 7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 8)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC效驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力 9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DC18B20與單片機(jī)接口電路圖:圖 312 DC18B20與單片機(jī)接口電路圖 3.2.7開鎖電路與報(bào)警電路設(shè)計(jì)(1) 開鎖電路在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光

31、二極管代替電子鎖,發(fā)光管亮,表示開鎖;發(fā)光管滅,表示沒有開鎖。電路圖如所示。當(dāng)P2.0口輸出低電平時(shí),二極管發(fā)光,表示開鎖。圖313 開鎖電路(2)報(bào)警電路報(bào)警模塊有蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)需要100mA驅(qū)動(dòng)電流。當(dāng)AT89C51的P2.1口輸出低電平時(shí),蜂鳴器產(chǎn)生蜂音,AT89C51輸出高點(diǎn)平時(shí),蜂鳴器不發(fā)聲。圖314 報(bào)警電路第4章 系統(tǒng)的軟件設(shè)計(jì)4.1軟件設(shè)計(jì)電路電子密碼鎖工作的主要過程是LED數(shù)碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時(shí)LED顯示密碼輸入狀況,接下來確認(rèn)密碼的判斷,做出開鎖或報(bào)警處理。當(dāng)密碼連續(xù)輸入錯(cuò)誤3次時(shí),系統(tǒng)報(bào)警。其中還有溫度

32、和時(shí)間顯示。1)多功能電子密碼鎖的基本要求:2)通過鍵盤修改、輸入密碼。3)連續(xù)3次輸入密碼錯(cuò)誤后鍵盤鎖定10秒,并給出提示。4)具有日期時(shí)間設(shè)置(小時(shí)和分鐘)、顯示,環(huán)境溫度顯示功能。5)220V供電下,設(shè)計(jì)系統(tǒng)所需電源,并考慮斷電后原始數(shù)據(jù)的保存。 4.2 系統(tǒng)主程序圖當(dāng)電路安裝完成后,對密碼鎖進(jìn)行初始化初始化。初始化時(shí)是把單片機(jī)內(nèi)保留的原始密碼恢復(fù)成最初值,接下來如果不調(diào)用調(diào)用顯示器就直接結(jié)束,調(diào)用顯示器超過三次還沒輸對則直接報(bào)警如果輸對則啟動(dòng)定時(shí)系統(tǒng),如果輸入密碼為數(shù)不足則返回繼續(xù)輸入,直到位數(shù)足夠位置,當(dāng)密碼位數(shù)夠時(shí)輸入少時(shí)則自動(dòng)清除,自動(dòng)清除超過3次則自動(dòng)報(bào)警,不超時(shí)對比密碼,如果

33、密碼正確則開門,然后整個(gè)動(dòng)作結(jié)束。#include<reg52.h>sbit led-lamp=P3.7;Unsigned char 在計(jì)算機(jī)中使用補(bǔ)碼存儲 display-count17=0x3f,0x06,0x5b,0x4f,0x66,0xbd,0x7d,0x07,0x7f,0x6f,0x77,0x7f,0x39,0x3f,0x7b,0x71,0x3f;Unsigned char display bit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;Unsigned char hang; 4*4矩陣鍵盤控制數(shù)碼管Unsigned char l

34、ie;Unsigned char key number;Unsigned char password number4=0x05,0x06,0x07,0x08;/unsigned char display number;Unsigned char add bit=0;Unsigned char shumaguang number8;Unsigned int led count;Unsigned char stop flag;Unsigned char scanf flag=0;Unsigned char ret password bit;Unsigned char password ret fl

35、ag;Void delay(unsigned int count)/延時(shí)子函數(shù) Unsigned int k; While(count-) For(k=0;k<125;k+);Void timr0 init() /定時(shí)中斷初始化子程序 TMOD = 0X01; TH0=0XD8; TL0=0XF0; TF0=0; ET0=1; EA=1;Void INT timer0() interrupt1 /定時(shí)中斷服務(wù)函數(shù) TH0=0XD8 TL0=0XF0; Led lamp=0; Led count+; If(led count>199) Led count = 0; Led lamp

36、= 1; TR0=0; 修改密碼:按下*號鍵啟動(dòng)此程序,首先輸入修改后的密碼,存入后再次輸入一次密碼,對比兩次密碼是否一樣。如果兩次密碼不同,則從新輸入;如果兩次修改的密碼相同則調(diào)用LED數(shù)碼管,隨后顯示調(diào)用表示修改成功,然后按%退出,則修改密碼工作完成。以前的舊密碼不能再使用。這樣既不用換鎖又可以增強(qiáng)安全性。Void password ret() /密碼從設(shè)子函數(shù) / unsigned char password ret flag; / if(key number=0x0f) / / Password ret flag=1; While(password ret flag) Password

37、 ret display(); If(P2&0xf0)!=0xf0) Ret password bit+; If(ret password bit>6) Ret password bit=0; Password ret flag=0; Delay(100); Switch(ret password bit) Case 1:password ret flag=1;break; Case 2:password number0=key number;break; Case 3:password number1=key number;break; Case 4:password numb

38、er2=key number;break; Case 5:password number3=key number;break; Case 6:password ret flag=0;break; Default:break; / / Void main() /主函數(shù) Timr0 init(); While(1) Led lamp=0; Display(0x08); Scankey(); If(key number=0x0f) Password ret flay=1; While(password ret flag) Scankey(); Password ret(); Password ret

39、 display(); If(key number=0x0e) Scanf flag=1; While(scanf flag) Scankey(); KEY funcation(); Password display(); If(key number=0x10) Key password compare(); 圖43報(bào)警流程圖當(dāng)輸入密碼后系統(tǒng)需要對輸入的密碼與設(shè)定的密碼進(jìn)行比較,本設(shè)計(jì)采用一位一位數(shù)字對比的方式,如果第一位數(shù)字錯(cuò)誤清除顯示同時(shí)記下錯(cuò)誤位數(shù),接著對比下一位直到六位密碼全部對比完成。如果對比過程中出現(xiàn)記錄錯(cuò)誤次數(shù)超過3次則報(bào)警,同時(shí)鎖定鍵盤10秒鐘,如果正確則爭取開鎖同時(shí)鍵盤上的L

40、ED燈清零,不會(huì)留下密碼。Void key password compare() /密碼是否正確子程序 Unsigned char kou for; If(password number0=shumaguang number0) If(password number1=shumaguang number1) If(password number2=shumaguang number2) If(password number3=shumaguang number3) If(password number4=shumaguang number4) If(password number=shumag

41、uang number5) TR0=1; Scanf flag=0; Stop flag=0; For(kou for=0;kou for<4;kou for+) Shumaguang numberkou for=0; Void display(unsigned char display strat init) /初始化顯示子函數(shù) Unsigned char shaomiao for; Unsigned char bit for; For(shaomiao for=0;shaomiao for<0;shaomiao for+) P0=display countdisplay str

42、at init; For(bit for=0;bit for<0;bit for+) P1 =display bitbit for; Delay(1); 第5章 總 結(jié)在沒有做畢業(yè)設(shè)計(jì)前覺得畢業(yè)設(shè)計(jì)只是對所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對前面所學(xué)知識的一種檢驗(yàn),而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來知識還比較欠缺。自己要學(xué)的東西還太多,以前老是覺得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長期積累的過程,在以后工作、學(xué)習(xí)中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。不管學(xué)會(huì)的還是學(xué)不會(huì)的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于完成了有種如釋重負(fù)的感覺。此外還得出一個(gè)結(jié)論:知識必須通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩碼事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是正的學(xué)會(huì)了。程序的設(shè)計(jì)思想的精巧的重要性,是不管怎樣說都不為過的,好的設(shè)計(jì)可以讓大家很快的明白你的思想,而且很方便的來實(shí)現(xiàn)它。良好的編程習(xí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論