版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計論文</b></p><p> 基于51單片機的電子鎖設計</p><p> 系 別: 機電工程系</p><p><b> 專業(yè)名稱: 自動化</b></p><p><b> 學 號: </b></p>
2、<p><b> 學生姓名: </b></p><p><b> 指導教師: </b></p><p><b> 指導單位: </b></p><p> 完成時間: 2011年5月</p><p> 畢業(yè)設計(論文)任務書</p>&
3、lt;p> 基于51單片機電子鎖設計</p><p><b> 摘 要</b></p><p> 隨著科技和人們的生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)機械鎖由于構造簡單,被撬事件屢見不鮮;電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞。</p><p> 本設計以單片機AT89C
4、51作為密碼鎖監(jiān)控裝置的檢測和控制核心,分為主機控制和從機執(zhí)行機構(本設重點介紹主機設計),實現(xiàn)鑰匙信息在主機上的初步認證注冊、密碼信息的加密、鑰匙丟失報廢等功能。根據(jù)51單片機之間的串行通信原理,這便于對密碼信息的隨機加密和保護。而且采用鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢。采用數(shù)字信號編碼和二次調(diào)制方式,不僅可以實現(xiàn)多路信息的控制,提高信號傳輸?shù)目垢蓴_性,減少錯誤動作,而且功率消耗低;反應速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設計采
5、用自上而下的模塊化設計思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強系統(tǒng)的可擴展性和運行的穩(wěn)定性。測試結果表明,本系統(tǒng)各項功能已達到本設計的所有要求。</p><p> 關鍵詞:單片機;密碼鎖;單片機設計,電子鎖。</p><p> Electronic Lock Design with 51 Serires Single Chip Controller</p><
6、p><b> Abstract</b></p><p> Along with the exaltation of social science and the living level of people, how carry out the family to guard against theft, this problem also change particularly
7、outstanding.Because of the simple construct of traditional machine lock,the affairs of theft is hackneyed.the electronics lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high,
8、being subjected to the large customer close.</p><p> It can carry out the key information to register in the main on board initial attestation, the password information encrypt etc. Go to correspond by lett
9、er the principle according to the string between 51 machines, this is easy to encrypt and protect to the passwords information random. Adopt the numerical signal codes,not only can carry out many controls of the road inf
10、ormation, raise the anti- interference that signal deliver, reduce the mistake action,but also the power consume is low, Respon</p><p> keyword:singlechip;cryptogram lock;singlechip design; electronics lock
11、.</p><p><b> 目錄</b></p><p><b> 1 緒論1</b></p><p><b> 1.1 引言1</b></p><p> 1.2 電子密碼鎖的背景1</p><p> 1.3 電子鎖設計的意義的本設計特
12、點2</p><p><b> 2.系統(tǒng)設計3</b></p><p> 2.1系統(tǒng)總設計結構圖3</p><p> 2.2.開鎖機構設計3</p><p> 2.2.1主控芯片AT89C51單片機的簡介4</p><p><b> 3系統(tǒng)硬件設計7</b&g
13、t;</p><p><b> 3.1鍵盤設計7</b></p><p> 3.2系統(tǒng)電路設計:8</p><p> 3.2.1 晶振時鐘電路8</p><p> 3.2.2復位電路設計9</p><p> 3.2.3串口引腳功能介紹9</p><p>
14、 3.2.4 其它引腳9</p><p> 3.3電路圖的繪制9</p><p> 3.3.1 PROTEL 99 SE簡介:12</p><p> 3.4原器件采購14</p><p> 3.5電路焊接14</p><p><b> 4.軟件設計17</b></p
15、><p> 4.1 系統(tǒng)軟件設計整體思路17</p><p> 4.2系統(tǒng)軟件設計流程圖18</p><p><b> 5 程序調(diào)試19</b></p><p> 5.1 程序調(diào)試用到的軟件及工具19</p><p> 5.2 KEIL C51簡介19</p>&
16、lt;p> 5.3 調(diào)試過程19</p><p> 6 設計總結與展望22</p><p><b> 致 謝23</b></p><p><b> 參考文獻24</b></p><p><b> 附錄25</b></p><p&g
17、t;<b> 1 緒論</b></p><p><b> 1.1 引言</b></p><p> 隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的喜愛。鎖是置于可啟閉的器物上,用以關住某個確定的空間范圍或某種器
18、具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對它的結構、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會里,由于社會中各種矛盾沖突十分劇烈,人們的思想道德觀念,價值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺規(guī)范自已的行為,“非禮不為”,雖無鑰匙亦不會亂闖。然而,那些毫無道德觀念的盜賊卻想方設法利用高科技手段撬門開鎖,使廣大居民防不勝防。</p>
19、<p> 為什么會出現(xiàn)這種情況呢?因為傳統(tǒng)鎖具都存在致命的弱點: 第一、 鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強力破壞; 第二、 鎖具制作工藝,技術落后,無法阻止技術手段的開啟?! ∧壳?,市場上很多國內(nèi)外的鎖具,實際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡單的工具就可以把這些鎖打開,有的慣偷甚至公開揚言:“沒有我打不開的鎖。”其實,不是他們多高明,而是一般鎖具技術原理太過簡單。面對這一殘酷的現(xiàn)狀
20、,新時代提出了鎖具必須革命的迫切的要求。</p><p> 1.2 電子密碼鎖的背景</p><p> 隨著社會科技的進步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎上,加了一組或多組密碼,不同聲音,不同磁場,不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來控制鎖的開啟。從而大大提高了鎖的安全性,使不法之徒無從下手,人們也就能對自身財產(chǎn)安全有了
21、更多的保障。當今安全信息系統(tǒng)應用越來越廣泛,特別在保護機密、維護隱私和財產(chǎn)保護方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實意義。</p><p> 1.3 電子鎖設計的意義的本設計特點</p><p> 單片機,亦稱單片微電腦或單片微型計算機。它是把中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出端口 (I/0)
22、等主要計算機功能部件都集成在一塊集成電路芯片上的微型計算機。 計算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。微計算機(單片機)在這種情況下誕生了,它為我們改變了什么?縱觀我們現(xiàn)在生活的各個領域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,這些都離不開單片機。以前沒有單片機時,這些東西也能做,但是只能使用復雜的
23、模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用,元器件不斷老化,控制的精度自然也會達不到標準。在單片機產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成本也降低了,長期使用也不會擔心精度達不到了,且容易升級改善。</p><p> 電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位
24、的文件檔案、財務報表以及一些個人資料的保存等多種場合使用。大大提高了主人物資的安全性,安全可以代替老式機械鎖。目前使用的密碼鎖種類繁多,各具特色。本文從經(jīng)濟實用的角度出發(fā),采用AT89C2051單機,研制了一款具有防盜自動報警功能的電子密碼鎖。該密碼鎖設計方法合理,簡單易行,成本低,符合住宅、辦公室用鎖要求,具有一定的推廣價值。</p><p> ?。?)系統(tǒng)設置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開
25、。</p><p> (2)密碼由用戶自己設定,在開鎖狀態(tài)下,用戶可自行修改密碼。</p><p> ?。?)具有自動報警功能。自動報警分現(xiàn)場報警和遠程報警兩種?,F(xiàn)場報警由揚聲器發(fā)出報警聲。</p><p> (4)兩種情況下可報警:一是密碼輸入錯誤3次,則報警;二是非正常開門,如破門而入的情況,可通過系統(tǒng)的紅外監(jiān)視裝置監(jiān)測,同時報警,保證了系統(tǒng)的安全性。系統(tǒng)工
26、作時,用戶通過按鍵輸入4位密碼,單片機將輸入密碼與設定密碼進行比較,若密碼正確,則發(fā)出開鎖信號,將門打開,系統(tǒng)不報警;若密碼不正確,則有相應的指示燈閃動,并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過3次,若3次輸入的密碼都不正確,則發(fā)出報警信號。</p><p><b> 2.系統(tǒng)設計</b></p><p> 2.1系統(tǒng)總設計結構圖</p>&l
27、t;p> 圖2-1系統(tǒng)總設計結構圖</p><p> 本設計由主控芯片51單片機,單片機時鐘電路,鍵盤,和開鎖電路組成。單片負責控制整個系統(tǒng)的執(zhí)行過程。</p><p> 2.2.開鎖機構設計</p><p> 通過單片機送給開鎖執(zhí)行機構,電路驅動電磁鎖吸合,從而達到開鎖的目的。本設計通過P3.0接一個3極管驅動繼電器打開電磁閥線圈實現(xiàn)開關門。<
28、/p><p><b> 密碼正確</b></p><p> 圖2-2 密碼鎖開鎖機構示意圖</p><p> 當用戶輸入的密碼正確而且是在規(guī)定的時間及次數(shù)輸入之內(nèi),單片機便輸出開門信號,送到開鎖驅動電路,然后驅動電磁鎖,達到開門的目的。</p><p> 2.2.1主控芯片AT89C51單片機的簡介</p>
29、;<p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯
30、片中,ATMEL的AT89C51是一種高效微控制器。</p><p><b> 主要特性:</b></p><p> ·與MCS-51 兼容 </p><p> ·4K字節(jié)可編程閃爍存儲器 </p><p> ·壽命:1000寫/擦循環(huán)</p><p> &
31、#183;數(shù)據(jù)保留時間:10年</p><p> ·全靜態(tài)工作:0Hz-24MHz</p><p> ·三級程序存儲器鎖定</p><p> ·128×8位內(nèi)部RAM</p><p> ·32可編程I/O線</p><p> ·兩個16位定時器/計數(shù)
32、器</p><p><b> ·5個中斷源 </b></p><p><b> ·可編程串行通道</b></p><p> ·低功耗的閑置和掉電模式</p><p> ·片內(nèi)振蕩器和時鐘電路</p><p><b>
33、 管腳說明:</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義
34、為數(shù)據(jù)/地址的第八位。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”
35、時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL
36、門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p>
37、; P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時器0外部輸入)</p><p> P3.5 T1(記時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存
38、儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸
39、出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p
40、><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p&
41、gt;<p> 圖2-3 AT89C51芯片圖</p><p><b> 3系統(tǒng)硬件設計</b></p><p><b> 3.1鍵盤設計</b></p><p> 為了使本電路更加簡潔,本電子鎖的密碼鎖采用簡單易學但不為多數(shù)人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設備只需要一個按即可實現(xiàn)密碼的輸入
42、與更改。</p><p> 關于摩斯碼的介紹如下:</p><p> 摩斯密碼是20世紀使用較為廣泛的電報傳輸使用的一種編碼。電報最早是由美國的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由一個輸入按鍵在輸入時按住的間隔時間長短組成來決定你的輸入:短促的點信號" .",讀" 嘀 "(Di);保持一定時間的長信號"—",讀
43、"嗒 "(Da)。間隔時間:"嘀"1t;"嗒"3t;"滴嗒"間1t;字母間3t;字間5t。</p><p> 表3-1字符—摩斯碼對照表</p><p> 注:摩斯碼用在數(shù)字電路中“-”表示1,“.”表示0,如0翻譯成二進制數(shù)為11111H,十六進制數(shù)為1FH。</p><p>
44、本電路設計只取0~9數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無效。</p><p> 表3-2 本設計用到的數(shù)字的摩斯碼和二進制對照</p><p> 3.2系統(tǒng)電路設計:</p><p> 本系統(tǒng)電路主芯片AT89C51,晶振和兩個電容組成的時鐘脈沖,一個電阻和一個電解電容和一個按鍵組成的復位電路,一個8段數(shù)碼管構成的密碼顯示器,一個蜂鳴器,5個LED,一個N
45、PN三極管加上一個繼電器組成的驅動電路構成了系統(tǒng)電路。</p><p> 3.2.1 晶振時鐘電路</p><p> 單片機XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶振,形成單片機的晶振電路。</p><p><b> 圖3-1 晶振電路</b></p><p> 3.2.2復位電路設計
46、</p><p><b> 圖3-2 復位電路</b></p><p> 3.2.3串口引腳功能介紹</p><p> 單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當INT0被置0時,蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。</p><p> 3.2.4 其它引腳&l
47、t;/p><p> ALE引腳懸空,復位引腳接到復位電路、VCC接電源、VSS接地、EA接電源</p><p><b> 3.3電路圖的繪制</b></p><p> 用PROTEL 99 SE繪制的完整電路圖如下:</p><p> 圖3-3 系統(tǒng)電路圖</p><p> 八段數(shù)碼管顯示
48、你的摩斯按鍵是否正確對應你要輸入的數(shù)字密碼。由于采取上電設置密碼的編程方法復位鍵即密碼修改鍵設置在門后,要打開門才能修改密碼。設置密碼后若輸入密碼不對的前兩次5秒報警,最后一次10分鐘報警,摩斯按發(fā)錯誤除外(但有兩秒報警,并且須全部密碼重新輸入)。本電路設置四位密碼,由于每位數(shù)字鍵均由五位摩斯碼構成則要輸入20次摩斯碼鍵??!p0.0(綠色)“滴”顯示,p0.2(黃色)“嗒”音顯示,p0.4(紅色)摩斯碼按法錯誤或密碼錯誤,p0.6(藍色
49、)表示該電路已設置了密碼,等待輸入密碼進行比較。</p><p> PROTEL繪制的PCB板:</p><p> 圖3-4 系統(tǒng)PCB板</p><p> PROTEL系統(tǒng)3D仿真:</p><p> 圖3-5 系統(tǒng)3D仿真模型</p><p> 3.3.1 PROTEL 99 SE簡介:</p&g
50、t;<p> Protel99SE是Protel公司近10年來致力于Windows平臺開發(fā)的最新結晶,能實現(xiàn)從電學概念設計到輸出物理生產(chǎn)數(shù)據(jù),以及這之間的所有分析、驗證和設計數(shù)據(jù)管理。因而今天的Protel最新產(chǎn)品已不是單純 的PCB(印制電路板)設計工具,而是一個系統(tǒng)工具,覆蓋了以PCB為核心的整個物理設計。 最新版本的Protel軟件可以毫無障礙地讀Orcad、Pads、Accel(PCAD)等知名EDA公司設計文件
51、,以便用戶順利過渡到新的EDA平臺。</p><p> Protel99 SE共分5個模塊,分別是原理圖設計、PCB設計(包含信號完整性分析)、自動布線器、原理圖混合信號仿真、PLD設計。 以下介紹一些Protel99SE的部分最新功能:</p><p> ◆可生成30多種格式的電氣連接網(wǎng)絡表;</p><p> ◆強大的全局編輯功能;</p>
52、<p> ◆在原理圖中選擇一級器件,PCB中同樣的器件也將被選中; </p><p> ◆同時運行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡</p><p> ◆既可以進行正向注釋元器件標號(由原理圖到PCB),也可以進行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設計上的一致性;</p><p> ◆
53、滿足國際化設計要求(包括國標標題欄輸出,GB4728國標庫); * 方便易用的數(shù)模混合仿真(兼容SPICE 3f5);</p><p> ◆支持用CUPL語言和原理圖設計PLD,生成標準的JED下載文件; * PCB可設計32個信號層,16個電源-地層和16個機加工層;</p><p> ◆強大的“規(guī)則驅動”設計環(huán)境,符合在線的和批處理的設計規(guī)則檢查; </p>&l
54、t;p> ◆智能覆銅功能,覆鈾可以自動重鋪; </p><p> ◆提供大量的工業(yè)化標準電路板做為設計模版; </p><p> ◆放置漢字功能; </p><p> ◆可以輸入和輸出DXF、DWG格式文件,實現(xiàn)和AutoCAD等軟件的數(shù)據(jù)交換; </p><p> ◆智能封裝導航(對于建立復雜的PGA、BGA
55、封裝很有用); </p><p> ◆方便的打印預覽功能,不用修改PCB文件就可以直接控制打印結果; ◆獨特的3D顯示可以在制板之前看到裝配事物的效果; </p><p> ◆強大的CAM處理使您輕松實現(xiàn)輸出光繪文件、材料清單、鉆孔文件、貼片機文件、測試點報告等; </p><p> ◆經(jīng)過充分驗證的傳輸線特性和仿真精確計算的算法,信號完整性分析直
56、接從PCB啟動; </p><p> ◆反射和串擾仿真的波形顯示結果與便利的測量工具相結合。</p><p> 注:由于資金和設備限制,以上PCB電路設計過程屬于理論化,只作為電路板設計的一個流程。本電路的實物模型,本人還是采用萬用電路板來完成。</p><p><b> 3.4元器件采購</b></p><p&g
57、t;<b> 1.元器件清單</b></p><p> 表3-3 元器件清單</p><p> 經(jīng)采購繼電器沒有買到,所以原電路的輸出電路3極管的繼電器改為LED燈,只要電路IC經(jīng)密碼輸入后能點亮LED燈則電路設計要求達到。</p><p><b> 3.5電路焊接</b></p><p>
58、<b> 1.焊接所需工具</b></p><p> 表3-4焊接所需工具</p><p> 電路焊接實物圖如下:</p><p> 圖3-6 電路正面接線實物圖</p><p> 圖3-7 電路背面接線實物圖</p><p><b> 4.軟件設計</b><
59、;/p><p> 4.1 系統(tǒng)軟件設計整體思路</p><p> 一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應設計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C
60、51系列單片機相對應的51匯編語言和結構化程序設計方法進行軟件編程。</p><p> 程序設計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行。</p><p> 高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編
61、程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。</p><p> 4.2系統(tǒng)軟件設計流程圖</p><p&
62、gt; 圖4-1 系統(tǒng)程序設計結構圖</p><p><b> 5 程序調(diào)試</b></p><p> 把也寫好的匯編語言程序的載入軟件調(diào)試工具,檢查軟件是否有設法錯誤,再根據(jù)軟件提示對本程序進行修改,直到?jīng)]有錯誤再生成單片機能運行的機器碼,再用51開發(fā)板或其它單怎機寫入工具把機器碼寫入單片機進行實際的程序調(diào)試,根據(jù)實際情況再對程序的不足加以修改,直到滿足設計要
63、求。</p><p> 5.1 程序調(diào)試用到的軟件及工具</p><p> 調(diào)試本程序需要用到KEIL C51,及51開發(fā)板一塊及其配套的下載燒錄軟件</p><p> 5.2 KEIL C51簡介</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言
64、在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p> C51工具包的整
65、體結構: uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調(diào)試器d
66、Scope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p><b> 5.3 調(diào)試過程</b></p><p> 首先打開KEIL C51主程序,新建工程,新建文本框寫入程序,保存,檢查是否有語法錯誤,經(jīng)反復檢查無誤后匯編,生成51單片機可執(zhí)行的HEX文件。然后用51開發(fā)板相
67、匹配的燒錄軟件把HEX文件寫入單片機。</p><p> 圖5-1 keil c51調(diào)試介面</p><p> 圖5-2 單片機燒錄軟件介面</p><p><b> 6 設計總結與展望</b></p><p> 實踐是檢驗真理的唯一標準,當然也是檢驗學習成果的標準。在經(jīng)過一段時間的學習之后,我們需要了解自己
68、的所學應該如何應用在實踐中,因為任何知識都源于實踐,歸于實踐,所以要將所學的知識在實踐中來檢驗。</p><p> 在做畢業(yè)設計期間,在老師的指導下,通過自身的不斷努力,無論是思想上,學習上,都取得了長足的發(fā)展和巨大的收獲,現(xiàn)將工作總結如下:思想上,學會了用科學的精神去解決問題。很多事情看起來是很簡單的問題,但實際做起來去會發(fā)現(xiàn)有許多奧妙!這是因為其中蘊含著許多科學的問題。運用科學的方法去解決問題,這是我這次實
69、訓給我?guī)淼乃枷肷系母淖儭W習上,使自已在大學所以的知識在這次得到實踐,學到一些書本上無法學到的經(jīng)驗,對電子元件有了進一步的認識。</p><p> 電子鎖是信息化時代發(fā)展的產(chǎn)物,應時而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。</p><p><b> 致 謝</b></p><p> 在
70、本次論文設計過程中,劉老師對該論文從選題,構思到最后定稿的各個環(huán)節(jié)給予細心指引與教導,使我得以最終完成畢業(yè)論文設計,在此表示衷心的感謝。此外在學習中,老師嚴謹?shù)闹螌W態(tài)度、豐富淵博的知識、敏銳的學術思維、精益求精的工作態(tài)度以及侮人不倦的師者風范是我終生學習的楷模。另外在完成畢業(yè)設計的過程中,還得到眾多朋友的關心支持和幫助,在此,謹向老師同學和朋友致以衷心的感謝和崇高的敬意!</p><p> 最后,我要向百忙之中
71、抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝</p><p><b> 參考文獻</b></p><p> [1] 李朝青.單片機原理及接口技術(簡明修訂版)[M].北京:北京航空航天大學出版社,1998</p><p> [2] 李全利.單片機原理及接口技術[M].高等教育出版社,2003</p><
72、;p> [3] PROTEL99 SE電路設計與制板[M].機械工業(yè)出版社,2007</p><p> [4] 楊將新,李華軍,劉到駿等.單片機程序設計及應用(從基礎到實踐)[J].電子工業(yè)出版社,2006</p><p> [5] Steven F.Barrett.Daneil J.Pack.Embedded System[M].北京:電子工業(yè)出版社,2006</p&g
73、t;<p> [6] 周立功.LPC900系列Flash單片機應用技術[J].北京航空航天大學出版社, 2004</p><p> [7] 黃智偉.全國大學生電子設計競賽訓練教程[M].北京:電子工業(yè)出版社, 2005</p><p><b> 附錄</b></p><p><b> 本設計的程序:</
74、b></p><p> hc0 equ 4ah ;延時緩存區(qū)</p><p> hc1 equ 4bh</p><p> hc2 equ 4ch</p><p> hc3 equ 4dh</p><p> hc4 equ 4eh</p><p> xs_0 equ 50h
75、 ;顯示緩存區(qū)</p><p> xs_1 equ 51h</p><p> xs_2 equ 52h</p><p> xs_3 equ 53h</p><p> xs_4 equ 54h</p><p> xs_5 equ 55h</p><p> xs_6 equ 56h&
76、lt;/p><p> xs_7 equ 57h</p><p> xs_8 equ 58h</p><p> xs_9 equ 59h</p><p> ps1 equ 5ah ;設置密碼緩存區(qū)</p><p> ps2 equ 5bh</p><p> ps3 equ 5ch&l
77、t;/p><p> ps4 equ 5dh</p><p> mmbz equ 5fh ;密碼輸入次數(shù)</p><p> at1 equ 60h ;輸入密碼緩存區(qū)</p><p> at2 equ 61h</p><p> at3 equ 62h</p><p> at4 eq
78、u 63h ;初始化</p><p><b> org 00h</b></p><p> ajmp main1</p><p><b> org 30h</b></p><p> main1: mov ps1 ,#00h</p><p> mov ps2 ,#
79、00h</p><p> mov ps3 ,#00h</p><p> mov ps4 ,#00h</p><p> mov at1 ,#00h</p><p> mov at2 ,#00h</p><p> mov at3 ,#00h</p><p> mov at4 ,#00h&
80、lt;/p><p> main:mov xs_0 ,#1fh ;顯示0的摩斯值</p><p> mov xs_1 ,#0fh ;顯示1的摩斯值</p><p> mov xs_2 ,#07h ;顯示2的摩斯值</p><p> mov xs_3 ,#03h ;顯示3的摩斯值</p><
81、p> mov xs_4 ,#01h ;顯示4的摩斯值</p><p> mov xs_5 ,#00h ;顯示5的摩斯值</p><p> mov xs_6 ,#10h ;顯示6的摩斯值</p><p> mov xs_7 ,#18h ;顯示7的摩斯值</p><p> mov xs_8 ,#1c
82、h ;顯示8的摩斯值</p><p> mov xs_9 ,#1eh ;顯示9的摩斯值</p><p> clr p3.0 ;RXD置0</p><p> mov a ,#00h ;密碼緩存</p><p> mov r2 ,#04h ;四位密碼</p><p> mov r
83、1 ,#00h</p><p> mov r0 ,#ps1</p><p> mov r7 ,#05h ;摩斯次數(shù),由于數(shù)字為5次</p><p><b> clr p2.7</b></p><p> start:mov p0 ,#0ffh</p><p> mov p1 ,#0ffh
84、</p><p> setb p2.4 ;按鍵位</p><p> jb p2.4 ,start ;2.4為1轉start</p><p> lcall delay500ms</p><p> jb p2.4 ,start</p><p> ok: ;嘀的音</p>
85、<p><b> clr p0.0</b></p><p> lcall delay500ms</p><p> jnb p2.4 ,daa ;是否去嗒音</p><p> cun: ;</p><p><b> setb p0.2</b></p&
86、gt;<p><b> setb p0.0</b></p><p><b> rl a</b></p><p> add a ,r1 ;存入一位摩斯碼</p><p> djnz r7 ,yanshi ;是否夠五位摩斯碼</p><p> ajmp xianshi
87、</p><p> yanshi: ;輸入一位摩斯碼停頓1t</p><p> lcall delay500ms</p><p> jb p2.4 ,main</p><p><b> ajmp ok</b></p><p> daa: ;嗒的音
88、</p><p> lcall delay500ms</p><p> jb p2.4 ,stop</p><p><b> setb p0.0</b></p><p><b> clr p0.2</b></p><p> lcall delay500ms</
89、p><p><b> setb p0.2</b></p><p> jnb p2.4 ,stop</p><p> mov r1 ,#01h</p><p><b> ajmp cun</b></p><p> stop: ;摩斯輸入錯誤<
90、/p><p><b> clr p0.4</b></p><p> lcall delay2s</p><p><b> setb p0.4</b></p><p><b> ajmp main</b></p><p> cunchu:mov @r
91、0 ,a</p><p><b> inc r0</b></p><p> mov a ,#00h</p><p> mov r1 ,#00h</p><p> mov r7 ,#05h</p><p> djnz r2 ,yanshi</p><p><b
92、> clr p0.6</b></p><p> lcall delay2s</p><p><b> setb p0.6</b></p><p> ajmp shuru</p><p> xianshi:cjne a ,xs_0 ,next1 ;夠五位摩斯碼顯示0</p>&
93、lt;p> mov p1 ,#0c0h</p><p> clr p3.2 ;報警器</p><p> lcall delay1s</p><p> setb p3.2 ;報警器</p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p>
94、<p> next1:cjne a ,xs_1 ,next2 ;夠五位摩斯碼顯示1</p><p> mov p1 ,#0f9h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b&g
95、t;</p><p> mov p0 ,#0ffh</p><p> ajmp cunchu</p><p> next2:cjne a ,xs_2 ,next3 ;夠五位摩斯碼顯示2</p><p> mov p1 ,#0a4h</p><p><b> clr p3.2</b>&l
96、t;/p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next3:</b></p><p
97、> cjne a ,xs_3 ,next4 ;夠五位摩斯碼顯示3</p><p> mov p1 ,#0b0h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p>
98、<p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next4:</b></p><p> cjne a ,xs_4 ,next5 ;夠五位摩斯碼顯示4</p><p> mov p1 ,#99h</p><p>&l
99、t;b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next
100、5:</b></p><p> cjne a ,xs_5 ,next6 ;夠五位摩斯碼顯示5</p><p> mov p1 ,#92h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> s
101、etb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next6:</b></p><p> cjne a ,xs_6 ,next7 ;夠五位摩斯碼顯示6</p><p> mov p1
102、,#7dh</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p&g
103、t;<p><b> next7:</b></p><p> cjne a ,xs_7 ,next8 ;夠五位摩斯碼顯示7</p><p> mov p1 ,#0f8h</p><p><b> clr p3.2</b></p><p> lcall delay1s<
104、/p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next8:</b></p><p> cjne a ,xs_8 ,next9 ;夠五位摩斯碼顯示8
105、</p><p> mov p1 ,#080h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p>
106、<p> ajmp cunchu</p><p><b> next9:</b></p><p> cjne a ,xs_9 ,cw ;夠五位摩斯碼顯示9</p><p> mov p1 ,#90h</p><p><b> clr p3.2</b></p>
107、<p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> cw:</b></p><p><b&g
108、t; clr p3.2</b></p><p><b> clr p0.4</b></p><p> lcall delay5s</p><p><b> clr p0.4</b></p><p><b> setb p3.2</b></p>
109、<p> ajmp main1</p><p> shuru: ;開門復位</p><p> mov mmbz ,#03 ;錯誤密碼次數(shù)</p><p> mov at1 ,#00h</p><p> mov at2 ,#00h</p><p> mov at3 ,#00
110、h</p><p> mov at4 ,#00h</p><p><b> shuru2:</b></p><p><b> clr p0.6</b></p><p> mov a ,#00h ;密碼緩存</p><p> mov r2 ,#04h ;
111、四位密碼</p><p> mov r1 ,#00h</p><p> mov r0 ,#at1</p><p> mov r7 ,#05h</p><p><b> start1:</b></p><p> jb p2.4 ,start1</p><p> l
112、call delay500ms</p><p> jb p2.4 ,start1</p><p> ok1: ;滴音</p><p> setb p3.0 ;開門后再按鍵1t以上關門</p><p><b> setb p0.6</b></p><p>
113、;<b> clr p0.0</b></p><p> lcall delay500ms</p><p> jnb p2.4 ,daaa</p><p><b> cun1:</b></p><p><b> setb p0.2</b></p><
114、p><b> setb p0.0</b></p><p><b> rl a</b></p><p><b> add a ,r1</b></p><p> djnz r7 ,yanshi1</p><p> ajmp xianshi1</p>&
115、lt;p> yanshi1: ;每個摩斯碼之間延時1t</p><p> lcall delay500ms</p><p> jb p2.4 ,stop1</p><p><b> ajmp ok1</b></p><p> daaa: ;嗒音</p&
116、gt;<p> lcall delay500ms</p><p> jb p2.4 ,stop1</p><p><b> setb p0.0</b></p><p><b> clr p0.2</b></p><p> lcall delay500ms</p>
117、<p><b> setb p0.2</b></p><p> jnb p2.4 ,stop1</p><p> mov r1 ,#01h</p><p><b> ajmp cun1</b></p><p> stop1: ;摩斯碼錯誤處理</p&
118、gt;<p><b> clr p0.4</b></p><p> lcall delay2s</p><p><b> setb p0.4</b></p><p> ajmp shuru2</p><p><b> cunchu2:</b></p
119、><p> mov @r0 ,a</p><p><b> inc r0</b></p><p> mov a ,#00h</p><p> mov r1 ,#00h</p><p> mov r7 ,#05h</p><p> djnz r2 ,yanshi1&l
120、t;/p><p> ajmp bijiao</p><p> xianshi1: ;顯示處理</p><p> cjne a ,xs_0 ,next1_1</p><p> mov p1 ,#0c0h</p><p><b> clr p3.2</b></p><p
121、> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next1_1:</b></p><p> cjne a
122、 ,xs_1 ,next2_2</p><p> mov p1 ,#0f9h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#
123、0ffh</p><p> ajmp cunchu2</p><p><b> next2_2:</b></p><p> cjne a ,xs_2 ,next3_3</p><p> mov p1 ,#0a4h</p><p><b> clr p3.2</b>&
124、lt;/p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next3_3:</b></p>&
125、lt;p> cjne a ,xs_3 ,next4_4</p><p> mov p1 ,#0b0h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><
126、p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next4_4:</b></p><p> cjne a ,xs_4 ,next5_5</p><p> mov p1 ,#99h</p><p><b> clr
127、p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next5_5:</b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計----基于51單片機電子密碼鎖設計
- 畢業(yè)設計-基于51單片機電子密碼鎖設計
- 基于51單片機電子密碼鎖的畢業(yè)設計
- 基于單片機電子密碼鎖畢業(yè)設計
- 51單片機電子密碼鎖設計設計
- 基于51單片機電子密碼鎖設計論文
- 畢業(yè)設計--基于單片機電子密碼鎖設計
- 單片機電子密碼鎖畢業(yè)設計論文
- 大學設計-51單片機電子密碼鎖設計555
- 基于單片機電子密碼鎖設計畢業(yè)論文
- 基于at89s51單片機電子密碼鎖的設計
- 基于at89s51單片機電子密碼鎖的設計
- 基于單片機的電子密碼鎖畢業(yè)設計
- 電子信息工程畢業(yè)設計(論文)基于mcs-51單片機電子密碼鎖的設計
- 畢業(yè)設計---基于單片機的電子密碼鎖
- 畢業(yè)設計基于51單片機密碼鎖課程設計
- 基于單片機電子密碼鎖課程設計
- 課程設計----單片機電子密碼鎖
- 單片機電子密碼鎖課程設計
- 畢業(yè)設計----基于單片機的電子密碼鎖
評論
0/150
提交評論