電子密碼鎖的畢業(yè)設計_第1頁
已閱讀1頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計論文 </b></p><p>  題目 電子密碼鎖的設計 </p><p> 專業(yè)名稱機電一體化技術</p><p> 學生姓名</p><p> 指導教師</p><p> 畢業(yè)時間2015年6月</p><

2、p><b>  畢業(yè) 任務書</b></p><p>  一、題目:電子密碼鎖的設計</p><p>  二、指導思想和目的要求:</p><p>  應對人們當今對安全性要求的提高,避免機械鎖帶來的麻煩。實現電子鎖控制,方便人們使用,降低危險系數,增加人們的安全感。</p><p><b>  三

3、、主要技術指標:</b></p><p>  日歷時鐘DS1302工作電壓2.5V—5.5V</p><p>  溫度DS18B20電壓范圍:3.0V—5.5V、溫度范圍:-55—+125 精度:正負0.5。</p><p><b>  四、進度和要求:</b></p><p>  準備階段:2014年10月

4、前,確認題目,準備與題目相關的資料</p><p>  制定設計方案階段:2014年11月前,根據題目列提綱準備寫論文,在這其中翻閱與之相關的資料,逐漸融匯貫通,形成自己的理解</p><p>  設計階段:提交論文接受老師指導,根據老師的建議對其進行修改以便最終完成答辯</p><p>  總結提高階段:在老師指導和幫助下,通過自己的努力完成這次設計,在設計過程中

5、雖然自己遇到了困難,但最后自己還是完成了設計,而自己也在這次設計中學到了知識,提高了自己的能力。</p><p>  五、主要參考書及參考資料:</p><p>  《MCS—51 單片機原理及應用教程》、《單片機外圍電路設計》 </p><p>  《單片機原理機應用》、《單片機應用技術教程》、《單片機應用程序設計技術》 </p><p&g

6、t;  《單片機原理及應用》、《C51基礎與應用實例》、</p><p>  《51單片機C語言應用程序設計實力精講》、《單片機C語言案例教程》 《8051單片機C語言程序設計與實力解析》</p><p><b>  目 錄</b></p><p><b>  摘要

7、I</b></p><p>  第1章 緒 論1</p><p>  1.1 電子密碼鎖簡介1</p><p>  1.2 電子密碼鎖的發(fā)展趨勢1</p><p>  1.3本設計所實現的功能2</p><p>  第2章 方案比較與論證3</p><p>  2.1 方

8、案一:采用數字電路控制3</p><p>  2.2 方案二:以單片機為核心的控制方案3</p><p>  第3章 系統模塊電路設計5</p><p>  3.1 系統總框圖5</p><p>  3.2 系統的模塊電路設計6</p><p>  3.2.1單片機最小系統模塊6</p>&

9、lt;p>  3.2.2 時鐘電路模塊7</p><p>  3.2.3鍵盤模塊9</p><p>  3.2.4顯示模塊11</p><p>  3.2.5電源模塊12</p><p>  3.2.6 溫度檢測電路設計13</p><p>  3.2.7開鎖電路與報警電路設計15</p>

10、<p>  第4章 系統的軟件設計16</p><p>  4.1軟件設計電路16</p><p>  4.2 系統主程序圖16</p><p>  第5章 總 結22</p><p><b>  致 謝23</b></p><p><b>  參考文獻24&l

11、t;/b></p><p><b>  附錄25</b></p><p><b>  摘要</b></p><p>  隨著人民生活水平的提高,如何實現家庭防盜這一問題也變得尤其突出,傳統的機械鎖由于其構造簡單,安全性低,無法滿足人們的需求。隨著電子產品向智能化和微型化的不斷發(fā)展,單片機已成為電子產品研制和開發(fā)中首

12、選的控制器,所以具有防盜報警功能的電子密碼鎖控制系統逐漸代替?zhèn)鹘y的機械式密碼控制系統,克服了機械式密碼鎖控制的密碼量少,安全性能差的缺點。通過單片機編寫密碼程序,并用74LS47和3-8譯碼器74LS138驅動的數碼管來顯示密碼。數碼管可以時時顯示當前輸入的四位數字。當輸入密碼正確時,對應的指示燈亮;當密碼不正確時,另一個對應的指示燈亮并且發(fā)出聲音警報。</p><p>  關鍵詞:密碼鎖,單片機,報警</

13、p><p><b>  第1章 緒 論</b></p><p>  1.1 電子密碼鎖簡介</p><p>  電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產品。它的種類很多,有簡易的電路產品,也有基于芯片的性價比較高的產品?,F在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現的。其性能和

14、安全性已大大超過了機械鎖。其特點如下:</p><p>  1)保密性好,編碼量多,遠遠大于機械鎖。隨機開鎖成功率幾乎為零。</p><p>  2)密碼可變,用戶可以隨時改變密碼,防止密碼被盜,同時也可以避免因人員的更替而使鎖的密級下降。</p><p>  3)誤碼輸入保護,當輸入密碼多次錯誤時,報警系統自動啟動。</p><p>  4

15、)無活動零件,不會磨損,壽命長。</p><p>  5)使用靈活性好,不像機械鎖必須佩帶鑰匙才能開鎖。</p><p>  6)電子密碼鎖操作簡單易行,一學即會。</p><p>  1.2 電子密碼鎖的發(fā)展趨勢</p><p>  在日常生活和工作中,住宅與部門的安全防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的辦法來解決

16、。目前門鎖主要用機械鎖,其鑰匙容易丟失;保險箱主要用機械密碼鎖,其結構較為復雜,制造精度要求高,成本高,且易出現故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性能即大打折扣。針對這些鎖具給人類帶來的不便若使用機械式鑰匙開鎖,為滿足人們對鎖的使用要求,增大其安全性,用密碼代替要是的密碼鎖應用而生。它的出現為人們的生活帶來了很大方便,有很廣闊的市場前景。由于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不全,保密性差,最基本的就是只

17、依靠最簡單的模擬電子開關來實現的,制作簡單但很不安全,在后來多是基于EDA來實現的,其電路結構復雜,電子元件繁多,也有使用早先的20引腳的2051系列單片機來實現的,但密碼簡單,易破解。隨著電子元件的近一步發(fā)展,電子密碼鎖也很出現了很多種類,功能日益強大,使用更加方便,安全保密性更強,有以前的單密碼發(fā)展到現在的,密碼加感應元件,實現了真正的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的發(fā)展以及人們對保密性需求的提

18、高出現了越來</p><p>  出于安全、方便等方面的需要許多電子密碼鎖已相繼問世。但這類產品的特點是針對特定的有效卡、指紋或聲音有效,且不能實現遠程控制,只能適用于保密要求高且供個人使用的箱、柜、房間等。由于數字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜所獲得高度的保密性,如防范森嚴的金庫,需要使用復合信息密碼的電子防盜鎖,這樣對盜賊而言是“道高一尺、魔高

19、一丈”。組合使用信息也能夠使電子防盜鎖獲得無窮擴展的可能,使產品多樣化,對用戶而言是“千挑百選、自得其所”??梢钥闯鼋M合使用電子信息是電子密碼鎖以后發(fā)展的趨勢。</p><p>  1.3本設計所實現的功能</p><p>  本次設計實現——基于單片機的電子密碼鎖設計,其主要具有如下功能:</p><p>  1)密碼通過鍵盤輸入,若密碼正確,則將鎖打開。<

20、/p><p>  2)報警、鎖定鍵盤功能。密碼輸入錯誤數碼顯示器會出現錯誤提示,若密碼輸入錯誤超過3次,蜂鳴器報警并且鎖定鍵盤。</p><p>  電子密碼鎖的設計主要有三部分組成:4*4矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統還有LED提示燈,報警蜂鳴器等。</p><p>  密碼鎖的設計關鍵問題是實現密碼的輸入、清除、更改、開鎖等功能:

21、 </p><p>  1)密碼輸入功能:按下一個數字鍵,一個“一”就顯示在最右邊的數碼管上,同時將先前輸入的所有“一”向左移動一位。</p><p>  2)密碼清除功能:當按下清除鍵時,清除前面輸入的所有值,并清除所有顯示。</p><p>  3)開鎖功能:當按下開鎖鍵,系統將輸入與密碼進行檢查核對,如果正確鎖打開,否則不打

22、開。 </p><p>  主要的設計實施過程:首先,選用單片機,以及選購其他電子元器件。第二步,設計硬件電路原理圖,并設計布線圖。第三步,使用Keil uVision3軟件編寫單片機的C語言程序、仿真、軟件調試。第四步,使用PROTEUS軟件進行模擬軟、硬件調試。最后,聯合軟、硬件調試電路板,完成本次畢業(yè)設計。</p&g

23、t;<p>  第2章 方案比較與論證</p><p>  2.1 方案一:采用數字電路控制。</p><p>  其原理方框圖如圖2—1所示。</p><p>  圖2—1 數字密碼鎖電路方案</p><p>  采用數字密碼鎖電路的好處就是設計簡單。用以74L112雙JK觸發(fā)器構造的數字邏輯電路作為密碼鎖的控制核心,共設了9

24、個用戶輸入鍵,其中只有6個是有效地密碼按鍵,其它的都是干擾按鍵,若按下干擾按鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要從新輸入:如電路聯系報警三次,電路將鎖定鍵盤10秒,防止他人的非法操作。</p><p>  電路有兩大部分組成:密碼鎖電路和備用電源(UPS),其中設置UPS電源是為了防止因為停電造成的密碼鎖電路失效,使用戶免遭麻煩。</p><p>  密碼鎖電路包含:鍵盤輸入

25、、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報警電路、鍵盤輸入次數鎖定電路。 </p><p>  2.2 方案二:以單片機為核心的控制方案。</p><p>  首先單片機可以進行靈活的編程設計:首先在編寫程序的過程中可以根據自己的設計要求編寫適合自己的設計的程序后,可以通過下載的方式把自己根據設計所編寫的程序下載到單片機中,在后續(xù)的使用過程中如果想更換程序,可以先把以前輸入的程序擦出再把

26、自己重新編寫的程序下載到其中即可,這樣可以為在用戶節(jié)省費用的同時增加其安全性。其次單片機上有豐富靈活的I/O端口,這些端口可以外接一些元器件,來增加其功能已實現其他機械鎖所無法完成的工作,如可以添加加溫度顯示、時間顯示甚至添加遙控控制功能這些都可以通過在I/O端口所添加各種元器件來完成,而這些功能在其他鎖中需要外加其它相應的專門的部件才可以完成但對于以單片機為核心的密碼鎖來說其更容易實現。最后控制的準確性,相對而言對于所有鎖而言精確性是

27、最重要的,因為這是保證安全性的前提,如果精確性不夠高,那么其安全性很難得到相應的保障,單片機的精確性相對來說還很好。以單片機為核心的控制方案不但能實現基本的密碼鎖功能,而且可以增加一些附加功能。</p><p>  通過比較以上兩種方案,單片機方案有較大的活動空間,不但能實現所要求的功能而且能在很大程度上擴展功能,而且還可以方便的對系統進行升級所以我們采用或一種方案。</p><p>  

28、第3章 系統模塊電路設計</p><p><b>  3.1 系統總框圖</b></p><p>  對于整個設計而言,是以單片機為中心,一切的附加設計都是圍繞著單片機進行的。其系統框圖如圖3—1所示:</p><p><b>  圖3—1 系統框圖</b></p><p>  在圖3—1中所有附

29、加元器件均以單片機為中。首先當密碼輸入單片機后,需要通過顯示電路顯示出來,而且需要對所輸入的密碼進行檢測,故單片機外必須要加一個密碼檢測電路,而且密碼檢測電路需要將檢測的結果反饋給單片機,讓單片機進行下一步的動作。當密碼正確后需要調動開鎖電路對密碼鎖進行打開,同時開鎖電路要把開鎖的結果反饋給單片機,告訴單片機鎖已經打開;當密碼檢測電路判斷密碼輸入錯誤,同時把結果反饋給單片機,單片機會把錯誤信息反饋到顯示電路中,讓用戶從新輸入密碼,同時記

30、錄密碼輸入錯誤次數。當密碼檢測電路3次檢測到密碼錯誤后,得到反饋信息的單片機會直接調用報警電路,報警電路接到調用后會發(fā)出蜂鳴聲進行報警并會把結果反饋給單片機,單片機得到反饋信息后,會調用數據鎖存電路,對鍵盤進行10秒鎖存處理,同時把信息反饋給單片機,這是單片機內的最小時鐘電路進行計時,當10秒鎖存時間到了后,單片機會把此信息再次發(fā)給數據鎖存電路中,當鎖存電路接到信息后會解除對鍵盤的鎖存。另外,在單片機增加時鐘電路是方便用戶對時間的把握,

31、在用戶鎖門或開門的同時可以方便的查看時間;而增加溫度傳感器則是為了對應不同的環(huán)境對密碼鎖精度的影響,在</p><p>  3.2 系統的模塊電路設計</p><p>  3.2.1單片機最小系統模塊</p><p>  首先需要選擇單片機,雖然現在市場上單片機的種類和型號很多,但要根據本次設計要求來對其進行選擇由于此次設計對象是廣大普通用戶,過首先要考慮經濟性,在

32、滿足要求的同時應該首先考慮經濟性。本次設計需要用到的單片機需要外接矩陣電路和顯示電路等故在選擇時要考慮其引腳個數以及其功能。本次設計所用引腳數在30個左右,故選擇40個引腳的單片機即可。而且由于此次設計其應該是可以反復長時間使用的,故其應為低能耗的。進過對功能性和性價比的綜合對比,我決定選擇AT89C51型單片機來完成此次設計。</p><p>  AT89C51是一種低能耗,高性能CMOS8位微控制器,具有8K

33、在系統可編程Flash存儲器。使用ATMEL公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適用于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和系統可編程Flash,使得AT89C51為眾多嵌入式控制應用系統提供高靈活性,超有效的解決方案。AT89C51是一種帶2K字節(jié)閃爍可變成可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦出100次。該器件采用ATME

34、L高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL和AT89C51是一種高效微控制器,AT89C51單片機為很多嵌入式控制提供一種靈活性高切價廉的方案。</p><p>  圖3—2 AT89C51管腳圖</p><p>  3.2.2 時鐘電路模塊 </p><p>  在選擇完單

35、片機后需要選擇時鐘電路,雖然現在市場上的種類和型號很多,但需要根據此次設計來選擇相對應的時鐘電路,由于該設計需要顯示年月日,所以最少應該具有閏年補償功能。而且,本產品要長時間使用故能耗不能太高,最好可以找到低能耗的時鐘電路,在使用過程中可能會停電,故需要修用一款可以攜帶備用電源的,及時停電時時鐘電路也可以正常工作。經過對比我決定選用DS1302時鐘芯片。</p><p>  專門時鐘芯片DS1302,該芯片性能簡

36、介如下:</p><p>  DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V——5.5V。采用三線接口與CPU進行同步通信,,可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個31*8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS120

37、2兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。</p><p>  (1)引腳功能及結構 </p><p>  圖3—3示出DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2兩者中的較大者供電。當VCC2大于VCC1+0.2V時,VCC2給DS13

38、02供電。當VCC2小于VCC1時,VCC1給DS1302供電。X1和X2是振蕩源,外接32.768KHZ的晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳輸。RST輸入有兩個功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器:其次,RST始終提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST只為低電平,則會終止此次

39、數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC>2.5V之前,RST必須保持低電平。只有在SCLK為底低電平時,才能將RST只為高電平。I/O為串行數據輸入輸出段(雙向),后面有詳細說明。SCLK始終是輸入端。</p><p>  圖3—3 DS1302的管腳圖</p><p> ?。?)DS1302的控制字節(jié)</p><p>  DS1302的控制字如

40、圖3—4所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據,位5至為1只是操作單元的地址,最低有效位(0),如為0,表示進行寫操作(輸入),為1表示進行操作(輸出)。</p><p>  圖3—4 DS1302的控制字節(jié)</p><p> ?。?)數據輸入輸出(I/O)</p>

41、<p>  在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同時,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7.</p><p> ?。?)DS1302的寄存器</p><p>  DS1302有12個寄存器,其中有7個寄存器于日歷、時鐘相關,存放的數據位為BCD碼

42、形式,其日歷、時間寄存器及控制字表見圖3—5.</p><p>  圖3—5 日歷、時間寄存器及其控制字</p><p>  此外,DC1302還有年份寄存器、控制寄存器、充電寄存器、始終寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫出充電寄存器外的所有寄存器能容。DS1302與RAM相關的寄存器分為兩類:一類是單個的RAM單元,共31個,每個單元組態(tài)為一個8位字節(jié),其命令

43、控制字為C0H——FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制為FEH(寫)、FFH(讀)。</p><p>  綜上所述DS1302與單片機連接如圖3—6所示:</p><p>  圖3—6 DS1302與單片機連接圖 </p><p><b>  3.2.3鍵盤模塊&l

44、t;/b></p><p>  使用矩陣鍵盤,所以本設計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數目,在按鍵比較多的時候,通常采用這樣的方法。其原理如圖3—7所示:</p><p><b>  圖3—7 矩陣鍵盤</b></p><p>  每條水平(行線)與垂直(列線)的交叉處不相同,而是通過一個按鍵來連通,利

45、用這種行列矩陣結構只需N條行線和M條列線,即可組成具有N*M個按鍵的鍵盤。</p><p>  在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。</p><p>  當確認有按鍵按下后,下一步就要哪一個按鍵按下。對鍵的識別通常有兩種方式:一種是常用的逐行掃描法;另一種是速度較快的線反轉法。</p><p>  對

46、照圖:3—7所示的4*4鍵盤,說明線反轉個工作原理。</p><p>  首先辨別鍵盤中無按鍵按下,有單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向列線輸出全掃描字00H,把全部列線置為低電平,然后將行線的電平狀態(tài)讀入累加器A。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1.</p><p>  判斷哪個鍵被按下:將P1.0~P1.3都置低,檢測P1.

47、4~P1.7是否有低的,若有,則證明有按鍵按下,記下低的端口。然后,將P1.4~P1.7置低,檢測P1.0~P1.3是否有低的端口,如有,則證明端口與上次的一個為地的端口。</p><p>  當4*4鍵盤確定后,需要確定每個鍵的功能,如表3—1所示:</p><p>  表3—1按鍵功能分配圖</p><p><b>  3.2.4顯示模塊</b&

48、gt;</p><p>  電子密碼鎖系統中,需要顯示的信息較少,因此采用七段LED數碼顯示管作為顯示器。數據傳輸采用串行方式,有單片機串行數據口P3.0發(fā)送,在經過74HC164串行移位器吧串行數據轉換成8位并行數據,用以驅動七段LED數碼管。由于74HC164芯片中,沒有數據鎖存器,串行數據每到達一位,都會直接送到七段顯示管中,造成所有數據都會經過其短線是數碼管的每一個LED燈,是數據顯示不穩(wěn)定。因此在74H

49、C164串行移位寄存器和七段數碼顯示管之間,加入數據鎖存器(74273芯片),以穩(wěn)定數碼顯示管的數據顯示。</p><p>  在按下開啟鍵后,顯示器處于開啟狀態(tài),同理只有按下關閉鍵后顯示器處于關閉狀態(tài),當需要對密碼鎖進行開鎖時,按下鍵盤上的開鎖鍵后利用鍵盤上的數字鍵0——9輸入密碼,每按下一個數字鍵后在顯示器上顯示一個“—”,輸入六個數有六個“—”出現。當密碼輸入完成時,按下確認鍵。如果正確的話,LED顯示“1

50、11111”,單片機其中P2.0出現低電平,使三極管T2導通,電磁鐵吸合,電子密碼鎖被打開,如果密碼錯誤,LED顯示“000000”,單片機P2.0輸出的是高電平,電子密碼鎖不能被打開。在LED屏上時間出錯時,可通過“#”鍵修改時間設定。</p><p>  圖3—8 顯示電路 </p><p><b>  3.2.5電源模塊</b></p><p

51、>  為了防止停電情況的發(fā)生,本電路后備了UPS電源,它包括市電供電電路,停電檢測電路,電子開關切換電路,蓄電池充電電路和蓄電池組成。電源電路圖如圖10所示。</p><p>  圖3—9 供電電路</p><p>  220V市電通過變壓器降壓成12V的交流電,在經過整流橋蒸餾,7805穩(wěn)壓到5V送往電子切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。</p>

52、;<p>  有R8,R9,R7及IC14構成電壓比較器,正常情況下,V+<V-IC14輸出高電平,繼電器的常閉觸點和市電相連;當市電斷開,V+>V-IC14輸出高電平,有T3,T4構成的達林頓管使繼電器J開啟,將其常開觸點把蓄電池和電路相連,實現市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時間)。其電路圖如下圖3—10所示:</p><p>  圖 3—10 停

53、電檢測及電子開關切換電路</p><p>  T1,T2構成的蓄電池自動充電電路,它在電池充滿后自動停止充電,其中D1亮為正在充電,D2為工作指示。有R4,R5,T1構成電壓檢測電路,蓄電池電壓低,則T1,T2導通,實現對其充電;充滿后,T1,T2截止,停止充電,同時D1熄滅,電路中C4的作用是濾除干擾信號。其電路圖如圖3—11所示</p><p>  圖3—11 蓄電池自動充電電路<

54、;/p><p>  3.2.6 溫度檢測電路設計</p><p>  溫度檢測電路的設計中,首先需要尋找一個適合本次設計的溫度傳感器。對于溫度傳感器的選擇,需要考慮整個溫度檢測電路的工作環(huán)境的溫度,而溫度傳感器的工作范圍必須在可以適應溫度檢測電路的工作環(huán)境的溫度就,而且其最好可能實現較少接口即可與單片機的引腳進行連接,這樣可以節(jié)省單片機的引腳,以便單片機添加其他附加功能,最好在受不同溫度影響的

55、情況下其精度變化不大或精度受影響較小,對工作電壓的要求不太高,最重要一點就是具有負壓功能。綜上所述,選取采用一線總線式溫度傳感器DS18B20,該傳感器性能如下:</p><p>  1)適應電壓范圍更寬,電壓范圍:3.0V—5.5V,在寄生電源方式下可由數據線供電</p><p>  2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的

56、雙向通訊</p><p>  3)DS18B20支持多組點網功能,多個DS18B20可以并聯在唯一的三線位上,實現組網多點測溫</p><p>  4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內</p><p>  5)溫度范圍-55—+125攝氏度,在-10—+85攝氏度時精度為正負0.5攝氏度</p&g

57、t;<p>  6)可編程的分辨率為9—12位,對應的可分辨溫度分別為0.5攝氏度、0.25攝氏度、0.125攝氏度和0.0625攝氏度,可實現高精度測溫</p><p>  7)在9位分辨率時最多在93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度更快</p><p>  8)測量結果直接輸出數字溫度信號,以“一線總線”串行傳送給CP

58、U,同時可傳送CRC效驗碼,具有極強的抗干擾糾錯能力</p><p>  9)負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。</p><p>  DC18B20與單片機接口電路圖:</p><p>  圖 3—12 DC18B20與單片機接口電路圖 </p><p>  3.2.7開鎖電路與報警電路設計</p>

59、<p><b> ?。?) 開鎖電路</b></p><p>  在本次設計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電子鎖,發(fā)光管亮,表示開鎖;發(fā)光管滅,表示沒有開鎖。電路圖如——所示。當P2.0口輸出低電平時,二極管發(fā)光,表示開鎖。</p><p>  圖3—13 開鎖電路</p><p><b>  (2)報警

60、電路</b></p><p>  報警模塊有蜂鳴器和單片機組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時需要100mA驅動電流。當AT89C51的P2.1口輸出低電平時,蜂鳴器產生蜂音,AT89C51輸出高點平時,蜂鳴器不發(fā)聲。</p><p>  圖3—14 報警電路</p><p><b>  系統的軟件設計</b><

61、;/p><p><b>  4.1軟件設計電路</b></p><p>  電子密碼鎖工作的主要過程是LED數碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時LED顯示密碼輸入狀況,接下來確認密碼的判斷,做出開鎖或報警處理。當密碼連續(xù)輸入錯誤3次時,系統報警。其中還有溫度和時間顯示。</p><p>  1)多功能電子密碼鎖的基本要求:</p&g

62、t;<p>  2)通過鍵盤修改、輸入密碼。</p><p>  3)連續(xù)3次輸入密碼錯誤后鍵盤鎖定10秒,并給出提示。</p><p>  4)具有日期時間設置(小時和分鐘)、顯示,環(huán)境溫度顯示功能。</p><p>  5)220V供電下,設計系統所需電源,并考慮斷電后原始數據的保存。</p><p>  4.2 系統主程序

63、圖</p><p>  當電路安裝完成后,對密碼鎖進行初始化初始化。初始化時是把單片機內保留的原始密碼恢復成最初值,接下來如果不調用調用顯示器就直接結束,調用顯示器超過三次還沒輸對則直接報警如果輸對則啟動定時系統,如果輸入密碼為數不足則返回繼續(xù)輸入,直到位數足夠位置,當密碼位數夠時輸入少時則自動清除,自動清除超過3次則自動報警,不超時對比密碼,如果密碼正確則開門,然后整個動作結束。</p><

64、p>  #include<reg52.h></p><p>  sbit led-lamp=P3.7;</p><p>  Unsigned char 在計算機中使用補碼存儲 display-count[17]={0x3f,0x06,0x5b,0x4f,0x66,0xbd,0x7d,0x07,0x7f,0x6f,0x77,0x7f,0x39,0x3f,0x7b

65、,0x71,0x3f};</p><p>  Unsigned char display bit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};</p><p>  Unsigned char hang; 4*4矩陣鍵盤控制數碼管</p><p>  Unsigned char lie;</p><

66、p>  Unsigned char key number;</p><p>  Unsigned char password number[4]={0x05,0x06,0x07,0x08};</p><p>  //unsigned char display number;</p><p>  Unsigned char add bit=0;</p>

67、;<p>  Unsigned char shumaguang number[8];</p><p>  Unsigned int led count;</p><p>  Unsigned char stop flag;</p><p>  Unsigned char scanf flag=0;</p><p>  Unsig

68、ned char ret password bit;</p><p>  Unsigned char password ret flag;</p><p>  Void delay(unsigned int count)//延時子函數</p><p><b>  {</b></p><p>  Unsigned int

69、k;</p><p>  While(count--)</p><p>  For(k=0;k<125;k++);</p><p><b>  }</b></p><p>  Void timr0 init() //定時中斷初始化子程序</p><p><b>  {</b&

70、gt;</p><p>  TMOD = 0X01;</p><p><b>  TH0=0XD8;</b></p><p><b>  TL0=0XF0;</b></p><p><b>  TF0=0;</b></p><p><b>  

71、ET0=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  Void INT timer0() interrupt1 //定時中斷服務函數</p><p><b>  {</b></p&g

72、t;<p><b>  TH0=0XD8</b></p><p><b>  TL0=0XF0;</b></p><p>  Led lamp=0;</p><p>  Led count++;</p><p>  If(led count>199)</p><

73、;p><b>  {</b></p><p>  Led count = 0;</p><p>  Led lamp = 1;</p><p><b>  TR0=0; </b></p><p><b>  }</b></p><p>  修改密碼

74、:按下*號鍵啟動此程序,首先輸入修改后的密碼,存入后再次輸入一次密碼,對比兩次密碼是否一樣。如果兩次密碼不同,則從新輸入;如果兩次修改的密碼相同則調用LED數碼管,隨后顯示調用表示修改成功,然后按%退出,則修改密碼工作完成。以前的舊密碼不能再使用。這樣既不用換鎖又可以增強安全性。</p><p>  Void password ret() //密碼從設子函數</p><p><b

75、>  {</b></p><p>  // unsigned char password ret flag;</p><p>  // if(key number==0x0f)</p><p><b>  // {</b></p><p>  // Password ret

76、flag=1;</p><p>  While(password ret flag)</p><p><b>  {</b></p><p>  Password ret display();</p><p>  If((P2&0xf0)!=0xf0)</p><p><b&

77、gt;  {</b></p><p>  Ret password bit++;</p><p>  If(ret password bit>6)</p><p><b>  {</b></p><p>  Ret password bit=0;</p><p>  

78、Password ret flag=0;</p><p><b>  }</b></p><p>  Delay(100);</p><p>  Switch(ret password bit)</p><p><b>  {</b></p><p>  Case 1:

79、password ret flag=1;break;</p><p>  Case 2:password number[0]=key number;break;</p><p>  Case 3:password number[1]=key number;break;</p><p>  Case 4:password number[2]=key n

80、umber;break;</p><p>  Case 5:password number[3]=key number;break;</p><p>  Case 6:password ret flag=0;break;</p><p>  Default:break;</p><p><b>  }</b>&l

81、t;/p><p>  // }</p><p>  // }</p><p><b>  }</b></p><p><b>  }</b></p><p>  Void main() //主函數</p><p><b&g

82、t;  {</b></p><p>  Timr0 init();</p><p><b>  While(1)</b></p><p><b>  {</b></p><p>  Led lamp=0;</p><p>  Display(0x08);<

83、;/p><p>  Scankey();</p><p>  If(key number==0x0f)</p><p><b>  {</b></p><p>  Password ret flay=1;</p><p>  While(password ret flag)</p>

84、;<p><b>  {</b></p><p>  Scankey();</p><p>  Password ret();</p><p>  Password ret display();</p><p><b>  } </b></p><p>&

85、lt;b>  }</b></p><p>  If(key number==0x0e)</p><p><b>  {</b></p><p>  Scanf flag=1;</p><p>  While(scanf flag)</p><p><b>  {&

86、lt;/b></p><p>  Scankey();</p><p>  KEY funcation();</p><p>  Password display();</p><p>  If(key number==0x10)</p><p><b>  {</b></p&g

87、t;<p>  Key password compare(); </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p&

88、gt;<p><b>  }</b></p><p><b>  圖4—3報警流程圖</b></p><p>  當輸入密碼后系統需要對輸入的密碼與設定的密碼進行比較,本設計采用一位一位數字對比的方式,如果第一位數字錯誤清除顯示同時記下錯誤位數,接著對比下一位直到六位密碼全部對比完成。如果對比過程中出現記錄錯誤次數超過3次則報警,同

89、時鎖定鍵盤10秒鐘,如果正確則爭取開鎖同時鍵盤上的LED燈清零,不會留下密碼。</p><p>  Void key password compare() //密碼是否正確子程序</p><p><b>  {</b></p><p>  Unsigned char kou for;</p><p>  If(pass

90、word number[0]==shumaguang number[0])</p><p><b>  {</b></p><p>  If(password number[1]==shumaguang number[1])</p><p><b>  {</b></p><p>  If(pass

91、word number[2]==shumaguang number[2])</p><p><b>  {</b></p><p>  If(password number[3]==shumaguang number[3])</p><p><b>  {</b></p><p>  If(pass

92、word number[4]==shumaguang number[4])</p><p><b>  {</b></p><p>  If(password number[]==shumaguang number[5])</p><p><b>  {</b></p><p><b> 

93、 TR0=1;</b></p><p>  Scanf flag=0;</p><p>  Stop flag=0;</p><p>  For(kou for=0;kou for<4;kou for++)</p><p><b>  {</b></p><p>  Shuma

94、guang number[kou for]=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

95、;b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Void display(unsigned char display strat init) /

96、/初始化顯示子函數</p><p><b>  {</b></p><p>  Unsigned char shaomiao for;</p><p>  Unsigned char bit for;</p><p>  For(shaomiao for=0;shaomiao for<0;shaomiao

97、 for++)</p><p><b>  {</b></p><p>  P0=display count[display strat init];</p><p>  For(bit for=0;bit for<0;bit for++)</p><p><b>  {</b>&

98、lt;/p><p>  P1 =display bit[bit for];</p><p><b>  Delay(1);</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&

99、lt;/b></p><p><b>  第5章 總 結</b></p><p>  在沒有做畢業(yè)設計前覺得畢業(yè)設計只是對所學知識的單純總結,但是通過這次做畢業(yè)設計發(fā)現自己的看法有點太片面。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設計使我明白了自己原來知識還比較欠缺。自己要學的東西還太多,以前老是覺得自己什么東西都會,什

100、么東西都懂,有點眼高手低。通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程,在以后工作、學習中都應該不斷的學習,努力提高自己知識和綜合素質。</p><p>  不管學會的還是學不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于完成了有種如釋重負的感覺。此外還得出一個結論:知識必須通過應用才能實現其價值!有些東西以為學會了,但真正到用的時候才發(fā)現是兩碼事,所以我認為只有到真正會用的時候才是正的學

101、會了。程序的設計思想的精巧的重要性,是不管怎樣說都不為過的,好的設計可以讓大家很快的明白你的思想,而且很方便的來實現它。良好的編程習慣,它可以使你的程序很方便的被別人閱讀,也很方便的被更改,所以可以的話,盡可能多的寫注釋,沒有人會嫌你寫得多。</p><p>  在設計過程中,通過查閱大量的有關資料,與同學交流經驗和自學,并向老師請教等方式,使自己學到了不少知識,也經歷了不少的艱辛,但收獲同樣巨大。在整個設計中我

102、懂的了許多東西也培養(yǎng)了我獨立工作的能力,樹立了自己對工作的信心,相信會對今后的學習工作生活有非常重要的影響,而且大大提高了動手能力,是我充分體會到了在創(chuàng)作過程中探索的艱辛和喜悅。雖然這個設計做的也不太好但是在設計過程中所學到的東西是這次畢業(yè)設計的最大收獲和財富,使我終生受益。</p><p>  對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個人永遠不能滿足與現有的成就,人生

103、就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經歷是一份擁有。 </p><p><b>  致 謝</b></p><p>  本論文雖凝聚著自己的汗水,但卻不是個人智慧的產品,沒有父母和朋友的幫助和支持,我在大學的成長肯定會大打折扣。當我打完畢業(yè)論文的最后一個字符,涌上心頭的不是長途跋涉后抵達終點的欣息,而是源于心底的誠摯謝意。

104、首先要感謝我的導師王老師,對我的構思以及論文內容進行指導,并為我指點迷津,幫我開闊思路,悉心點撥,熱枕鼓勵。王老師一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖時間不長,卻給以終生受益無窮之道。對王老師的感激之情是無法用語言表達的,使我在完成論文的同時也深受啟發(fā)和教育。</p><p><b>  參考文獻</b></p><p>  

105、(1)《MCS—51 單片機原理及應用教程》 劉迎春等 清華大學出版社</p><p>  (2)《單片機外圍電路設計》 沙占友等 電子工業(yè)出版社</p><p>  (3)《單片機原理機應用》 李念強等 機械工業(yè)出版社</p><p>  (4)《單片機應用技術教程》 張洪潤 北京:清華大學出版社</p><p>  (5)

106、《單片機應用程序設計技術》 周航慈 著 北京航空航天大學出版社</p><p>  (6)《單片機原理及應用》 王迎旭編 機械工業(yè)出版社</p><p>  (7)《微機控制技術及應用》 韓全立等 機械工業(yè)出版社</p><p>  (8)《C51基礎與應用實例》 常喜茂等 電子工業(yè)出版社</p><p>  (9)《51單片機C語言應

107、用程序設計實力精講》戴佳等 電子工業(yè)出版社</p><p>  (10)《C語言程序設計》 杜恒 機械工業(yè)出版社</p><p>  (11)《單片機C語言案例教程》白熾貴等 電子工業(yè)出版社</p><p>  (12)《8051單片機C語言程序設計與實力解析》劉海濤等 清華大學出版社</p><p><b>  附錄</b

108、></p><p><b>  主電路圖</b></p><p><b>  原理圖</b></p><p><b>  使用注意事項</b></p><p>  在放置整個系統時不要把電路放在潮濕的地方、有水的地方、放置在桌面時要把桌面清理干凈、保持桌面干燥,以上幾點均

109、可以造成電路短路,影響到整個系統的工作,因此需要特別注意。</p><p>  整個系統只須一組+5V的直流穩(wěn)壓電源為整個系統工作。</p><p>  把鍵盤輸入模塊接到單片機的P1口、數碼顯示管模塊接到單片機的P2口、報警模塊接到單片機的P0.0——P0.3口即可。注意不要把電源接反。</p><p><b>  鍵盤如下圖所示:</b>&

110、lt;/p><p>  其中0——9鍵代表數字0——9</p><p><b>  # 鍵為調整鍵</b></p><p><b>  * 鍵為修改密碼鍵</b></p><p><b>  A 鍵為關閉報警建</b></p><p><b>  

溫馨提示

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

評論

0/150

提交評論