版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 編號(hào):</b></p><p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p> 防止多次試探密碼的密碼鎖設(shè)計(jì)</p><p> 院 系:信息工程學(xué)院</p><p> 姓 名:田 園</p><p> 學(xué) 號(hào):***
2、*******</p><p> 專 業(yè):通信工程</p><p> 年 級(jí):**級(jí)</p><p><b> 指導(dǎo)教師:***</b></p><p> 職 稱:講 師</p><p> 完成日期:2012年5月</p><p><b&g
3、t; 摘 要</b></p><p> 伴隨著科技的進(jìn)步和人們生活水平的提高,人們的安全防范意識(shí)逐步提升,如何實(shí)現(xiàn)防盜這一問題也變的尤為突出,傳統(tǒng)機(jī)械鎖由于制作工藝簡(jiǎn)單,近些年來被撬事件屢見不鮮;電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,價(jià)格低廉等特點(diǎn),受到了廣大用戶的青睞。</p><p> 本設(shè)計(jì)采用單片機(jī)AT89C51作為密碼鎖監(jiān)控裝置的檢測(cè)和控制核心,實(shí)現(xiàn)鑰
4、匙信息在主機(jī)上的初步認(rèn)證注冊(cè)、輸入密碼錯(cuò)誤次數(shù)過多報(bào)警、鑰匙丟失報(bào)廢等功能。根據(jù)51單片機(jī)之間的串行通信原理,這便于對(duì)密碼信息的隨機(jī)加密和保護(hù),鍵盤輸入密碼更提高了密碼的安全性。采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,提高信號(hào)傳輸?shù)目垢蓴_性,減少錯(cuò)誤動(dòng)作,而且有功耗較低、反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。
5、經(jīng)過在開發(fā)板上面的測(cè)試,已經(jīng)達(dá)到了應(yīng)有的效果,本系統(tǒng)已經(jīng)完成本設(shè)計(jì)的所有要求。</p><p> 關(guān)鍵詞:單片機(jī);掉電存儲(chǔ);設(shè)計(jì);密碼鎖</p><p><b> Abstract</b></p><p> With the development of science and the improvement of people’s li
6、ving standard, people’s saftety guard consciousness guadually improves, and the problem of how to carry out the family to guard against theft has become particularly outstanding. Because of the simple construct of tradit
7、ional machine lock, the affairs of theft is hackneyed. The electronic lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high and low prices, being the majority of users pro</p
8、><p> This design uses the single-chip microcomputer AT89C51 as a combination lock monitoring device of the detection and control core. It can carry out the key information to register in the main on board ini
9、tial attestation, the password information encrypt etc. Go to correspond by letter the principle according to the string between 51 machines, this is easy to encrypt and protect to the passwords information random. Adopt
10、ing the numerical signal codes not only can carry out many controls of the ro</p><p> keyword:singlechip; off electricity storage; design; cryptogram lock</p><p><b> 目 錄</b></p
11、><p><b> 1 緒論1</b></p><p><b> 1.1 引言1</b></p><p> 1.2 電子密碼鎖的背景1</p><p> 1.3 電子鎖設(shè)計(jì)的意義以及此設(shè)計(jì)特點(diǎn)2</p><p> 2 方案設(shè)計(jì)與論證3</p>&
12、lt;p> 2.1 設(shè)計(jì)思路3</p><p> 2.1.1 系統(tǒng)方案一3</p><p> 2.1.2 系統(tǒng)方案二4</p><p> 2.2 方案論證4</p><p> 3 系統(tǒng)硬件設(shè)計(jì)5</p><p> 3.1 主控模塊5</p><p> 3.1.1
13、AT89C51芯片簡(jiǎn)介5</p><p> 3.1.2 AT89C51單片機(jī)最小系統(tǒng)8</p><p> 3.1.3 時(shí)鐘振蕩電路9</p><p> 3.1.4 復(fù)位電路采用R-C復(fù)位電路9</p><p> 3.2 鍵盤模塊10</p><p> 3.2.1 鍵盤設(shè)計(jì)10</p>
14、<p> 3.2.2 24C04芯片簡(jiǎn)介11</p><p> 3.3 顯示模塊11</p><p> 3.4 報(bào)警模塊12</p><p> 3.5 元器件采購13</p><p><b> 4 軟件設(shè)計(jì)15</b></p><p> 4.1 系統(tǒng)整體設(shè)計(jì)流程圖
15、16</p><p> 4.2 主程序模塊16</p><p> 4.3 密碼初始化模塊17</p><p> 4.4 鍵盤設(shè)計(jì)模塊17</p><p> 4.5 報(bào)警系統(tǒng)模塊18</p><p> 4.6 中斷模塊18</p><p> 5 系統(tǒng)調(diào)試與仿真20<
16、/p><p> 5.1 Keil C51簡(jiǎn)介20</p><p> 5.2 調(diào)試過程21</p><p> 5.3 系統(tǒng)仿真21</p><p> 5.4 調(diào)試仿真結(jié)果分析24</p><p> 6 設(shè)計(jì)總結(jié)與展望25</p><p><b> 參考文獻(xiàn)26<
17、/b></p><p><b> 致謝27</b></p><p><b> 附錄28</b></p><p><b> 1 緒論</b></p><p><b> 1.1 引言</b></p><p> 隨著人
18、們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的喜愛。鎖是置于可啟閉的器物上,用以關(guān)住某個(gè)確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對(duì)它的結(jié)構(gòu)、機(jī)理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮。現(xiàn)代人類文明社會(huì)里,由于社會(huì)中各種矛盾沖突十分劇烈,
19、人們的思想道德觀念,價(jià)值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺規(guī)范自已的行為,“非禮不為”,雖無鑰匙亦不會(huì)亂闖。然而,那些毫無道德觀念的盜賊卻想方設(shè)法利用高科技手段撬門開鎖,使廣大居民防不勝防。</p><p> 為什么會(huì)出現(xiàn)這種情況呢?因?yàn)閭鹘y(tǒng)鎖具都存在致命的弱點(diǎn):</p><p> ?。?)鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強(qiáng)力破壞。</p>
20、<p> ?。?)鎖具制作工藝,技術(shù)落后,無法阻止技術(shù)手段的開啟。</p><p> 目前,市場(chǎng)上很多國(guó)內(nèi)外的鎖具,實(shí)際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡(jiǎn)單的工具就可以把這些鎖打開。其實(shí),不是他們多高明,而是一般鎖具技術(shù)原理太過簡(jiǎn)單。面對(duì)這一殘酷的現(xiàn)狀,新時(shí)代提出了鎖具必須革命的迫切的要求。</p><p> 1.2 電子密碼鎖的背景</p>
21、<p> 隨著社會(huì)科技的進(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)是其中的
22、組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。</p><p> 1.3 電子鎖設(shè)計(jì)的意義以及此設(shè)計(jì)特點(diǎn)</p><p> 單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。計(jì)算機(jī)的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。微計(jì)算機(jī)(單片
23、機(jī))在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,
24、我們就將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了,且容易升級(jí)改善。</p><p> 電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用。大大提高了主人物資的安全性,安全可以代替老式機(jī)械鎖。目前使用的密碼鎖種類繁多
25、,各具特色。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用AT89C51單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖。該密碼鎖設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。</p><p> ?。?)系統(tǒng)設(shè)置6位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。</p><p> ?。?)密碼由用戶自己設(shè)定,在開鎖狀態(tài)下,用戶可自行修改密碼。</p><
26、;p> ?。?)具有自動(dòng)報(bào)警功能,自動(dòng)報(bào)警分現(xiàn)場(chǎng)報(bào)警和遠(yuǎn)程報(bào)警兩種,現(xiàn)場(chǎng)報(bào)警由揚(yáng)聲器發(fā)出報(bào)警聲。</p><p> ?。?)兩種情況下可報(bào)警:一是密碼輸入錯(cuò)誤3次,則報(bào)警;二是非正常開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測(cè),同時(shí)報(bào)警,保證了系統(tǒng)的安全性。系統(tǒng)工作時(shí),用戶通過按鍵輸入6位密碼,單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較,若密碼正確,則發(fā)出開鎖信號(hào),將門打開,系統(tǒng)不報(bào)警;若密碼不正確,則有相
27、應(yīng)的指示燈閃動(dòng),并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過3次,若3次輸入的密碼都不正確,則發(fā)出報(bào)警信號(hào)。</p><p><b> 2 方案設(shè)計(jì)與論證</b></p><p><b> 2.1 設(shè)計(jì)思路</b></p><p> 根據(jù)本設(shè)計(jì)的要求,構(gòu)思如下:</p><p> (1)輸
28、入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵。</p><p> ?。?)LCD顯示屏顯示輸入密碼,但是只是輸出顯示符號(hào)*,采用靜態(tài)輸出。</p><p> ?。?)用發(fā)光二極管模擬鎖的情況,鎖關(guān)時(shí)發(fā)光二極管滅,打開時(shí)發(fā)光二極管亮。</p><p> ?。?)輸入密碼錯(cuò)誤或操作錯(cuò)誤時(shí)報(bào)警。</p><p> 軟件的設(shè)計(jì)主要包括矩形鍵盤鍵值的讀取、L
29、CD顯示屏輸出程序、密碼判斷程序和報(bào)警程序。</p><p> 2.1.1 系統(tǒng)方案一</p><p> 用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案,密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測(cè)、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。其總體方框圖如圖2-1所示。</p><p> 圖2-1 方案一系統(tǒng)框圖</p>&l
30、t;p> 2.1.2 系統(tǒng)方案二</p><p> 采用一種是用以AT89C51為核心的單片機(jī)控制方案,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲(chǔ)、聲光提示甚至添加遙控控制功能。另外本設(shè)計(jì)中采用USB供電,只供實(shí)驗(yàn)使用,真正的設(shè)計(jì)開發(fā)中需要根據(jù)現(xiàn)實(shí)情況設(shè)計(jì)。其原理如圖2-2所示。</p><p> 圖2-2單片機(jī)控制
31、電子密碼鎖總體方框圖</p><p><b> 2.2 方案論證</b></p><p> 考慮到數(shù)字電路方案原理簡(jiǎn)單,造價(jià)低廉,但是不能滿足現(xiàn)在的安全需求,而單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能,而且能在很大的程度上擴(kuò)展功能及方便地對(duì)系統(tǒng)進(jìn)行升級(jí),實(shí)現(xiàn)基本的密碼鎖功能,添加掉電存儲(chǔ)、聲光提示甚至添加遙控控制功能,所以在此采用第二種設(shè)計(jì)方案。<
32、/p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 本系統(tǒng)主要以AT89C51為核心,硬件設(shè)計(jì)主要由主控模塊、鍵盤輸入模塊、顯示模塊、報(bào)警模塊組成。其中主控模塊主要負(fù)責(zé)信息的集中處理,是由AT89C51組成的最小系統(tǒng),負(fù)責(zé)內(nèi)部程序的運(yùn)行和對(duì)整個(gè)系統(tǒng)的調(diào)控,最小系統(tǒng)包括時(shí)鐘電路和復(fù)位模塊,主要為整個(gè)系統(tǒng)的運(yùn)行提供一個(gè)環(huán)境。鍵盤輸入模塊主要負(fù)責(zé)外界輸入操作
33、,主要是對(duì)整個(gè)系統(tǒng)密碼的輸入和重置,這個(gè)模塊是整個(gè)系統(tǒng)的輸入端。顯示模塊主要顯示系統(tǒng)運(yùn)行的結(jié)果以及輸入過程中操作的顯示,報(bào)警模塊主要有蜂鳴器和一個(gè)發(fā)光二極管,主要用于密碼輸入正確或者錯(cuò)誤是報(bào)警。通過以上幾個(gè)模塊的相互配合完成整個(gè)系統(tǒng)的正常運(yùn)行,該系統(tǒng)設(shè)計(jì)的硬件設(shè)計(jì)框圖如圖3-1所示。系統(tǒng)整體設(shè)計(jì)的電路圖由于頁面關(guān)系放在了附錄中,系統(tǒng)整體原理電路圖見附圖1。</p><p> 圖3-1 系統(tǒng)硬件設(shè)計(jì)框圖</
34、p><p><b> 3.1 主控模塊</b></p><p> 主控模塊主要包括一個(gè)AT89C51芯片和外圍的復(fù)位電路、振蕩電路,負(fù)責(zé)整個(gè)系統(tǒng)的程序運(yùn)行和中間過程的轉(zhuǎn)換。</p><p> 3.1.1 AT89C51芯片簡(jiǎn)介</p><p> AT89C51是一種低功耗/低電壓、高性能的八位CMOS單片機(jī),片內(nèi)有一
35、個(gè)4KB的FLASH可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲(chǔ)器技術(shù),而且其輸出引腳和指令系統(tǒng)都與MSC—51兼容。片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,片內(nèi)的存儲(chǔ)器允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲(chǔ)器編程。因此,AT89C51是一種功能強(qiáng)、靈活性高且價(jià)格合理的
36、單片機(jī),可方便的應(yīng)用于各種控制領(lǐng)域。</p><p> 主要性能特征介紹如下:</p><p> (1)與MCS-51產(chǎn)品指令系統(tǒng)兼容 </p><p> (2)4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p> (3)壽命:1000寫/擦循環(huán)</p><p> (4)數(shù)據(jù)保留時(shí)間:10年</p>&
37、lt;p> (5)全靜態(tài)工作:0Hz-24Hz</p><p> (6)三級(jí)程序存儲(chǔ)器鎖定</p><p> (7)128*8位內(nèi)部RAM</p><p> (8)32可編程I/O線</p><p> (9)兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> (10)6個(gè)中斷源</b&
38、gt;</p><p> (11)可編程串行通道</p><p> (12)低功耗的閑置和掉電模式</p><p> (13)片內(nèi)振蕩器和時(shí)鐘電路</p><p> 另外,AT89C5是用靜態(tài)邏輯來設(shè)計(jì)的,其工作頻率可下降到零并提供兩種軟件的省電方式-空閑方式和掉電方式。在空閑方式中,CPU停止工作。在掉電方式中,片內(nèi)振蕩器停止工作,
39、由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下次硬件復(fù)位為止。</p><p><b> 主要管腳介紹如下:</b></p><p> VCC(40):供電電壓,其工作電壓為5V。</p><p> GND(20):接地。</p><p> P0端口(P0.0-P0.7):P0口為一個(gè)8位
40、漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1端口(P1.0-P1.7):P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫
41、入1后,被內(nèi)部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2端口(P2.0-P2.7):P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由
42、于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3端口(P3.0-P3.7):P3口管腳是一個(gè)帶有內(nèi)部上拉電阻的8位的雙向I/O端口,可接收輸出4個(gè)TTL門電流。
43、當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入端時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL)。</p><p> P3口也可作為AT89C51的一些特殊功能口,如表3-1所示。</p><p> 表3-1 P3端口引腳兼用功能表</p><p> AT89C51單片機(jī)的振蕩特性說明,XTAL1和XTAL2分別為反向放大器的輸入和輸出
44、。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> AT89C51芯片擦除也是單片機(jī)很重要的一部分,整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦除操作
45、中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p> 3
46、.1.2 AT89C51單片機(jī)最小系統(tǒng)</p><p> AT89C51最小系統(tǒng)接線如圖3-2所示,在XTAL1、XTAL2端接上晶振及兩個(gè)諧振電容,在RESET端接上相應(yīng)的電阻、電容,按鍵復(fù)位,加上按鍵即可組成一個(gè)最小系統(tǒng),按要求通電后,系統(tǒng)就可以工作了。</p><p> 圖3-2 AT89C51最小系統(tǒng)</p><p> 3.1.3 時(shí)鐘振蕩電路<
47、/p><p> 單片機(jī)內(nèi)部由構(gòu)成振蕩器的高增益反相放大器,該反相放大器的輸入端為XIAL1引腳輸出端為XIAL2引腳。這兩個(gè)引腳跨接石英振蕩器和微調(diào)電容,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩電路。此系統(tǒng)中電容C4和C5值為30PF,晶振頻率為12MHZ。晶振電路如圖3-3所示。</p><p><b> 圖3-3 晶振電路</b></p><p> 3
48、.1.4 復(fù)位電路采用R-C復(fù)位電路</p><p> AT89C51的外部復(fù)位電路有上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位。上電復(fù)位電容充電來實(shí)現(xiàn)。手動(dòng)按鍵復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù)位。按鍵電平復(fù)位電路是在普通RC復(fù)位電路的基礎(chǔ)上接一個(gè)有下拉電阻1K、上拉電容22μf接VCC,電源由開關(guān)接至復(fù)位腳(和上拉電容并聯(lián)),上拉電容支路負(fù)責(zé)在“上電”瞬間實(shí)施復(fù)位;開關(guān)通過10K下拉電阻分壓器,保證對(duì)單片機(jī)實(shí)施按鍵電平復(fù)位
49、。復(fù)位電路如圖3-4所示。</p><p><b> 圖3-4 復(fù)位電路</b></p><p> 此設(shè)計(jì)采用R_C復(fù)位電路,單片機(jī)復(fù)位電容C1的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用10~30uF,電容值越大復(fù)位時(shí)間越短。</p><p><b> 3.2 鍵盤模塊</b></p><p>
50、 本設(shè)計(jì)鍵盤模塊采用4×4鍵盤,其中有0—9個(gè)數(shù)字鍵,負(fù)責(zé)密碼的輸入,還有五個(gè)功能鍵,分別負(fù)責(zé)密碼的輸入、開鎖、上鎖、密碼重置、重置保存。還有一個(gè)按鍵目前尚未定義。另外本設(shè)計(jì)還采用了24C04記錄了初始化程序中的原始密碼。</p><p> 3.2.1 鍵盤設(shè)計(jì)</p><p> 鍵盤命令及執(zhí)行過程:</p><p> ?。?)FFH:復(fù)位鍵盤。系統(tǒng)
51、通過此軟件復(fù)位命令使鍵盤進(jìn)入程序復(fù)位和內(nèi)部自測(cè)試,稱為基本保證測(cè)試(BAT)。復(fù)位鍵盤的過程如下:</p><p> ?、冁I盤收到FFH后立即回送ACK(FAH)作答;</p><p> ?、阪I盤接口收到ACK后,將鍵盤時(shí)鐘和數(shù)據(jù)線置為高電平;</p><p> ?、坻I盤檢測(cè)到此狀態(tài)后開始BAT操作;</p><p> ④如果BAT正確完成
52、,鍵盤發(fā)送AAH以表示結(jié)束,否則以FDH(或其它任何值)表示診斷有誤。</p><p> (2)FEH:重新發(fā)送。當(dāng)系統(tǒng)檢測(cè)到從鍵盤送來的任何傳輸錯(cuò)誤時(shí),它便向鍵盤發(fā)送FEH命令。鍵盤接收到此命令后,將重新送出原來的內(nèi)容。</p><p> ?。?)FDH~F7H:空操作(保留未用)。</p><p> ?。?)F6H:設(shè)置缺省值。此命令使鍵盤所有條件復(fù)位到電源接
53、通時(shí)的缺省狀態(tài),鍵盤繼續(xù)掃描。</p><p> ?。?)F5H:設(shè)置缺省值和停止鍵盤。此命令使鍵盤所有條件復(fù)位到電源接通時(shí)的缺省狀態(tài),并停止鍵盤掃描,等待下一個(gè)鍵盤命令。</p><p> ?。?)F4H:?jiǎn)?dòng)鍵盤。鍵盤接收到此命令后,用ACK(FAH)作答,清除輸出緩沖器,并啟動(dòng)鍵盤開始掃描。</p><p> ?。?)F3H:設(shè)置拍發(fā)速率和延時(shí)參數(shù)。每當(dāng)按下任
54、一鍵時(shí),鍵盤以拍發(fā)速率連續(xù)送出鍵的接通碼,直到鍵被釋放為止。延時(shí)參數(shù)是指按下一鍵后,鍵盤輸出的響應(yīng)時(shí)間。</p><p> 按鍵原理電路圖如圖3-5所示,共計(jì)數(shù)字鍵10個(gè),功能鍵6個(gè),采用4×4行列式鍵盤。</p><p> 圖3-5 按鍵設(shè)計(jì)圖</p><p> 按鍵設(shè)計(jì)有0—9是個(gè)數(shù)字鍵另外和六個(gè)功能鍵,其中五個(gè)功能鍵已經(jīng)定義,分別為開鎖鍵、上鎖
55、鍵、密碼重置鍵、保存密碼鍵和密碼輸入鍵。按鍵采用查詢掃描方式,對(duì)按鍵進(jìn)行逐行逐列的掃描,確定哪個(gè)按鍵被按下,另外程序中通過軟件實(shí)現(xiàn)了按鍵的去抖功能。</p><p> 3.2.2 24C04芯片簡(jiǎn)介</p><p> 芯片24C02串行E2PROM的讀寫IIC總線是一種用于IIC器件之間連接的二線制總線。它通過SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信
56、息,并根據(jù)地址識(shí)別每個(gè)器件:不管是單片機(jī)、存儲(chǔ)器、LCD驅(qū)動(dòng)器還是鍵盤接口。24C02是采用鐵電技術(shù)生產(chǎn)的EEPROM,掉電后數(shù)據(jù)不丟失。相比傳統(tǒng)的EEPROM具有壽命長(zhǎng),讀寫速度快的優(yōu)點(diǎn),采用IIC總線與外界通訊,容量應(yīng)該是512字節(jié)。主要用于存儲(chǔ)掉電后需要保存的數(shù)據(jù),并且很適合做IIC總線通訊程序的測(cè)試。</p><p><b> 3.3 顯示模塊</b></p><
57、;p> 本系統(tǒng)采用LCD顯示屏作為顯示裝置,顯示密碼輸入的狀態(tài)以及各種操作后出現(xiàn)的結(jié)果,顯示系統(tǒng)如圖3-6所示。</p><p> 圖3-6 顯示模塊圖</p><p><b> 3.4 報(bào)警模塊</b></p><p> 報(bào)警系統(tǒng)包括一個(gè)蜂鳴器和一個(gè)發(fā)光二極管,實(shí)現(xiàn)了密碼輸入正確時(shí)燈亮,密碼輸入三次之后報(bào)警。其中蜂鳴器模塊在Pr
58、oteus中仿真圖如圖3-7所示。</p><p> 圖3-7 蜂鳴器顯示圖</p><p> 另外,單片機(jī)其他引腳鏈接介紹如下,單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當(dāng)INT0被置0時(shí),蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源。</p><
59、p><b> 3.5 元器件采購</b></p><p> 此系統(tǒng)中需要用到的元器件清單如表3-2所示。</p><p><b> 表3-2元器件清單</b></p><p> 焊接所需工具如表3-3所示。</p><p> 表3-3焊接所需工具</p><p&g
60、t; 電路焊接實(shí)物圖如圖3-8 實(shí)物圖(更多實(shí)物圖片見附錄 附圖2、附圖3)。</p><p> 圖3-8 電路實(shí)物圖</p><p><b> 4 軟件設(shè)計(jì)</b></p><p> 程序設(shè)計(jì)(Programming)是指設(shè)計(jì)、編制、調(diào)試程序的方法和過程。它是目標(biāo)明確的智力活動(dòng)。在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)外,大量的工作
61、就是如何根據(jù)每個(gè)生產(chǎn)對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)控制系統(tǒng)設(shè)計(jì)中占重要地位。對(duì)于本系統(tǒng),軟件也占有重要的地位。</p><p> 在單片機(jī)控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個(gè)基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機(jī)按一定的方法進(jìn)行計(jì)算,然后再輸出,以便控制生產(chǎn)。</p><p> 為了完成上述任務(wù),在進(jìn)行軟件設(shè)計(jì)時(shí)
62、,通常把整個(gè)過程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。把一個(gè)程序分成具有多個(gè)明確任務(wù)的程序模塊,分別編制、調(diào)試后再把它們連接在一起形成一個(gè)完整的程序,這樣的程序設(shè)計(jì)方法稱為模塊化程序設(shè)計(jì)。所謂“模塊”,實(shí)質(zhì)上就是能完成一定功能,并相對(duì)獨(dú)立的程序段,這種程序設(shè)計(jì)方法稱為模塊程序設(shè)計(jì)法。</p><p> 模塊程序設(shè)計(jì)法的主要優(yōu)點(diǎn)是:</p><p> (1)單個(gè)模塊比起一個(gè)完整的程序易編
63、寫、調(diào)試及修改。</p><p> (2)程序的易讀性好。</p><p> (3)程序的修改可局部化。</p><p> (4)模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用。</p><p> (5)模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。</p><p> 本系統(tǒng)軟件采用模塊化
64、結(jié)構(gòu),由主程序模塊,鍵盤掃描及識(shí)別子程序,調(diào)電存儲(chǔ)服務(wù)程序,顯示子程序。</p><p> 程序設(shè)計(jì)語言有三種:機(jī)器語言、匯編語言和高級(jí)語言。機(jī)器語言是機(jī)器唯一能“懂”的語言,用匯編語言或高級(jí)語言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。</p><p> 高級(jí)語言是面向問題和計(jì)算過程的語言,它可通過于各種不同的計(jì)算機(jī),用
65、戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語句的功能強(qiáng),常常一個(gè)語句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語言編制程序的速度比較快,也便于學(xué)習(xí)和交流,鑒于此中狀況,本系統(tǒng)采用高級(jí)語言進(jìn)行編譯,在此系統(tǒng)中采用C語言進(jìn)行程序的開發(fā)和調(diào)試,便于理解和閱讀。(具體代碼見附錄)</p><p> 4.1 系統(tǒng)整體設(shè)計(jì)流程圖</p><p> 本設(shè)計(jì)大體分為上電前的準(zhǔn)備、鍵盤輸入密碼
66、、密碼的校驗(yàn)、密碼輸入次數(shù)過多報(bào)警幾個(gè)模塊。整體的流程圖如圖4-1所示。</p><p> 圖4-1系統(tǒng)整體流程圖</p><p><b> 4.2 主程序模塊</b></p><p> 主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。當(dāng)初始化就會(huì)自動(dòng)等待輸入密碼,若操作有誤便會(huì)報(bào)警提示并對(duì)各位進(jìn)行清零,等待密碼的
67、再次輸入;若輸入密碼正確,在輸完之后等待你按下Enter鍵,再判斷密碼是否正確,若錯(cuò)誤便報(bào)警并再次將各位密碼清零;若輸入密碼正確就會(huì)自動(dòng)開鎖并亮燈。</p><p> 在系統(tǒng)的程序設(shè)計(jì)中,主控模塊只負(fù)責(zé)根據(jù)消息調(diào)用相應(yīng)模塊的處理函數(shù),具體如何處理這些消息由各功能模塊中的對(duì)應(yīng)程序決定。</p><p> 4.3 密碼初始化模塊</p><p> 系統(tǒng)的密碼初始化
68、采用24C04芯片在系統(tǒng)上電的時(shí)候?qū)⒃济艽a記錄在芯片之中,用于上電之前的準(zhǔn)備工作。</p><p> 4.4 鍵盤設(shè)計(jì)模塊</p><p> 鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖4-2所示。</p><p> 圖4-2 鍵盤掃描及識(shí)別圖</p&g
69、t;<p> 4.5 報(bào)警系統(tǒng)模塊</p><p> 報(bào)警系統(tǒng)主要用于系統(tǒng)密碼輸入次數(shù)過多或者系統(tǒng)出現(xiàn)未知的意外而引起用戶的注意,起到了非常關(guān)鍵的作用,此模塊現(xiàn)在也逐步運(yùn)用到了好多系統(tǒng)之中。具體的流程如圖4-3所示。</p><p> 圖4-3 報(bào)警系統(tǒng)流程圖</p><p><b> 4.6 中斷模塊</b></p
70、><p> 中斷是單片機(jī)執(zhí)行過程中重要的一部分,主要是用于處理程序的過程中跳轉(zhuǎn)到其他的子程序,返回的時(shí)候能夠返回到程序跳轉(zhuǎn)的的部分,繼續(xù)執(zhí)行未執(zhí)行完的程序,中斷處理流程圖如圖4-4所示。</p><p> 圖4-4 中斷處理流程圖</p><p> 軟件設(shè)計(jì)關(guān)鍵的還是要經(jīng)過測(cè)試階段,將各個(gè)模塊輸入到軟件系統(tǒng)之中進(jìn)行相應(yīng)的測(cè)試,找出問題,將在下一章中進(jìn)行反復(fù)的測(cè)試。
71、</p><p><b> 5 系統(tǒng)調(diào)試與仿真</b></p><p> 把已經(jīng)寫好的C語言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開發(fā)板或其它單怎機(jī)寫入工具把機(jī)器碼寫入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿足設(shè)計(jì)要求。</p>&l
72、t;p> 調(diào)試本程序時(shí)候需要用到Keil C51,及51開發(fā)板一塊及其配套的下載燒錄軟件,在系統(tǒng)仿真的時(shí)候需要用到Proteus軟件。</p><p> 5.1 Keil C51簡(jiǎn)介</p><p> Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。
73、用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。</p><p> C51工具包的整體結(jié)構(gòu):uVision與Ishell分別是C51 for Win
74、dows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器
75、使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p> Keil C51工具包各部分功能及使用簡(jiǎn)介:主要分為C51和A51:</p><p> ?。?)C51是C語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者C51 @ commandfile其中sourcefile為C源文件(.C)。大量的編譯控制指令完成C51編譯器的全部功能
76、。包控C51輸出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等。而Commandfile為一個(gè)連接控制文件其內(nèi)容包括.C源文件及各編譯控制指令,它沒有固定的名字,開發(fā)人員可根據(jù)自己的習(xí)慣指定,它適于用控制指令較多的場(chǎng)合。 (2) A51是匯編語言編譯器,使用方法為:A51 sourcefile[編譯控制指令]或A51 @ commandfile其中sourcefile為匯編源文件(.asm或.a51)
77、,而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile同C51中的Commandfile類似,它使A51使用和修改方便。</p><p><b> 5.2 調(diào)試過程</b></p><p> 首先打開Keil C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語法錯(cuò)誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機(jī)可執(zhí)行的
78、HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機(jī)。</p><p><b> 5.3 系統(tǒng)仿真</b></p><p> 本設(shè)計(jì)采用Proteus進(jìn)行系統(tǒng)的仿真設(shè)計(jì),下面對(duì)Proteus進(jìn)行簡(jiǎn)單的介紹。</p><p> Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中
79、國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟
80、件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p> 將本設(shè)計(jì)的代碼輸入到系統(tǒng)之中并開啟Proteus仿真軟件可以看
81、到仿真效果。主要有一下幾個(gè)流程。</p><p> (1)密碼輸入前的準(zhǔn)備狀態(tài),上電后顯示系統(tǒng)顯示如圖5-1所示。</p><p> ?。?)密碼輸入時(shí)候顯示* 系統(tǒng)仿真如圖5-2所示。</p><p> ?。?)密碼輸入正確時(shí)候顯示如圖5-3所示。</p><p> (4)密碼輸入錯(cuò)誤時(shí)候顯示如圖5-4所示。</p>&l
82、t;p> ?。?)重置密碼時(shí)候顯示如圖5-5所示。</p><p> (6)新密碼保存時(shí)顯示如圖5-6所示。</p><p> 圖5-1 上電后顯示圖</p><p> 圖5-2 密碼輸入顯示</p><p> 圖5-3 密碼輸入錯(cuò)誤顯示圖</p><p> 圖5-4 密碼輸入正確顯示圖</p&g
83、t;<p> 圖5-5 重置密碼圖</p><p> 圖5-6 新密碼保存顯示圖</p><p> 經(jīng)過反復(fù)的調(diào)試和測(cè)試,終于達(dá)到了預(yù)期的實(shí)驗(yàn)效果,完成了本設(shè)計(jì)的要求功能的實(shí)現(xiàn)。</p><p> 5.4 調(diào)試仿真結(jié)果分析</p><p> 通過上述仿真,可以看出基于單片機(jī)控制的電子密碼鎖在Keil軟件及Proteus
84、上可以很好的實(shí)現(xiàn)顯示模塊的仿真。</p><p> 在仿真的過程中因自己操作的粗心及對(duì)本軟件相關(guān)知識(shí)的掌握程度還不夠使得一些問題涌現(xiàn)了出來。</p><p> ?。?)系統(tǒng)工作頻率應(yīng)設(shè)置為12MHz,可我因沒有考慮全面,在一開始總是出不了仿真結(jié)果;</p><p> ?。?)因沒有及時(shí)發(fā)現(xiàn)程序中的一些小細(xì)節(jié)錯(cuò)誤,使得程序的編譯和執(zhí)行一直無法通過;</p>
85、;<p> ?。?)因仿真時(shí)操作不當(dāng),造成屏幕鎖定等。后來經(jīng)過自己慢慢摸索及老師和同學(xué)的幫助,這些問題都得到了一一的解決。</p><p> (4)在仿真電路圖中,各個(gè)接口之間的連接一定演嚴(yán)格的匹配。</p><p> 當(dāng)仿真開始運(yùn)行時(shí),各個(gè)模塊處于初始狀態(tài)。當(dāng)從按鍵輸入正確密碼后,燈亮。當(dāng)從按鍵輸入錯(cuò)誤密碼后,報(bào)警器報(bào)警。因此,從仿真結(jié)果可以看出,本設(shè)計(jì)可以得到預(yù)期的仿
86、真效果。</p><p><b> 6 設(shè)計(jì)總結(jié)與展望</b></p><p> 實(shí)踐出真知,在幾個(gè)月的不斷學(xué)習(xí)試探中學(xué)到了很多的知識(shí),使自己對(duì)好多知識(shí)的認(rèn)知更深入了一個(gè)層次。凡事為則易,不為則難。通過此次畢業(yè)設(shè)計(jì)我感悟到了生活的種種,只有不斷的學(xué)習(xí)和探索才能使自己的生活得到充實(shí)。</p><p> 在做畢業(yè)設(shè)計(jì)期間,在李老師孜孜不倦的指
87、導(dǎo)下,通過自身的不斷努力和身邊同學(xué)、朋友的指導(dǎo),使自己對(duì)所學(xué)的知識(shí)有了更深的理解,同時(shí)也認(rèn)識(shí)到了自己的不足,在此設(shè)計(jì)完善當(dāng)中自身能力得到了提升,同時(shí)也認(rèn)識(shí)到動(dòng)手能力的重要性,好多東西只停留在理論研究的階段還是不夠的,一定要親自動(dòng)手這樣才能把理論發(fā)揮更好的作用?,F(xiàn)將工作總結(jié)如下:思想上,學(xué)會(huì)了用科學(xué)的精神去解決問題。千里之行始于足下,好多的事情都是在探索中取得了巨大的收獲。運(yùn)用科學(xué)的方法去解決問題,不要盲目的學(xué)習(xí),自身的能力是有限的,我們
88、要充分的利用身邊的資源,學(xué)會(huì)虛心求教,這是我這次實(shí)訓(xùn)給我?guī)淼乃枷肷系母淖?。學(xué)習(xí)上,使自已在大學(xué)所以的知識(shí)在這次得到實(shí)踐,學(xué)到一些書本上無法學(xué)到的經(jīng)驗(yàn),對(duì)電子元件有了進(jìn)一步的認(rèn)識(shí)。</p><p> 密碼鎖是信息化時(shí)代發(fā)展的產(chǎn)物,應(yīng)時(shí)而生,這只是一個(gè)小小的縮影,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。在未來的一段時(shí)間當(dāng)中會(huì)越來越完善,發(fā)揮它強(qiáng)大的價(jià)值。</p&g
89、t;<p><b> 參考文獻(xiàn)</b></p><p> [1]潘永雄.新編單片機(jī)原理與應(yīng)用[M]. 西安電子科技大學(xué)出版社,2003. </p><p> [2]譚浩強(qiáng).C語言程序設(shè)計(jì)基礎(chǔ)[M]. 高等教育出版社,2008.</p><p> [3]孫育才. MCS-51系列單片機(jī)及應(yīng)用(第4版)[M].東南大學(xué)出版社,
90、2007.</p><p> [4]高峰. 單片微型計(jì)算機(jī)原理與接口技術(shù)[M]. 北京科學(xué)出版社 ,2009.</p><p> [5]李朝青. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M]. 北京航空航天大學(xué)出版社,2009.</p><p> [6]王福瑞. 單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全[M]. 北京航空航天大學(xué)出版社,2008.</p><p>
91、 [7]郁文工作室. 嵌入式C語言程序設(shè)計(jì)——使用MCS-51[M]. 人民郵電大學(xué)出版社,2008.</p><p> [8]公茂法,馬寶甫,孫晨等. 單片機(jī)人機(jī)接口事例集[M]. 北京航空航天大學(xué)出版社,2009.</p><p> [9]周 勇,付大鵬,劉剛強(qiáng). 新型家用密碼鎖的研究[J]. 機(jī)械, 2002, 29(增刊): 128-129.</p><p
92、> [10]李捷. 一種基于單片機(jī)的電子密碼鎖的設(shè)計(jì)[J]. 農(nóng)機(jī)化研究,2004,第5期:146-147.</p><p> [11]楊將新,李華軍,劉東駿.單片機(jī)程序設(shè)計(jì)及應(yīng)用從基礎(chǔ)到實(shí)踐[M]. 北京:電子工業(yè)出版社,2007.</p><p> [12]張俊謨.單片機(jī)中級(jí)教程—原理與應(yīng)用(第2版)[M].北京航空航天大學(xué)出版社,2007.</p><
93、p> [13]馬忠梅等 .單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M]. 北京航空航天大學(xué)出版社,2008.</p><p> [14]柴鈺.單片機(jī)原理及應(yīng)用 [M].西安電子科技大學(xué)出版社,2009.</p><p> [15]沈紅衛(wèi).單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析 [M]. 北京航空航天大學(xué)出版社,2008.</p><p> [16]李強(qiáng).51系列單片機(jī)應(yīng)用軟
94、件編程技術(shù) [M]. 北京航空航天大學(xué)出版社,2009.</p><p> [17]樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo) [M]. 北京:北京航天航空大學(xué)出版社,2007.</p><p> [18]曹巧媛.單片機(jī)原理及應(yīng)用(第二版) [M]. 電子工業(yè)出版社,2009.</p><p> [19]李明亮,唐前輝.51單片機(jī)應(yīng)用設(shè)計(jì)與仿真—基于Keil C與Pr
95、oteus[M]. 北京航天航空大學(xué)出版社,2009.</p><p> [20]周立功.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程(三)[M]. 北京航天航空大學(xué)出版社,2008.</p><p> [21]張改蓮.基于單片機(jī)的電子密碼鎖設(shè)計(jì)[J].西安外事學(xué)院工學(xué)院,2011,第6期.</p><p> [22]金桂,向國(guó)梁.基于C語言STC89C52單片機(jī)電子密碼鎖的設(shè)計(jì)與仿
96、真[J].湘南學(xué)院物理與電子信息工程系,2010年,第19期.</p><p><b> 致謝</b></p><p> 本次畢業(yè)設(shè)計(jì)大概持續(xù)了近三個(gè)月的時(shí)間,現(xiàn)在終于到了結(jié)尾。在本次論文設(shè)計(jì)編寫過程中,從論文的選題、構(gòu)思到最終論文的形成得到了李老師悉心的指導(dǎo),在此過程中給予了我很大的幫助和支持,特別在最后論文的定稿之時(shí),老師不厭其煩的指導(dǎo)我們論文格式的規(guī)范和注意
97、事項(xiàng),不辭勞苦的督促我們一遍遍的做最后的修改直至論文符合要求。在此我代表我自己對(duì)李老師表示衷心的感謝!</p><p> 在設(shè)計(jì)過程中也使我深刻體會(huì)到了知識(shí)的重要性。另外,在論文的設(shè)計(jì)和書寫過程中得到了身邊同學(xué)的鼎力相助,也得到了不少學(xué)長(zhǎng)、學(xué)姐的指導(dǎo)。在此我也對(duì)他們表示由衷的感謝。光陰似箭,大學(xué)四年的生涯也將畫上一個(gè)句號(hào),最應(yīng)當(dāng)感謝的是在這四年當(dāng)中教給我知識(shí)的任課教師們,在他們的教導(dǎo)下我才能學(xué)到應(yīng)有的知識(shí),使自
98、己的得到了身心的洗禮。在此對(duì)所有教過我的老師表示感謝!</p><p> 同時(shí),我也感謝學(xué)校為我提供了一個(gè)良好的學(xué)習(xí)環(huán)境,自己才能夠在這個(gè)大舞臺(tái)上鍛煉自己的才能,我也向我們偉大的母校和所有的老師表示衷心的感謝!</p><p> 最后,我要向百忙之中能夠抽出時(shí)間對(duì)本文進(jìn)行審閱、評(píng)議,參與本文論文答辯的各位老師表示深深的感激和誠(chéng)信的感謝。</p><p><
99、b> 謝謝你們!</b></p><p><b> 附錄</b></p><p> C語言程序部分代碼如下:</p><p> #include<reg51.h></p><p> #include<string.h></p><p> #in
100、clude<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define LCDIO P0</p><p> #define delay4us() _nop_();_n
101、op_();_nop_();_nop_();</p><p> uchar buffer[6]={0}; </p><p> sbit sda=P3^3;</p><p> sbit scl=P3^2;</p><p> sbit beep=P3^7;</p><p> bit flag=0,aa;</
102、p><p> sbit light = P2^7;//用戶蹲淵義定時(shí)溢出標(biāo)志位</p><p> uchar DSY_BUFFER[16]=" ";</p><p> uchar DSY_BUFFER1[16]=" ";</p><p
103、> uchar Userpassword[6]={0};</p><p> sbit rs=P2^0; </p><p> sbit rd=P2^1;</p><p> sbit lcden=P2^2;</p><p> sbit led=P2^7;</p><p> uchar code tab
104、le2[]="123456";</p><p> uchar code table[]="Your Password...";</p><p> void delayms(uint z)</p><p><b> {</b></p><p><b> uint x
105、,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p> void delay()//短延時(shí),兩個(gè)機(jī)器周期,做總線的延時(shí)用</p><p&g
106、t;<b> {;;}</b></p><p> void write_com(uchar com)</p><p><b> {</b></p><p><b> rs=0;</b></p><p><b> rd=0;</b></p&g
107、t;<p><b> lcden=0;</b></p><p><b> P0=com;</b></p><p> delayms(3);</p><p><b> lcden=1;</b></p><p> delayms(3);</p>
108、<p><b> lcden=0;</b></p><p><b> }</b></p><p> void write_date(uchar date)</p><p><b> {</b></p><p><b> rs=1;</b&
109、gt;</p><p><b> rd=0;</b></p><p><b> lcden=0;</b></p><p><b> P0=date;</b></p><p> delayms(3);</p><p><b> lcde
110、n=1;</b></p><p> delayms(3);</p><p><b> lcden=0;</b></p><p><b> }</b></p><p> void Display_String(uchar *p,uchar com)</p><
111、p> { uchar i;</p><p> write_com(com);</p><p> for(i=0;i<16;i++)</p><p><b> {</b></p><p> write_date(p[i]);</p><p><b> }</
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)密碼鎖畢業(yè)設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)密碼鎖畢業(yè)設(shè)計(jì)課程設(shè)計(jì)
- 開題報(bào)告----基于單片機(jī)密碼鎖畢業(yè)設(shè)計(jì)
- 單片機(jī)密碼鎖設(shè)計(jì)畢業(yè)論文
- 單片機(jī)密碼鎖畢業(yè)論文
- 單片機(jī)密碼鎖畢業(yè)論文
- 單片機(jī)密碼鎖課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于51單片機(jī)密碼鎖課程設(shè)計(jì)
- 基于單片機(jī)密碼鎖課程設(shè)計(jì)
- 基于51單片機(jī)密碼鎖課程設(shè)計(jì)報(bào)告
- 基于51單片機(jī)密碼鎖課程設(shè)計(jì)報(bào)告
- 基于at89c51單片機(jī)密碼鎖設(shè)計(jì)
- 基于單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)
- 基于單片機(jī)密碼鎖畢業(yè)論文(含外文翻譯)
- 基于單片機(jī)的密碼鎖 畢業(yè)設(shè)計(jì)
- 單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的密碼鎖設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的密碼鎖設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于51單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論