基于at89s52的電子密碼鎖畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課程:電子綜合設(shè)計(jì)實(shí)驗(yàn)</p><p>  項(xiàng)目:基于單片機(jī)的電子密碼鎖</p><p>  學(xué)期:2011~2012. </p><p>  學(xué)院:電子信息與自動(dòng)化學(xué)院</p><p>  專(zhuān)業(yè):電氣工程及其自動(dòng)化 </p><p>  班級(jí):109070402

2、 </p><p>  姓名:葛誠(chéng) </p><p>  學(xué)號(hào):10907990203 </p><p>  指導(dǎo)教師: 陳古波 </p><p>  電工電子技術(shù)實(shí)驗(yàn)中心</p><p><b>  目錄</b></p>

3、<p><b>  摘 要3</b></p><p><b>  引言4</b></p><p><b>  1.1選題背景4</b></p><p>  1.2電子密碼控制簡(jiǎn)介4</p><p>  1.3電子密碼控制的發(fā)展趨勢(shì)4</p&g

4、t;<p>  1.4本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)5</p><p>  2.1方案一:采用數(shù)字電路控制5</p><p>  2.2方案二:采用以單片機(jī)為核心的控制方案5</p><p><b>  主要元器件介紹6</b></p><p>  3.1主控芯片AT89s526</p>&l

5、t;p>  3.2 AT89s52引腳功能說(shuō)明6</p><p>  3.3 LCD1602顯示器7</p><p><b>  系統(tǒng)硬件構(gòu)成7</b></p><p><b>  4.1設(shè)計(jì)原理7</b></p><p>  4.2電源輸入部分8</p><p&

6、gt;  4.3 復(fù)位部分8</p><p>  4.4 晶振部分9</p><p>  4.5 顯示部分9</p><p>  4.6 報(bào)警部分10</p><p><b>  系統(tǒng)軟件設(shè)計(jì)10</b></p><p>  5.1主程序流程圖11</p><p&

7、gt;  5.2按鍵功能流程圖11</p><p>  5.3密碼設(shè)置流程圖12</p><p>  5.4開(kāi)鎖流程圖13</p><p><b>  結(jié) 論15</b></p><p><b>  附錄一16</b></p><p><b>  P

8、CB制版圖16</b></p><p><b>  附錄二17</b></p><p><b>  摘 要</b></p><p>  隨著科技的日益發(fā)展,電子密碼控制系統(tǒng)已越來(lái)越符合人們的要求。本文介紹了基于單片機(jī)密碼控制系統(tǒng),對(duì)系統(tǒng)硬件設(shè)計(jì)和軟件實(shí)現(xiàn)進(jìn)行了詳細(xì)的描述。該系統(tǒng)采用AT89s52單片機(jī)

9、,通過(guò)AT89s52實(shí)現(xiàn)密碼控制的功能。</p><p>  本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用美國(guó)Atmel公司的單片機(jī)AT89s52作為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的矩陣鍵盤(pán)輸入、LCD1602液晶顯示、報(bào)警、開(kāi)鎖等,用C語(yǔ)言編寫(xiě)主控芯片的控制程序,設(shè)計(jì)了一款可以多次更改密碼,具有報(bào)警功能的電子密碼控制系統(tǒng)。這種電路設(shè)計(jì)具有防試探按鍵輸入、智能控制上鎖、開(kāi)鎖、報(bào)警、修改密碼等多種功能。</p>

10、<p>  經(jīng)實(shí)驗(yàn)證明,該密碼控制系統(tǒng)具有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全使用等特點(diǎn),符合車(chē)輛、辦公室用鎖要求,具有推廣價(jià)值。</p><p>  關(guān)鍵字:密碼控制 單片機(jī) 報(bào)警</p><p><b>  引言</b></p><p><b>  1.1選題背景</b></p><

11、p>  在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼控制的密碼量少、安全性能差的缺點(diǎn),使電子密碼控制系統(tǒng)無(wú)論在技術(shù)上還是在性能上都大大提高了一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的問(wèn)世,出現(xiàn)了帶微處理器的智能密碼控制系統(tǒng),它除具有傳統(tǒng)電子密碼控制系統(tǒng)的功能外,還引入了智能化管理、專(zhuān)家分析系統(tǒng)等功能,從而使密碼控制系統(tǒng)具有很高的安全性、可靠性,應(yīng)用日益廣泛。<

12、;/p><p>  1.2電子密碼控制簡(jiǎn)介</p><p>  電子密碼控制是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。電子密碼控制不論性能還是安全性都已大大超過(guò)了機(jī)械類(lèi)。其特點(diǎn)如下:</p><p>  1) 保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于機(jī)械控制。隨機(jī)開(kāi)鎖成功率幾乎為零。</p><p>  

13、2) 密碼可變,用戶(hù)可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使控制的保密性下降。</p><p>  3) 誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。</p><p>  4) 無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。</p><p>  5) 使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。</p><p>  6) 電

14、子密碼控制系統(tǒng)具有操作簡(jiǎn)單易行,一學(xué)即會(huì)的特點(diǎn)。</p><p>  1.3電子密碼控制的發(fā)展趨勢(shì)</p><p>  由于電子器件所限,以前開(kāi)發(fā)的電子密碼控制系統(tǒng),其種類(lèi)不多,保密性差,最基本的就是只依靠最簡(jiǎn)單的模擬電子開(kāi)關(guān)來(lái)實(shí)現(xiàn)的,制作簡(jiǎn)單但很不安全,后來(lái)便是基于EDA來(lái)實(shí)現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引腳的2051系列單片機(jī)來(lái)實(shí)現(xiàn)的,但密碼簡(jiǎn)單,易破解。隨著電

15、子元件的進(jìn)一步發(fā)展,電子密碼控制系統(tǒng)也出現(xiàn)了很多的種類(lèi),功能日益強(qiáng)大,使用更加方便,安全保密性更強(qiáng),由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實(shí)現(xiàn)了更為真正的電子加密,用戶(hù)只有密碼或電子鑰匙中的一樣,是打不開(kāi)鎖的,隨著電子元件的發(fā)展及人們對(duì)保密性需求的提高出現(xiàn)了越來(lái)越多的電子密碼控制系統(tǒng) 。</p><p>  由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為電子信息,組合使用這些信息能夠使電子防

16、盜密碼控制獲得更高的保密性,如防范森嚴(yán)的金庫(kù),需要使用復(fù)合信息密碼的電子防盜密碼控制系統(tǒng)。組合使用信息也能夠使電子防盜密碼控制系統(tǒng)獲得無(wú)窮擴(kuò)展的可能??梢钥闯鼋M合使用電子信息是電子密碼控制系統(tǒng)今后發(fā)展的趨勢(shì) 。</p><p>  1.4本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)</p><p>  本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路,組成電子密碼控制系統(tǒng),用戶(hù)想要打開(kāi)鎖,必先通過(guò)提供的鍵盤(pán)輸入正確的密碼

17、才可以,密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)密碼輸入錯(cuò)誤三次將報(bào)警。密碼可以由用戶(hù)自己修改設(shè)定,鎖打開(kāi)后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。</p><p><b>  設(shè)計(jì)方案的選擇</b></p><p>  2.1方案一:采用數(shù)字電路控制</p><p>  用以74LS112雙JK觸

18、發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼控制系統(tǒng)的核心控制,共設(shè)了9個(gè)用戶(hù)輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶(hù)輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶(hù)不會(huì)超過(guò)10秒,若用戶(hù)覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)2分鐘,防止他人的非法操作 。采用數(shù)字電路設(shè)計(jì)方案時(shí)設(shè)計(jì)雖然簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差。故不采用。

19、</p><p>  2.2方案二:采用以單片機(jī)為核心的控制方案</p><p>  由于單片機(jī)種類(lèi)繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合理選擇,以期獲得最佳的性?xún)r(jià)比。一般來(lái)說(shuō)在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些還有一些最基本的,比如:中斷

20、源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒(méi)有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無(wú)時(shí)鐘振蕩器、有無(wú)上電復(fù)位功能等。在開(kāi)發(fā)過(guò)程中單片機(jī)還受到:開(kāi)發(fā)工具、編程器、開(kāi)發(fā)成本、開(kāi)發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等等因素 ?;谝陨弦蛩乇驹O(shè)計(jì)選用單片機(jī)AT89S52作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼控制功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示

21、作用。當(dāng)用戶(hù)需要開(kāi)鎖時(shí),先按鍵盤(pán)開(kāi)鎖鍵之后按鍵盤(pán)的數(shù)字鍵0-9輸入密碼。密碼輸完后按下確認(rèn)鍵,如果密碼輸入正確則開(kāi)鎖,不正確顯示密碼錯(cuò)誤重新輸入密碼,當(dāng)三次密碼錯(cuò)誤則發(fā)出報(bào)警;當(dāng)用戶(hù)需要修改密碼時(shí),先按下鍵盤(pán)設(shè)置鍵后輸入原來(lái)的密碼,只有當(dāng)輸入的原密碼正確</p><p>  可以看出方案二的控制靈活,準(zhǔn)確性好,且保密性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此次設(shè)計(jì)采用此方案。</p><p>

22、;<b>  主要元器件介紹</b></p><p>  3.1主控芯片AT89s52</p><p>  AT89s52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及AT80s52引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處

23、理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89s52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。</p><p>  3.2 AT89s52引腳功能說(shuō)明</p><p>  P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線(xiàn)復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端口。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),

24、這組口線(xiàn)分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線(xiàn)復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p>  P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)

25、引腳被外部信號(hào)校驗(yàn)期間,P1接收低8位地址。</p><p>  P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行:MOVX @Ri 指令)時(shí),P2口線(xiàn)上的內(nèi)(也即特殊功能寄存器,

26、在整個(gè)訪問(wèn)期間不改變。Flash 編程或校驗(yàn)時(shí),P2也接收高位地址和其它控制信號(hào)。</p><p>  P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線(xiàn)外,更重要的用途是它的第二功能。</p&

27、gt;<p>  RST:復(fù)位輸入。當(dāng)振蕩工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不再訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目地,要注意的是:當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8E

28、H單元的D0位置位,可禁止ALE操作。該位置禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳伎被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。</p><p>  PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,高有兩次有效的PSEN信號(hào)。</

29、p><p>  EA/VPP:外部訪問(wèn)允許。欲使CPU訪問(wèn)外部程序存儲(chǔ)器(地址0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓VPP。</p><p>  XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸

30、入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.3 LCD1602顯示器</p><p>  現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線(xiàn)D0-D7和RS,R/W,EN三個(gè)控制端口,工

31、作電壓為5V,并且具有字符對(duì)比度調(diào)節(jié)和背光功能。</p><p><b>  系統(tǒng)硬件構(gòu)成</b></p><p><b>  4.1設(shè)計(jì)原理</b></p><p>  本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶(hù)通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,

32、后經(jīng)過(guò)單片機(jī)對(duì)用戶(hù)輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警。</p><p>  本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤(pán)輸入部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、鍵功能程序、密碼設(shè)置程序、EEPROM

33、讀寫(xiě)程序和延時(shí)程序等組成。其原理框圖如圖4-1所示。</p><p>  圖4-1 電子密碼鎖原理框圖</p><p><b>  4.2電源輸入部分</b></p><p>  密碼鎖主要控制部分電源需要用5V直流電源供電,其電路如圖4-3所示,而5V電源輸入時(shí)往往伴有雜波,所以加一個(gè)2.2uF的電容濾波。這樣輸出的電壓一般能滿(mǎn)足要求。<

34、;/p><p>  圖4-3 電源輸入電路原理圖</p><p><b>  4.3 復(fù)位部分 </b></p><p>  單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后PC=0000H,使單片機(jī)從第—個(gè)單元取指令。無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(

35、即RST為高電平期間),P0口為高組態(tài),P1-P3口輸出高電平;外部程序存儲(chǔ)器讀選通信號(hào)PSEN無(wú)效。地址鎖存信號(hào)ALE也為高電平。根據(jù)實(shí)際情況選擇如圖4-5所示的復(fù)位電路。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容C1上的電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過(guò)程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容C1足夠大,可以保證RST高電

36、平有效時(shí)間大于24個(gè)振蕩周期,CPU能夠可靠復(fù)位。增加手動(dòng)復(fù)位按鍵是為了避免死機(jī)時(shí)無(wú)法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容C1通過(guò)R5放電。當(dāng)電容C1放電結(jié)束后,RST端的電位由R5與R6分壓比決定。由于R5<<R6 因此RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復(fù)位狀態(tài)。R5的作用在于限制按鍵按</p><p>  圖4-5 復(fù)位電路原理圖</p>

37、<p><b>  4.4 晶振部分</b></p><p>  AT89s52引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖4-6所示方式連接。晶振、電容C1/C2及片內(nèi)與非門(mén)(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C1、C2取值范圍在5~30pF之間。根據(jù)實(shí)

38、際情況,本設(shè)計(jì)中采用12MHZ做系統(tǒng)的外部晶振。電容取值為20pF。</p><p>  圖4-6 晶振電路原理圖</p><p><b>  4.5 顯示部分</b></p><p>  為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管來(lái)完成。只有按下鍵盤(pán)上的開(kāi)啟按鍵后,顯示器才處于開(kāi)啟狀態(tài)。同理只

39、有按下關(guān)閉按鍵后顯示器才處于關(guān)閉狀態(tài)。否則顯示器將一直處于初始狀態(tài),當(dāng)需要對(duì)密碼鎖進(jìn)行開(kāi)鎖時(shí),按下鍵盤(pán)上的開(kāi)鎖按鍵后利用鍵盤(pán)上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話(huà), LCD子顯示“RIGHT”,單片機(jī)其中P2.0引角會(huì)輸出低電平,使三極管T2導(dǎo)通,電磁鐵吸合,電子密碼鎖被打開(kāi),如果密碼不正確,LCD顯示屏?xí)@示“ERROR”,P2.

40、0輸出的是高電平,電子密碼鎖不能被打開(kāi)。通過(guò)LCD顯示屏,可以清楚的判斷出密碼鎖所處的狀態(tài) 。其顯示部分引腳接口如圖4-7所示:</p><p>  圖4-7 顯示電路原理圖</p><p><b>  4.6 報(bào)警部分</b></p><p>  報(bào)警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當(dāng)有鍵按下時(shí),“?!甭?,每按一下,發(fā)聲

41、一次,密碼正確時(shí),不發(fā)聲直接開(kāi)鎖,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P2.1引腳為低電平,三極管T3導(dǎo)通轟鳴器發(fā)出噪鳴聲報(bào)警。如圖4-8所示:</p><p>  圖4-8 報(bào)警電路原理圖</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、鍵功能程序、密碼設(shè)置程序、E

42、EPROM讀寫(xiě)程序和延時(shí)程序等組成。</p><p><b>  5.1主程序流程圖</b></p><p>  如圖5-1所示為主程序流程圖,開(kāi)始接上電源,程序進(jìn)行初始化設(shè)置,然后在鍵盤(pán)上輸入密碼,此系統(tǒng)進(jìn)行鍵盤(pán)掃描,然后啟動(dòng)程序,進(jìn)行保護(hù),再次在鍵盤(pán)上輸入密碼,系統(tǒng)進(jìn)行掃描,如和之前一樣,則執(zhí)行程序,如不是,則執(zhí)行另一種程序,最后結(jié)束。</p>&l

43、t;p>  圖5-1 主程序流程圖</p><p>  5.2按鍵功能流程圖</p><p>  如圖5-2為按鍵功能流程圖,在按鍵當(dāng)中,有與輸入、開(kāi)鎖、清除、設(shè)置、確認(rèn)的程序相對(duì)應(yīng)的按鍵,并按順序與輸入的數(shù)相比較,當(dāng)輸入正確時(shí),進(jìn)入密碼程序,錯(cuò)誤時(shí)進(jìn)行清除,輸入兩次正確的,可進(jìn)行重新設(shè)置,最后確認(rèn)程序。</p><p>  5.3密碼設(shè)置流程圖</p&

44、gt;<p>  如圖5-3為密碼設(shè)置流程圖,開(kāi)始按下設(shè)置鍵,輸入舊密碼,如果錯(cuò)誤,累計(jì)三次錯(cuò)誤,進(jìn)行報(bào)警程序。如輸入正確,可以改密碼,確認(rèn)后再次輸入更改后密碼,如兩次輸入一樣,則更改成功。</p><p>  圖5-3 密碼設(shè)置流程圖</p><p><b>  5.4開(kāi)鎖流程圖</b></p><p>  如圖5-4為開(kāi)鎖流程

45、圖,開(kāi)始時(shí)按開(kāi)鎖鍵,輸入密碼,如果輸入正確,則開(kāi)鎖成功。如果輸入錯(cuò)誤累計(jì)達(dá)到三次,則執(zhí)行報(bào)警程序。</p><p><b>  圖5-4開(kāi)鎖流程圖</b></p><p><b>  結(jié) 論</b></p><p>  以上為畢業(yè)期間所設(shè)計(jì)的電子密碼控制系統(tǒng)的電路,它經(jīng)過(guò)多次修改和整理,可以滿(mǎn)足設(shè)計(jì)的基本要求。輸入密

46、碼時(shí),如三次輸入錯(cuò)誤,則進(jìn)行報(bào)警,在輸入時(shí),LCD顯示為“*”,在修改密碼時(shí),則顯示數(shù)字。次設(shè)計(jì)還具有防盜功能,如對(duì)密碼控制系統(tǒng)進(jìn)行破壞,有報(bào)警功能。但因?yàn)槲业乃接邢蓿穗娐分幸泊嬖谝欢ǖ膯?wèn)題。譬如說(shuō)電路的密碼不能遺忘,一旦遺忘,就很難打開(kāi),這可以通過(guò)增加電路解決,但由于過(guò)于復(fù)雜,本設(shè)計(jì)并未加入;電路密碼只有16種可供修改,但由于他人不知道密碼的位數(shù),而且還要求在規(guī)定的時(shí)間內(nèi)按一定的順序開(kāi)鎖,所以他人開(kāi)鎖的幾率很小。由于使用的是單片機(jī)

47、作為核心的控制元件,配合其它器件,使本密碼控制系統(tǒng)具有功能強(qiáng)、性能可靠、電路簡(jiǎn)單、成本低的特點(diǎn),加上經(jīng)過(guò)優(yōu)化的程序,使其有很高的智能化水平。</p><p><b>  附錄一</b></p><p><b>  原理總圖</b></p><p><b>  PCB制版圖</b></p>

48、<p><b>  附錄二程序</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uint key,key_num,

49、keycount=0,beeflag,loop1,compflag=0,xg_flag=5,new=5,again=5,x_comflag=0;</p><p>  uchar cuo=0;</p><p>  uchar code table[]="Enter The Key";</p><p>  uchar code table1[]=&q

50、uot;****";</p><p>  uchar code table2[]="ERROR";</p><p>  uchar code table3[]="OPEN";</p><p>  uchar code table4[]="The Old Key";</p><p

51、>  uchar code table5[]="The New Key";</p><p>  uchar code table6[]="Again New Key";</p><p>  uchar code table7[]="Succeed";</p><p>  uchar data mima

52、[4]={0,1,2,3};</p><p>  uchar data cucun[5];</p><p>  uchar data mima_new[4];</p><p>  uchar data mima_again[4];</p><p>  sbit lcdrs=P2^0;</p><p>  sbit lc

53、drw=P2^1;</p><p>  sbit lcden=P2^2;</p><p>  sbit beef=P2^7;</p><p>  sbit JDQ=P2^6;</p><p>  void delay(uint z)</p><p><b>  {</b></p>&

54、lt;p><b>  uint x,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 write_com(uchar com)<

55、/p><p><b>  {</b></p><p><b>  lcdrs=0;</b></p><p><b>  P0=com;</b></p><p><b>  delay(5);</b></p><p><b> 

56、 lcden=1;</b></p><p><b>  delay(5);</b></p><p><b>  lcden=0;</b></p><p><b>  }</b></p><p>  void write_data(uchar date)</p&

57、gt;<p><b>  {</b></p><p><b>  lcdrs=1;</b></p><p><b>  P0=date;</b></p><p><b>  delay(5);</b></p><p><b>  l

58、cden=1;</b></p><p><b>  delay(5);</b></p><p><b>  lcden=0;</b></p><p><b>  }</b></p><p>  void init()</p><p>  {

59、lcdrw=0;</p><p><b>  lcden=0;</b></p><p>  write_com(0x38);</p><p>  write_com(0x0e);</p><p>  write_com(0x06);</p><p>  write_com(0x01);</p

60、><p><b>  }</b></p><p><b>  keys()</b></p><p><b>  {</b></p><p>  unsigned char temp;</p><p>  key_num=0xff;</p>&l

61、t;p><b>  P1=0xf7; </b></p><p>  if(P1!=0xf7){</p><p>  delay(5); </p><p><b>  P1=0xf7;</b></p><p>  if(P1!=0xf7){ </p><p>  tem

62、p = P1;</p><p>  switch(temp){</p><p>  case 0xe7: key_num=0;break;</p><p>  case 0xd7: key_num=1;break;</p><p>  case 0xb7: key_num=2;break;</p><p>  case

63、 0x77: key_num=3;break;</p><p><b>  }</b></p><p>  P1 = 0xf0; </p><p>  while(P1!=0xf0) P1=0xf0;</p><p><b>  }</b></p><p><b

64、>  }</b></p><p>  P1=0xfb; </p><p>  if(P1!=0xfb){</p><p><b>  delay(5);</b></p><p><b>  P1=0xfb;</b></p><p>  if(P1!=0xf

65、b){</p><p>  temp = P1;</p><p>  switch(temp){</p><p>  case 0xeb:key_num=4;break;</p><p>  case 0xdb:key_num=5;break;</p><p>  case 0xbb:key_num=6;break;&

66、lt;/p><p>  case 0x7b:key_num=7;break;</p><p><b>  }</b></p><p>  P1 = 0xf0; </p><p>  while(P1!=0xf0) P1=0xf0;</p><p><b>  }</b>&l

67、t;/p><p><b>  }</b></p><p>  P1=0xfd; </p><p>  if(P1!=0xfd){</p><p>  delay(5); </p><p><b>  P1=0xfd;</b></p><p>  if(P

68、1!=0xfd){</p><p>  temp = P1;</p><p>  switch(temp){</p><p>  case 0xed:key_num=8;break;</p><p>  case 0xdd:key_num=9;break;</p><p>  case 0xbd:key_num=10

69、;break;</p><p>  case 0x7d:key_num=11;break;</p><p><b>  }</b></p><p>  P1 = 0xf0; </p><p>  while(P1!=0xf0) P1=0xf0;</p><p><b>  }&l

70、t;/b></p><p><b>  }</b></p><p>  P1=0xfe; </p><p>  if(P1!=0xfe){</p><p>  delay(5); </p><p><b>  P1=0xfe;</b></p><p

71、>  if(P1!=0xfe){ </p><p>  temp = P1;</p><p>  switch(temp){</p><p>  case 0xee:key_num=12;break;//確認(rèn) </p><p>  case 0xde:key_num=13;break;//設(shè)置密碼</p><

72、p>  case 0xbe:key_num=14;break;//取消</p><p>  case 0x7e:key_num=15;break;//刪除 </p><p><b>  }</b></p><p>  P1 = 0xf0; </p><p>  while(P1!=0xf0) P1=0xf

73、0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  void beef_a()</p><p><b>  { </b>

74、</p><p><b>  uint j;</b></p><p>  beeflag=0;</p><p><b>  if(cuo<2)</b></p><p><b>  {</b></p><p><b>  cuo++;<

75、;/b></p><p>  for(j=0;j<3000;j++)</p><p><b>  {</b></p><p>  beef=~beef;</p><p><b>  delay(1);</b></p><p><b>  }</b&

76、gt;</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  for(j=0;j<10000;j++)</p><p><b>  {<

77、/b></p><p>  beef=~beef;</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

78、</p><p>  void a_display()</p><p>  {uint num;</p><p>  write_com(0x80+0x05);</p><p>  for(num=0;num<5;num++)</p><p><b>  {</b></p>

79、<p>  write_data(table2[num]);</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void c_display()</p>

80、;<p>  {uint num;</p><p>  write_com(0x80+0x06);</p><p>  for(num=0;num<4;num++)</p><p><b>  {</b></p><p>  write_data(table3[num]);</p>&

81、lt;p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void d_display()</p><p><b>  {</b></p>&l

82、t;p>  uint num,k;</p><p>  write_com(0x80+0x02);</p><p>  for(num=0;num<11;num++)</p><p><b>  {</b></p><p>  write_data(table4[num]);</p><p

83、><b>  delay(5);</b></p><p><b>  }</b></p><p>  write_com(0x80+0x45);</p><p>  for(k=0;k<keycount;k++)</p><p><b>  {</b></p&

84、gt;<p>  write_data(table1[k]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p>  void e_display()</

85、p><p>  {uint num,k;</p><p>  write_com(0x80+0x01);</p><p>  for(num=0;num<11;num++)</p><p><b>  {</b></p><p>  write_data(table5[num]);</

86、p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  write_com(0x80+0x45);</p><p>  for(k=0;k<keycount;k++)</p><p><b>  {</

87、b></p><p>  write_data(table1[k]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p>  void f_di

88、splay()</p><p>  {uint num,k;</p><p>  write_com(0x80+0x01);</p><p>  for(num=0;num<13;num++)</p><p><b>  {</b></p><p>  write_data(table6[

89、num]);</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  write_com(0x80+0x45);</p><p>  for(k=0;k<keycount;k++)</p><p><b&

90、gt;  {</b></p><p>  write_data(table1[k]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p>

91、  void g_display()</p><p>  {uint num;</p><p>  write_com(0x80+0x06);</p><p>  for(num=0;num<7;num++)</p><p><b>  {</b></p><p>  write_data

92、(table7[num]);</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void b_display()</p><p>  { uint

93、 num,k;</p><p>  write_com(0x80+0x01);</p><p>  for(num=0;num<13;num++)</p><p><b>  {</b></p><p>  write_data(table[num]);</p><p><b> 

94、 delay(5);</b></p><p><b>  }</b></p><p>  write_com(0x80+0x45);</p><p>  for(k=0;k<keycount;k++)</p><p><b>  {</b></p><p>

95、  write_data(table1[k]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void input()</p><p>&

96、lt;b>  {</b></p><p>  keycount++;</p><p>  if(keycount>=4) keycount=4; </p><p>  if((key_num!=0xff)&&(keycount==1)) </p><p><b>  {</b&

97、gt;</p><p>  if(xg_flag<5)</p><p>  { if(xg_flag>3) xg_flag=3;</p><p>  d_display();</p><p>  xg_flag++;</p><p><b>  }</b></p>&l

98、t;p>  else if(new<=3)</p><p>  {if(new==3) {again=0;new=4;init();keycount=0;f_display();}</p><p>  else e_display();</p><p><b>  new++;</b></p><p>&

99、lt;b>  }</b></p><p>  else if(again<5)</p><p><b>  {</b></p><p>  if(again>=3)again=3;</p><p>  f_display();</p><p><b>  

100、again++;</b></p><p><b>  }</b></p><p>  else b_display();</p><p><b>  }</b></p><p>  if((key_num!=0xff)&&(keycount==2)) &l

101、t;/p><p><b>  { </b></p><p>  if(xg_flag<5)</p><p><b>  {</b></p><p>  if(xg_flag>3) xg_flag=3;</p><p>  d_display();</p>

102、<p>  xg_flag++;</p><p><b>  }</b></p><p>  else if(new<=3)</p><p>  {if(new==3) {again=0;new=4;init();keycount=0;f_display();}</p><p>  else e_

103、display();</p><p><b>  new++;</b></p><p><b>  }</b></p><p>  else if(again<5)</p><p><b>  {</b></p><p>  if(again>

104、;=3)again=3;</p><p>  f_display();</p><p><b>  again++;</b></p><p><b>  } </b></p><p>  else b_display();</p><p><b>  }&

105、lt;/b></p><p>  if((key_num!=0xff)&&(keycount==3)) </p><p><b>  {</b></p><p>  if(xg_flag<5)</p><p><b>  {</b></p><p&g

106、t;  if(xg_flag>3) xg_flag=3;</p><p>  d_display();</p><p>  xg_flag++;</p><p><b>  }</b></p><p>  else if(new<=3)</p><p>  {if(new==3) {

107、again=0;new=4;init();keycount=0;f_display();}</p><p>  else e_display();</p><p><b>  new++;</b></p><p><b>  }</b></p><p>  else if(again<5)&

108、lt;/p><p><b>  {</b></p><p>  if(again>=3)again=3;</p><p>  f_display();</p><p><b>  again++;</b></p><p><b>  } </b&

109、gt;</p><p>  else b_display();</p><p><b>  }</b></p><p>  if((key_num!=0xff)&&(keycount==4)) </p><p><b>  {</b></p><p> 

110、 if(xg_flag<5)</p><p>  {if(xg_flag>3) xg_flag=3;</p><p>  d_display();</p><p>  xg_flag++;</p><p><b>  }</b></p><p>  else if(new<=3

111、)</p><p>  {if(new==3) {again=0;new=4;init();keycount=0;f_display();}</p><p>  else e_display();</p><p><b>  new++;</b></p><p><b>  }</b></p

112、><p>  else if(again<5)</p><p><b>  {</b></p><p>  if(again>=3)again=3;</p><p>  f_display();</p><p><b>  again++;</b></p>

113、;<p><b>  }</b></p><p>  else b_display();</p><p><b>  } </b></p><p><b>  }</b></p><p>  void func()</p>

114、;<p><b>  {</b></p><p>  if(key_num==12)</p><p><b>  { </b></p><p>  x_comflag=0;</p><p>  if(keycount==4) keycount++;</p><p&

115、gt;  if((mima[0]==cucun[0])&&(mima[1]==cucun[1])&&(mima[2]==cucun[2])&&(mima[3]==cucun[3])){compflag=1;}//判定成功</p><p>  if((mima_new[0]==mima_again[0])&&(mima_new[1]==mima_a

116、gain[1])&&(mima_new[2]==mima_again[2])&&(mima_new[3]==mima_again[3]))//修改成功</p><p><b>  {</b></p><p>  x_comflag=1; mima[0]=mima_again[0];mima[1]=mima_again[1];mima[2

117、]=mima_again[2];mima[3]=mima_again[3];</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key_num==13) </p><p><b>  { </b&g

118、t;</p><p>  xg_flag=0; </p><p>  keycount=0;</p><p>  init();d_display();</p><p><b>  }</b></p><p>  if(key_num==15)</p><p><

119、b>  {</b></p><p>  if(keycount<=0) keycount=1;</p><p>  keycount--;</p><p>  init();b_display();</p><p><b>  }</b></p><p><b&g

120、t;  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  JDQ=1;</b></p><p>  loop1:init();</p><p>  b_display();<

121、/p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  keys();</b></p><p>  if((key_num!=0xff)&&(key_num<=9)) </p>&

122、lt;p>  {if(new<=4) mima_new[new]=key_num;</p><p>  else if(again<=4) mima_again[again]=key_num;</p><p>  else cucun[keycount]=key_num;</p><p><b>  input();</b>

123、</p><p><b>  }</b></p><p>  if(key_num==14) { keycount=0;xg_flag=5;again=5;new=5;goto loop1;}</p><p>  func();</p><p>  if(keycount>4) </p>&

124、lt;p><b>  {</b></p><p>  if((xg_flag==4)&&(compflag==1)){init();xg_flag=5;compflag=0;new=0;keycount=0; e_display();}</p><p>  else if((again==4)&&(x_comflag==1)){

125、init();again=6;x_comflag=0;keycount=0;g_display();delay(2000);goto loop1;}//修改成功</p><p><b>  else</b></p><p><b>  {</b></p><p>  if(compflag==1)</p>&

126、lt;p><b>  {</b></p><p>  compflag=0;</p><p><b>  JDQ=0;</b></p><p><b>  init();</b></p><p>  c_display();</p><p>  

127、delay(500);delay(500);</p><p><b>  JDQ=1;</b></p><p><b>  cuo=0;</b></p><p>  if(again!=6)</p><p>  {mima[0]=0;mima[1]=1;mima[2]=2;mima[3]=3;}&l

128、t;/p><p>  keycount=0;</p><p>  goto loop1;</p><p><b>  }</b></p><p>  if(compflag==0)</p><p><b>  {</b></p><p>  beefla

129、g=1;</p><p><b>  init();</b></p><p>  a_display(); </p><p><b>  beef_a();</b></p><p>  if(again!=6)</p><p>  {again=5;mima[0]=0;mim

130、a[1]=1;mima[2]=2;mima[3]=3;}</p><p>  keycount=0; </p><p>  goto loop1;</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }

131、</b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  附件</b></p><p><b>  目 錄</b></p><p>  大學(xué)本科生畢業(yè)論文

132、(設(shè)計(jì))</p><p>  管理規(guī)定 (2013年11月修訂)……………………1</p><p>  大學(xué)本科畢業(yè)論文(設(shè)計(jì))</p><p>  格式和打印要求…………………………………17</p><p>  大學(xué)本科畢業(yè)論文(設(shè)計(jì))</p><p>  封面及表格………………………………………27</p&

133、gt;<p>  大學(xué)本科畢業(yè)論文(設(shè)計(jì))</p><p>  指導(dǎo)教師職責(zé)……………………………………47</p><p>  大學(xué)本科畢業(yè)論文(設(shè)計(jì))</p><p>  管理人員職責(zé)……………………………………50</p><p>  大學(xué)校級(jí)優(yōu)秀本科畢業(yè)論文(設(shè)計(jì))</p><p>  評(píng)選的有關(guān)

134、規(guī)定…………………………………51</p><p>  大學(xué)關(guān)于本科生到校外做畢業(yè)論文(設(shè)計(jì))</p><p>  的有關(guān)規(guī)定………………………………………56</p><p>  大學(xué)本科生畢業(yè)論文(設(shè)計(jì))</p><p><b>  管理規(guī)定</b></p><p>  二○一三年十一月修訂&

135、lt;/p><p>  本科生畢業(yè)論文(設(shè)計(jì))【以下簡(jiǎn)稱(chēng)畢業(yè)論文(設(shè)計(jì))】是實(shí)現(xiàn)高等學(xué)校人才培養(yǎng)目標(biāo)的重要教學(xué)環(huán)節(jié),是培養(yǎng)學(xué)生創(chuàng)新意識(shí)和創(chuàng)新能力的重要手段,是理論學(xué)習(xí)與社會(huì)實(shí)踐相結(jié)合的重要體現(xiàn)。</p><p>  為進(jìn)一步規(guī)范畢業(yè)論文(設(shè)計(jì))管理,提高畢業(yè)論文(設(shè)計(jì))質(zhì)量,提高我校人才培養(yǎng)工作水平,特制定本規(guī)定。本規(guī)定適用于我校對(duì)全校全日制本科生畢業(yè)論文(設(shè)計(jì))的管理,是各學(xué)院開(kāi)展畢業(yè)論文管

溫馨提示

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

評(píng)論

0/150

提交評(píng)論