單片機(jī)課程設(shè)計(jì)——可改密碼的電子密碼鎖設(shè)計(jì)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  課程設(shè)計(jì)(論文)任務(wù)書2</p><p>  可改密碼電子密碼鎖設(shè)計(jì)報(bào)告2</p><p><b>  第一章 概述3</b></p><p>  第二章 系統(tǒng)總體方案設(shè)計(jì)3</p><p>  第三章

2、 硬件電路設(shè)計(jì)4</p><p>  3.1 鍵盤電路設(shè)計(jì)4</p><p>  3.2LCD顯示電路5</p><p>  3.3 開鎖電路7</p><p><b>  3.4報(bào)警電路7</b></p><p>  3.5密碼掉電保存電路8</p><p>

3、;  第四章 軟件設(shè)計(jì)9</p><p>  4.1軟件設(shè)計(jì)思路9</p><p>  4.2 程序設(shè)計(jì)流程圖10</p><p>  4.3 程序設(shè)計(jì)11</p><p>  第五章 系統(tǒng)調(diào)試11</p><p>  第六章 心得體會(huì)13</p><p>  致 謝14&

4、lt;/p><p><b>  參考文獻(xiàn):14</b></p><p>  附件1:系統(tǒng)總電路圖15</p><p>  附件2:源程序16</p><p>  課程設(shè)計(jì)(論文)任務(wù)書</p><p>  設(shè)計(jì)題目:可改密碼電子密碼鎖</p><p>  設(shè)計(jì)任務(wù):以89

5、C52單片機(jī)為核心,制作一個(gè)可以更改6位密碼的模擬電子密碼鎖。</p><p><b>  設(shè)計(jì)要求:</b></p><p><b>  密碼位數(shù)為6位。</b></p><p>  顯示使用1602液晶顯示。</p><p>  更改的密碼支持?jǐn)嚯姳4妗?lt;/p><p>

6、  支持連續(xù)輸入三次錯(cuò)誤密碼報(bào)警。</p><p>  密碼輸入狀態(tài)動(dòng)態(tài)顯示。</p><p>  分別使用兩個(gè)發(fā)光二極管表示輸入正確和錯(cuò)誤密碼。</p><p>  可改密碼電子密碼鎖設(shè)計(jì)報(bào)告</p><p>  摘要 本文介紹基于MCS-51單片機(jī)的可更改密碼的電子密碼鎖設(shè)計(jì),并支持掉電保存密碼,程序使用了C語言編寫。</p>

7、;<p>  關(guān)鍵詞 單片機(jī) 電子密碼鎖 改變 </p><p>  Abstract: This article describes the MCS-51 microcontroller based on the password change the design of electronic locks, and to support power-down save the passwo

8、rd, the program uses the C language.</p><p>  Key word: MCU Electronic code lock Change</p><p><b>  概述</b></p><p>  密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子

9、產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的數(shù)字密碼鎖是以芯片為核心,通過編程來實(shí)現(xiàn)的。其性能和安全性已大大超過了機(jī)械鎖。其特點(diǎn)是保密性好,隨機(jī)開鎖成功率幾乎為零。密碼可變,用戶可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級下降。無活動(dòng)零件,不會(huì)磨損,壽命長。使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開鎖。數(shù)字密碼鎖操作簡單易行,一學(xué)就會(huì)。</p><p&

10、gt;  本文所涉及的是市場占有率最高的是MCS—51系列,因?yàn)槭澜缟虾芏嘀腎C生產(chǎn)廠家都生產(chǎn)51兼容的芯片。到目前為止,MCS—51單片機(jī)已有數(shù)百個(gè)品種,還在不斷推出功能更強(qiáng)的新產(chǎn)品。</p><p>  本設(shè)計(jì)是基于單片機(jī)的密碼鎖設(shè)計(jì)方案,根據(jù)要求,給出了該單片機(jī)密碼鎖的硬件電路和軟件程序,同時(shí)給出了單片機(jī)型號的選擇、硬件設(shè)計(jì)、軟件流程圖、單片機(jī)存儲單元的分配、C語言源程序及詳細(xì)注釋等內(nèi)容。</p&

11、gt;<p>  第二章 系統(tǒng)總體方案設(shè)計(jì)</p><p>  用以STC89C52為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加掉電存儲。其原理如圖2.1所示。</p><p>  2.1單片機(jī)控制方案</p><p><b>  設(shè)計(jì)思路如下:</b>

12、</p><p>  1、輸入密碼用矩形鍵盤(4*3),包括數(shù)字鍵和功能鍵。</p><p>  2、LCD1602用來實(shí)時(shí)顯示當(dāng)前的各操作狀態(tài)。</p><p>  3、用發(fā)光二極管代替開鎖的電路,發(fā)光表示開鎖。</p><p>  4、輸入密碼錯(cuò)誤次數(shù)超過3次,系統(tǒng)報(bào)警。</p><p>  5、打開電源后,LCD

13、交替顯示“Input password, please press 0”和“Change password,please press 1”,設(shè)原始密碼為“123456”,只要輸入此密碼便了開門。這樣可預(yù)防停電后再來電時(shí)無密碼可用。</p><p>  6、任何狀態(tài)下,按“取消”鍵,LCD返回功能交替選擇的初始狀態(tài)。</p><p>  7、欲重新設(shè)定密碼,需先輸入舊密碼后才能更改。<

14、/p><p>  8、修改密碼時(shí),需輸入兩次新密碼確認(rèn)一致,如果兩次輸入的密碼不一樣則LCD顯示“error”并返回初始狀態(tài)。</p><p>  軟件的設(shè)計(jì)主要包括鍵盤鍵值的讀取,LCD顯示程序,密碼比較程序和報(bào)警程序等。</p><p>  第三章 硬件電路設(shè)計(jì)</p><p>  3.1 鍵盤電路設(shè)計(jì)</p><p&g

15、t;  使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。其原理如圖3.1。本設(shè)計(jì)中矩陣鍵盤接在單片機(jī)的P1口。</p><p><b>  圖3.1 矩陣鍵盤</b></p><p>  每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)

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

17、對照圖3.1所示的4×3鍵盤,說明線反轉(zhuǎn)個(gè)工作原理。</p><p>  首先辨別鍵盤中有無鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為1。</p><p>  判斷鍵盤中哪一個(gè)鍵被按下使通過將列線逐列置低

18、電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。</p><p>  具體的功能設(shè)計(jì)如表3.1:</p><p><b>  表3.1 按鍵功能</b></p><p>  3.2LCD顯示電路<

19、/p><p>  本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的。本系統(tǒng)的顯示采用了LCD1602作為顯示模塊,其能夠同時(shí)顯示16x02即32個(gè)字符。LCD在系統(tǒng)中一共負(fù)責(zé)顯示12條操作提示,其D0-D7引腳分別接單片機(jī)的P0口、VSS和VDD分別接電源和地線、VEE為液晶亮度調(diào)節(jié)按鈕(可接電位器)、RS為數(shù)據(jù)或命令的選擇端接P2.6、RW為讀寫的選擇端接P2.5、E為使能信號接P2.7。如圖3.2所示。</

20、p><p>  圖3.2 LCD顯示電路</p><p>  LCD1602的管角及寄存器介紹如下:</p><p><b>  引腳說明</b></p><p>  1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線 VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完

21、全一樣,其中:    </p><p>  寄存器選擇控制表    </p><p>  注:關(guān)于E=H脈沖——開始時(shí)初始化E為0,然后置E為1,再清0。 busy flag(DB7):在此位為被清除為0時(shí),LCD將無法再處理其他的指令要求。</p><p><b>  3.3 開鎖電路</b></p><p>  在本

22、次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,,表示開鎖;第二個(gè)發(fā)光管亮表示密碼錯(cuò)誤。電路圖如3.3所示。當(dāng)P3.0和P3.1口輸出低電平時(shí),二極管發(fā)光,表示開鎖或密碼錯(cuò)誤。</p><p><b>  圖3.3 開鎖電路</b></p><p><b>  3.4報(bào)警電路</b></p><p><b&

23、gt;  圖3.4報(bào)警電路</b></p><p>  報(bào)警模塊由蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要100mA驅(qū)動(dòng)電流。蜂鳴器電路如圖3.4所示。當(dāng)89C52的P1.5口輸出為低電平時(shí),蜂鳴器產(chǎn)生蜂鳴音,89C52輸出為高電平時(shí),蜂鳴器不發(fā)聲。</p><p>  本設(shè)計(jì)中當(dāng)連續(xù)輸入三次錯(cuò)誤密碼時(shí)(包括開鎖和更改密碼兩種功能操作),蜂鳴器就會(huì)發(fā)聲

24、表示報(bào)警。</p><p>  3.5密碼掉電保存電路</p><p>  本設(shè)計(jì)中為了在系統(tǒng)掉電時(shí)能夠保存系統(tǒng)的設(shè)置密碼,使用了具有I2C總線接口的E2PROM的AT24C02芯片來保存密碼鎖的密碼。如圖3.5所示。</p><p>  圖3.5 密碼保存電路</p><p>  AT24C02的介紹如下:</p><

25、p><b>  管腳描述    </b></p><p>  SCL串行時(shí)鐘   AT24C02串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘,這是一個(gè)輸入管腳。   </p><p>  SDA串行數(shù)據(jù)/地址   AT24C02 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個(gè)開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進(jìn)行線或(wi

26、re-OR)。   </p><p>  A0、A1、A2器件地址輸入端   這些輸入腳用于多個(gè)器件級聯(lián)時(shí)設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)值為0。當(dāng)使用AT24C02 時(shí)最大可級聯(lián)8個(gè)器件。如果只有一個(gè)AT24C02被總線尋址,這三個(gè)地址輸入腳(A0、A1、A2 )可懸空或連接到Vss,如果只有一個(gè)AT24C02被總線尋址這三個(gè)地址輸入腳(A0、A1、A2 )必須連接到Vss。   </p><

27、;p>  WP寫保護(hù)   如果WP管腳連接到Vcc,所有的內(nèi)容都被寫保護(hù)只能讀。當(dāng)WP管腳連接到Vss 或懸空允許器件進(jìn)行正常的讀/寫操作</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p><b>  4.1軟件設(shè)計(jì)思路</b></p><p>  電子密碼鎖工作的主要過程是LCD提示開始選擇操作

28、功能(選擇開鎖還是更改密碼),通過鍵盤輸入功能選擇鍵0或1(此時(shí)鍵盤其它按鍵被暫時(shí)屏蔽)。</p><p>  當(dāng)用戶選擇開鎖時(shí),通過鍵盤輸入開鎖密碼。如果密碼輸入正確,則LCD提示密碼正確、第二個(gè)LED燈亮表示開鎖。如果密碼輸入錯(cuò)誤則LCD提示密碼錯(cuò)誤并亮一個(gè)LED燈亮。當(dāng)輸入密碼連續(xù)輸入錯(cuò)誤3次時(shí),系統(tǒng)報(bào)警。</p><p>  當(dāng)用戶選擇更改密碼功能時(shí),要求用戶先輸入當(dāng)前密碼。當(dāng)密碼

29、正確時(shí)LCD提示用戶進(jìn)一步操作,且用戶必須輸入兩次新密碼用以確認(rèn)。當(dāng)兩次輸入的新密碼一致時(shí),單片機(jī)想AT24C02寫入新密碼,否則提示錯(cuò)誤并返回處狀態(tài)。</p><p>  LCD在提示用戶輸入密碼時(shí),會(huì)光標(biāo)閃爍并逐位顯示。當(dāng)光標(biāo)沒有閃爍時(shí)表示已經(jīng)不能輸入數(shù)字了,需按“確認(rèn)”鍵以告知單片機(jī)已完成操作。</p><p>  “取消”鍵用來消除當(dāng)前的狀態(tài),無論出于系統(tǒng)處于哪個(gè)階段都能返回初始狀

30、態(tài)。</p><p>  4.2 程序設(shè)計(jì)流程圖</p><p><b>  4.3 程序設(shè)計(jì)</b></p><p>  系統(tǒng)的源程序采用了C語言編寫,因?yàn)镃語言具有很好的模塊性,故編寫的程序都采用了子程序模塊化編寫。</p><p>  具體程序及程序說明見附件2。</p><p><b

31、>  系統(tǒng)調(diào)試</b></p><p>  單片機(jī)開發(fā)板實(shí)物圖:</p><p>  功能選擇時(shí)的初始狀態(tài):</p><p><b>  3、開鎖狀態(tài):</b></p><p><b>  3、開鎖狀態(tài):</b></p><p><b>  密碼輸

32、入狀態(tài):</b></p><p><b>  密碼正確開鎖:</b></p><p><b>  修改密碼狀態(tài):</b></p><p>  7、密碼修改失敗和成功:</p><p><b>  第六章 心得體會(huì)</b></p><p>  

33、在著手本次課程設(shè)計(jì)時(shí),通過查閱網(wǎng)絡(luò)與圖書館搜集到的資料,加上指導(dǎo)老師指點(diǎn),結(jié)合生活中對密碼鎖的功能特性要求,設(shè)計(jì)出了這一套電子密碼鎖系統(tǒng)的主要硬件結(jié)構(gòu)和軟件結(jié)構(gòu),基本完成了課題。不過由于了解的專業(yè)知識尚淺,對課題的研究經(jīng)驗(yàn)的不足,使得在技術(shù)的解決與運(yùn)用上顯得粗糙了一些,特別是功能鍵的設(shè)定。</p><p>  在設(shè)計(jì)的過程當(dāng)中經(jīng)歷和克服了許多困難,暴露我們知識和經(jīng)驗(yàn)不足的同時(shí)也積累了實(shí)踐經(jīng)驗(yàn),檢閱了大學(xué)所學(xué)的知識

34、,使所學(xué)的知識得到復(fù)習(xí)和鞏固。通過這次畢業(yè)設(shè)計(jì)我學(xué)到了很多東西,復(fù)習(xí)了理論知識,特別是單片機(jī)外圍電路模塊電路設(shè)計(jì)及其應(yīng)用編程;學(xué)會(huì)收集和處理資料的一些基本問題,提高獲取新知識的能力、分析和解決問題的能力以及交流與合作的能力。</p><p>  這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,在同學(xué)的幫助下,終于游逆而解。非常感謝!</p><p><b>  致

35、 謝</b></p><p>  在學(xué)習(xí)單片微型計(jì)算機(jī)與接口技術(shù)課程,我要感謝的指導(dǎo)老師的諄諄教誨。當(dāng)然,還要感謝的在我完成設(shè)計(jì)過程中給予我?guī)椭耐瑢W(xué)們。</p><p>  現(xiàn)在即將完成我的課程學(xué)習(xí),還有我大學(xué)第三年的生活,雖然依依不舍,但是對未來的路,我充滿信心。相信有了這次的實(shí)踐設(shè)計(jì)經(jīng)驗(yàn),在接下來的學(xué)習(xí)和以后的工作中,將能更好的將學(xué)到的知識應(yīng)用于實(shí)踐。也相信在接下來的補(bǔ)充

36、學(xué)習(xí)與應(yīng)用中能更好的鞏固這門課程的知識。</p><p>  最后,再次感謝老師對我學(xué)習(xí)的指導(dǎo)和幫助以及同學(xué)們的鼓勵(lì)!</p><p><b>  參考文獻(xiàn):</b></p><p>  1、李群芳 張士軍.片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,2010.</p><p>  2、郭天祥.51單片機(jī)C語言教程.

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論