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