2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  ??飘厴I(yè)設(shè)計(論文)資料</p><p><b>  2012屆</b></p><p>  ??飘厴I(yè)設(shè)計(論文)資料</p><p>  第一部分 畢業(yè)論文</p><p> 題 目 名 稱:基于單片機(jī)電子密碼鎖設(shè)計 </p>

2、<p> 學(xué) 院(部):電氣與信息工程學(xué)院 </p><p> 專 業(yè):應(yīng)用電子技術(shù) </p><p> 學(xué) 生 姓 名:</p><p> 班 級:學(xué)號 </p&g

3、t;<p> 指導(dǎo)教師姓名:職稱 </p><p> 最終評定成績:</p><p><b>  摘 要</b></p><p>  隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變得尤其突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造簡單,安全性能低,無法滿足人們的需求。隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展

4、,單片機(jī)已成為電子產(chǎn)品研制和開發(fā)中首選的控制器,所以具有防盜報警功能的電子密碼控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼控制的密碼量少,安全性能差的缺點。通過單片機(jī)編寫密碼程序,并用74LS47和3-8譯碼器74LS138驅(qū)動的數(shù)碼管來顯示密碼。數(shù)碼管可以時時顯示當(dāng)前輸入的四位數(shù)字。當(dāng)輸入密碼正確時,對應(yīng)的指示燈亮;當(dāng)密碼不正確時,另一個對應(yīng)的指示燈亮且并且發(fā)出聲音報警。</p><p>  關(guān)鍵

5、詞: 密碼鎖 ,單片機(jī) ,報警</p><p><b>  ABSTRACT</b></p><p>  With the improvement of people's living standards, it has become particularly prominent about how to achieve Anti-theft family

6、. The traditional mechanical lock has such shortcoming as simple structure , Low security ,it can't meet people's demands.As electronic products are developing towards intelligence and minimization, single-chip c

7、omputers(SCM) have become the first choice for controllers in the development of electronic products. Therefore, the electronic anti-theft alarm function password</p><p>  Keywords: Combination lock, Single

8、-chip microcomputer, alarm</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  目 錄III</b></p><

9、p><b>  第1章 緒論1</b></p><p>  1.1 電子密碼鎖簡介1</p><p>  1.2 電子密碼鎖的發(fā)展趨勢1</p><p>  1.3 本設(shè)計所要實現(xiàn)的目標(biāo)2</p><p>  第2章 系統(tǒng)方案選擇與論證3</p><p>  2.1系統(tǒng)基

10、本方案3</p><p>  2.1.1系統(tǒng)框圖3</p><p>  2.1.2 各模塊方案選擇與論證3</p><p>  2.1.3系統(tǒng)各模塊的最終方案5</p><p>  第三章 系統(tǒng)的硬件設(shè)計與實現(xiàn)6</p><p>  3.1 系統(tǒng)硬件概述6</p><p>  3.2

11、主要單元電路的設(shè)計6</p><p>  3.2.1鍵盤掃描模塊電路的設(shè)計6</p><p>  3.2.2單片機(jī)控制模塊電路的設(shè)計7</p><p>  3.2.3聲光報警模塊電路的設(shè)計8</p><p>  3.2.4數(shù)碼顯示模塊電路的設(shè)計8</p><p>  第4章 系統(tǒng)的軟件設(shè)計10</p&

12、gt;<p>  4.1系統(tǒng)軟件的概述10</p><p>  4.2子程序的設(shè)計11</p><p>  4.2.1自檢子程序11</p><p>  4.2.2鍵盤掃描子程序12</p><p>  4.2.3移位子程序13</p><p>  4.2.4開鎖子程序13</p>

13、<p>  4.2.5修改密碼子程序14</p><p>  第5章系統(tǒng)仿真與調(diào)試15</p><p>  5.1系統(tǒng)仿真過程15</p><p>  5.2仿真調(diào)試中遇到的困難及解決方法16</p><p><b>  結(jié) 論17</b></p><p><b>

14、;  致 謝18</b></p><p><b>  參考文獻(xiàn)19</b></p><p>  附錄1 系統(tǒng)電路圖20</p><p>  附錄2系統(tǒng)程序21</p><p>  附錄3 實物圖27</p><p>  附錄4 系統(tǒng)使用說明書30</p>&l

15、t;p><b>  第1章 緒論</b></p><p>  1.1 電子密碼鎖簡介</p><p>  電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價比較高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。其性能和安全性已大大超過了

16、機(jī)械鎖。其特點如下:</p><p> ?。?)保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開鎖成功率幾乎為零。(2)密碼可變,用戶可以隨時更改密碼,防止密碼被盜,同時也可以避免因人員的更替而使鎖的密級下降。(3)誤碼輸入保護(hù),當(dāng)輸入密碼多次錯誤時,報警系統(tǒng)自動啟動。</p><p> ?。?)無活動零件,不會磨損,壽命長。</p><p> ?。?)使用靈活性好,

17、不像機(jī)械鎖必須佩帶鑰匙才能開鎖。</p><p>  (6) 電子密碼鎖操作簡單易行,一學(xué)即會</p><p>  1.2 電子密碼鎖的發(fā)展趨勢</p><p>  在日常生活和工作中,住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存多以加鎖的辦法來解決。目前門鎖主要用彈子鎖,其鑰匙容易丟失;保險箱主要用機(jī)械密碼鎖,其結(jié)構(gòu)較為復(fù)雜,制造精度要求

18、高,成本高,且易出現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。針對這些鎖具給人們帶來的不便若使用機(jī)械式鑰匙開鎖,為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運而生。它的出現(xiàn)為人們的生活帶來了很大的方便,有很廣闊的市場前景。由于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不多,保密性差,最基本的就是只依靠最簡單的模擬電子開關(guān)來實現(xiàn)的,制作簡單但很不安全,在后為多是基于EDA來實現(xiàn)的,其電路結(jié)

19、構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引角的2051系列單片機(jī)來實現(xiàn)的,但密碼簡單,易破解。隨著電子元件的進(jìn)一步發(fā)展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強(qiáng)大,使用更加方便,安全保密性更強(qiáng),由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實現(xiàn)了真真的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的發(fā)展及人們對保密性需求的提高出現(xiàn)了越</p><p>  出于安全、方便等方面的需要許多電子

20、密碼鎖已相繼問世。但這類產(chǎn)品的特點是針對特定有效卡、指紋或聲音有效,且不能實現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個人使用的箱、柜、房間等。由于數(shù)字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜鎖獲得高度的保密性,如防范森嚴(yán)的金庫,需要使用復(fù)合信息密碼的電子防盜鎖,這樣對盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子防盜鎖獲得無窮擴(kuò)展的可能,使產(chǎn)品多樣化,對用戶而言是“千挑百選

21、、自得其所”??梢钥闯鼋M合使用電子信息是電子密碼鎖以后發(fā)展的趨勢。</p><p>  1.3 本設(shè)計所要實現(xiàn)的目標(biāo)</p><p>  本次設(shè)計使用 ATMEL公司的 AT89S51 實現(xiàn)一基于單片機(jī)的電子密碼鎖的設(shè)計,其主要具有如下功能: </p><p> ?。?)密碼通過鍵盤輸入,若密碼正確,則將鎖打開。 </p><p> ?。?

22、)報警、鎖定鍵盤功能。密碼輸入錯誤數(shù)碼顯示器會出現(xiàn)錯誤提示,若密碼輸入錯誤次數(shù)超過 3 次,蜂鳴器報警并且鎖定鍵盤。 </p><p>  電子密碼鎖的設(shè)計主要由三部分組成:4×4 矩陣鍵盤接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有 LED 提示燈,報警蜂鳴器等。 </p><p>  密碼鎖設(shè)計的關(guān)鍵問題是實現(xiàn)密碼的輸入、清除、更改、開鎖等功能: </p&

23、gt;<p> ?。?)密碼輸入功能:按下一個數(shù)字鍵,一個“-”就顯示在最右邊的數(shù)碼管上,同時將先前輸入的所有“-”向左移動一位。 </p><p>  (2)密碼清除功能:當(dāng)按下清除鍵時,清除前面輸入的所有值,并清除所有顯示。 </p><p> ?。?)開鎖功能:當(dāng)按下開鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對,如果正確鎖打開,否則不打開。 </p><p&

24、gt;  主要的設(shè)計實施過程:首先,選用 ATMEL公司的單片機(jī) AT89S51,以及選購其他電子元器件。第二步,使用 DXP 2004設(shè)計硬件電路原理圖,并設(shè)計 PCB圖完成人工布線(后因 PCB 板損壞決定采用萬能板焊接的方法)。第三步,使用 Keil uVision3 軟件編寫單片機(jī)的 C 語言程序、仿真、軟件調(diào)試。第四部,使用 PROTEUS 軟件進(jìn)行模擬軟、硬件調(diào)試。最后,聯(lián)合軟、硬件調(diào)試電路板,完成本次畢業(yè)設(shè)計。</p

25、><p>  第2章 系統(tǒng)方案選擇與論證</p><p><b>  2.1系統(tǒng)基本方案</b></p><p><b>  2.1.1系統(tǒng)框圖</b></p><p>  簡易電子密碼鎖是由5 個部分組成,如圖2.1 所示:</p><p>  圖2.1 電子密碼鎖控制系統(tǒng)&

26、lt;/p><p>  電源模塊:由+5V 的直流穩(wěn)壓電源供電給整個系統(tǒng)工作。</p><p>  鍵盤模塊:由16 個輕觸式開關(guān)組成。</p><p>  單片機(jī)控制模塊:采用支持ISP 在線編程技術(shù)的單片機(jī)AT89S51 便于燒寫程序。</p><p>  顯示模塊:采用六個數(shù)碼管時時顯示當(dāng)前輸入數(shù)據(jù);</p><p>

27、;  報警模塊:采用發(fā)光二極管和蜂鳴器做聲光報警。</p><p>  2.1.2 各模塊方案選擇與論證</p><p><b> ?。?)單片機(jī)的選擇</b></p><p><b>  方案一:</b></p><p>  采用AT89C51 單片機(jī),它可以與其它51 系列的單片機(jī)兼容、內(nèi)部RO

28、M 全部采用FLASH ROM、最高時鐘頻率可達(dá)24MHz 且能以3V 超低壓工作。但不支持ISP 在線編程技術(shù)、內(nèi)部ROM 僅為4KB 不利于功能擴(kuò)展。</p><p><b>  方案二:</b></p><p>  采用AT98S51 單片機(jī),它具同時被AT98C51 的全部功能外,還支持ISP 在線編程技術(shù)且內(nèi)部ROM 為8KB 有利于功能擴(kuò)展。</p&

29、gt;<p><b>  (2)鍵盤的選擇</b></p><p>  方案一:使用獨立式按鍵來控制</p><p>  使用獨立式按鍵來控制數(shù)碼管的顯示,這樣需要很多的按鍵,每個按鍵實現(xiàn)一個能,易于控制,程序編寫簡單,但是每個按鍵都要接上拉電阻,占用了單片機(jī)大量的I/O 接口資源,要對單片機(jī)外擴(kuò)I/O 口,并且在電路焊接方面又不方便,還要浪費大量的資源

30、,提高了成本。</p><p>  方案二:采用矩陣式鍵來控制</p><p>  把按鍵按行列組成矩陣,在行列交點上都對應(yīng)有一個鍵,這樣使用的按鍵要少,為判定有無鍵被按下以及被按鍵的位置,這種稱為鍵掃描法。這樣雖然提高了編程難度,但是節(jié)約了單片機(jī)大量的I/O 口,免去了上拉電阻為焊接帶來了方便,提高了整塊電路板的美觀度。</p><p> ?。?)顯示模塊的選擇&

31、lt;/p><p>  方案一:數(shù)碼管靜態(tài)顯示</p><p>  采用LED 數(shù)碼管靜態(tài)顯示方法,電路容易理解,驅(qū)動程序簡單,但需要每個數(shù)碼管都要一塊74LS47 來驅(qū)動顯示,增高了成本,浪費系統(tǒng)硬件資源,而需要占用單片機(jī)多個I/O 口。</p><p>  方案二:數(shù)碼管動態(tài)顯示</p><p>  采用LED 數(shù)碼管動態(tài)掃顯示方法,只需一塊

32、數(shù)碼管驅(qū)動器芯片和一塊譯碼器芯片就可以驅(qū)動多個數(shù)碼管,價格便宜,只需要7 個I/O 口就可以同時驅(qū)動8 個數(shù)碼管顯示。硬件利用效率高,驅(qū)動程序容易理解和編程。</p><p><b>  方案三:液晶顯示</b></p><p>  采用LCD 液晶顯示,顯示的位數(shù)多,由單片機(jī)驅(qū)動。此方案有美觀、顯示清晰多樣的優(yōu)點。但同時液晶顯示器的驅(qū)動程序復(fù)雜,編程困難,成本高,價

33、格昂貴,浪費大量的資源。</p><p> ?。?)數(shù)碼管驅(qū)動選擇</p><p>  采用74LS47 驅(qū)動數(shù)碼管和74LS138 譯碼器來控制數(shù)碼管的COM 端,因為74LS47 只能驅(qū)動共陽數(shù)碼管,而74LS138 的輸出為低電平有效。因此,在74LS138 的輸出端加入反向器才可以接到數(shù)碼管的COM 端。</p><p>  方案一:74LS04 芯片的選擇

34、</p><p>  采用74LS04 芯片做反向器,74LS47 是集成六反向器芯片,剛好可驅(qū)動六個數(shù)碼管,但是它的輸入輸出引腳兩邊均分布,造成跳線較多給電路焊接時帶來麻煩影響了整塊電路的美觀度。</p><p>  方案二:三極管的選擇</p><p>  三極管也具有反向的功能,采用的是PNP 管,電路的連接中又方便,減少了跳線提高美觀度。</p>

35、<p>  (5)報警模塊的選擇</p><p><b>  方案一:</b></p><p>  采用語音報警,雖然可以使整個系統(tǒng)更加完美,但是會使程序更加復(fù)雜而且提高了整個系統(tǒng)的造價。</p><p><b>  方案二:</b></p><p>  采用發(fā)光二極管和蜂鳴器來報警,

36、可以發(fā)出聲光報警且降低了成本。</p><p>  2.1.3系統(tǒng)各模塊的最終方案</p><p>  結(jié)合整個系統(tǒng)的功能、成本、美觀度等綜合考慮,用AT89S51 單片機(jī)為主控模塊、用4×4 鍵盤輸入、用74LS47、74LS138 和三極管來驅(qū)動六個數(shù)碼管做顯示模塊、用發(fā)光二極管和蜂鳴器做為報警模塊。系統(tǒng)框圖如圖2.2</p><p><b>

37、;  圖2.2系統(tǒng)框圖</b></p><p>  第三章 系統(tǒng)的硬件設(shè)計與實現(xiàn)</p><p>  3.1 系統(tǒng)硬件概述 </p><p>  本系統(tǒng)是通過鍵盤掃描模塊,既能夠顯示數(shù)據(jù)并且還能修改密碼,開鎖密碼,</p><p>  具有強(qiáng)大的功能,通過鍵盤掃描模塊輸入到單片

38、機(jī)控制系統(tǒng)AT89S52 中。然后通</p><p>  過數(shù)碼顯示模塊來顯示我們所要有數(shù)據(jù),還有一個就是報警模塊,當(dāng)輸入的密碼</p><p>  相同時,則顯示模塊的燈點亮,當(dāng)輸入的密碼是錯誤時,綠燈點亮,報警模塊立</p><p>  刻發(fā)出聲音報警。為了達(dá)到設(shè)定的功能,本裝置鍵盤掃描模塊、單片機(jī)控制模塊、</p><p>  數(shù)碼管顯

39、示模塊,聲光報警模塊等4 模塊組成。</p><p>  3.2主要單元電路的設(shè)計</p><p>  3.2.1鍵盤掃描模塊電路的設(shè)計</p><p>  如圖3.1 所示,本模塊的作用是進(jìn)行鍵盤的掃描,首先判定有沒有鍵被按下,然后再判定被按鍵的位置,因為鍵盤矩陣有鍵被按下時,被按鍵處的行線和列線被接通,使得開關(guān)之間接通。當(dāng)掃描表明有按鍵被按下之后,緊接著應(yīng)是進(jìn)行

40、去抖動處理,一般我們采用的是軟件來去抖動,軟件方法則是采用時間延遲以躲過抖動,待行線上狀態(tài)穩(wěn)定之后,再進(jìn)行行狀態(tài)輸入。</p><p>  圖3.1 鍵盤掃描模塊</p><p>  3.2.2單片機(jī)控制模塊電路的設(shè)計</p><p>  單片機(jī)作為本裝置的核心器件,在系統(tǒng)中起到控制聲光報警、以及數(shù)碼動態(tài)顯示的作用,其中采用的是AT89S51,AT89S51 是標(biāo)準(zhǔn)

41、的40 引腳雙列直插式集成電路芯片,有4 個八位的并行雙向I/O 端口,分別記作P0、P1、P2、P3。第20 引腳為接地端;第40引腳為電源端;第31 引腳需要接高電位使單片機(jī)選用內(nèi)部程序存儲器;第18、19 腳之間接上一個12MHz 的晶振為單片機(jī)提供時鐘信號;第9 腳為復(fù)位腳,當(dāng)其接高電位時,單片機(jī)停止工作。P0 口接兩個發(fā)光二極管和一個蜂鳴器以實現(xiàn)聲光報警功能,P2 口連接一片七段譯碼器和一片3-8 譯碼器以動態(tài)掃描方式同時驅(qū)動

42、六個數(shù)碼管,P1 口與16 個陣列式按鍵相連實現(xiàn)對鍵盤的掃描。通過編程既能識別從譯碼器來驅(qū)動數(shù)碼管來顯示數(shù)據(jù),同時也通過運行指令來達(dá)到完成聲光報警及動態(tài)顯示數(shù)碼管等功能。如圖3.2 所示</p><p>  圖3.2 單片機(jī)控制模塊</p><p>  3.2.3聲光報警模塊電路的設(shè)計</p><p>  圖3.3 聲光報警模塊</p><p&g

43、t;  如圖3.3 所示,本模塊的作用是當(dāng)開鎖按鈕被按下時,如果數(shù)碼管當(dāng)前顯示值相同,則綠燈點亮,當(dāng)輸入的數(shù)與密碼不同時,則紅燈點亮并且蜂鳴器立刻發(fā)出聲音報警。</p><p>  3.2.4數(shù)碼顯示模塊電路的設(shè)計</p><p>  如圖3.4 所示,該模塊主要由74LS47 譯碼器,74LS138 譯碼器和6 個8 段數(shù)碼顯示管組成,如圖所示,從編碼器輸送過來的數(shù)據(jù)經(jīng)過兩片74LS47

44、 芯片和74LS138 蕊片譯碼后,傳送到8 段數(shù)碼顯示管,顯示管根據(jù)接收到數(shù)據(jù)電平的高低來顯示不同的數(shù)據(jù)。</p><p>  圖3.4 數(shù)碼顯示模塊</p><p>  從圖中可以看到單片機(jī)P2 口低4 位連接一片74LS47 七段譯碼器,由于74LS47 是共陽極數(shù)碼管的七段譯碼器,因此要選用共陽極的數(shù)碼管。單片機(jī)P2.0-P21.3 的輸出信號經(jīng)過74LS47 譯碼后就可以驅(qū)動數(shù)碼

45、管的段碼顯示相應(yīng)的數(shù)字,另外在74LS47 的輸出與數(shù)碼管之間還要接上7 個470 歐姆的限流電阻,以防止有過大的電流流過時燒壞數(shù)碼管。P2.4-P2.6 口接于3-8 譯碼器74LS138 的三個輸入端,而74LS138 的輸出端通過三極管分別接于八個數(shù)碼管的公共極。通過由P1.4-P1.6 口的輸出量來控制74LS138 選擇點亮某一個數(shù)碼管。由于74LS138 是低電位有效,所以應(yīng)該采用PNP 型的三極管來驅(qū)動數(shù)碼管,在此三極管相

46、當(dāng)于一個開關(guān)的作用依靠這兩塊芯片就可以控制數(shù)碼管實現(xiàn)動態(tài)掃描顯示。</p><p>  例如:使六個數(shù)碼管顯示123456。在第一時刻輸出“0001”給74LS47,讓數(shù)碼管顯示“1”,同時輸出“000” 給74LS138,選擇第一個數(shù)碼管工作,其余數(shù)碼管不工作,這樣第一時刻就只有第一個數(shù)碼管顯示“1”,其余數(shù)碼管均不顯示。同理第二時刻也只有第二個數(shù)碼管顯示“2”,依次類推第N 時刻就只有第N 個數(shù)碼管顯示“N”

47、。人的肉眼只能分辨0.1 秒內(nèi)的變化,所以如果以每一時刻0.01 秒的頻率循環(huán)變化,看起來就感覺每一個數(shù)碼管都被點亮了,顯示“123456”。</p><p>  第4章 系統(tǒng)的軟件設(shè)計 </p><p>  4.1系統(tǒng)軟件的概述</p><p>  本系統(tǒng)的工作流程為:通過鍵盤掃描來實現(xiàn)三種不同的功能,剛開始是設(shè)置的初始密碼123456 通過數(shù)碼管來顯示,用10

48、個按鍵來輸入0 到9 這從右到左依次輸入,還用三個按鍵來顯示密碼,修改密碼,開鎖等。當(dāng)開鎖按鈕被按下時,如果數(shù)碼管與當(dāng)前顯示值相同,則點亮LED1;當(dāng)數(shù)碼管值不同時,則點亮LED2,并且立刻發(fā)出報警聲音。</p><p><b>  主程序流程圖</b></p><p>  圖4.1 主程序流程圖</p><p>  主程序說明:單片機(jī)復(fù)位后進(jìn)

49、入初始化把初始密碼“123456”依次存放到40H 到45H六個單元中,把30H 到35H 六個單設(shè)置為六位數(shù)碼管顯示數(shù)據(jù)的存放地址,設(shè)置完畢調(diào)用自檢子程序進(jìn)入自檢狀態(tài),自檢完畢調(diào)用掃描子程序?qū)︽I盤進(jìn)行掃描,如果有按鍵被按下則跳轉(zhuǎn)到相應(yīng)的子程序,再調(diào)用顯示子程序把30H 到35H 六個單元的數(shù)據(jù)給六個數(shù)碼管顯示出來。顯示完畢就跳加掃描子程序繼續(xù)對鍵盤進(jìn)行掃描,如此循環(huán)。</p><p><b>  4.

50、2子程序的設(shè)計</b></p><p>  4.2.1自檢子程序</p><p>  圖4.2 自檢子程序流程圖</p><p>  自檢子程序說明:進(jìn)入自檢子程序后先把循環(huán)次數(shù)30 賦給38H 單元,把移位次數(shù)6 賦給R0,再把08H 賦給P2 口顯示,把08H 移位后再賦給P2 口,循環(huán)6 次完成一次顯示,循環(huán)顯示完30 次完成自檢。</p&g

51、t;<p>  4.2.2鍵盤掃描子程序</p><p>  圖4.3 鍵盤掃描子程序流程圖</p><p>  鍵盤掃描程序說明:給鍵盤所連接的P2 口賦掃描碼,例如:MOV P2,#0FEH,</p><p>  則掃描最后一行按鍵。寫入這個掃描碼后P2 口的高4 位寫入“1”,被設(shè)為輸入狀態(tài),低4位中只有P2.0 為“0”。而P2 口的高4 位通

52、過按鍵與低4 位相連,所以此時從P2 口的高4位就可以讀入低4 位的數(shù)據(jù)。與被按下的鍵相連接的高位口,讀入的數(shù)據(jù)為“0”,其它高位口讀入的為“1”從而識別出是哪一個按鍵被按下。隨后再依次對P2 口寫入FDH、FBH、07H,分別掃描第三、第二、第一行,這樣交替循環(huán)便可完成對4×4 鍵盤的掃描。</p><p>  4.2.3移位子程序</p><p>  圖4.4 移位子程序流程

53、圖</p><p>  移位程序說明:進(jìn)入移位子后就把30H 到35H 六個單元里的數(shù)據(jù)向右移一位,移位完畢后把35H 單元里的數(shù)據(jù)推出去,把30H 單元空出。</p><p>  4.2.4開鎖子程序</p><p>  開鎖程序說明:判斷30H 到35H 單元里的數(shù)據(jù)與40H 到45H 單元里的數(shù)據(jù)是否相同,如果相同,開鎖成功綠燈亮;如果不相同,開鎖不成功報警紅

54、燈亮且蜂鳴器響。如圖4.5所示</p><p>  圖 4.5 開鎖子程程序流程圖</p><p>  4.2.5修改密碼子程序</p><p>  圖 4.6 修改密碼子程序流程圖</p><p>  修改密碼程序說明:判斷綠燈是否已點亮,點亮則說明已開鎖成功可修改密碼,否則不修改。</p><p>  第5章系統(tǒng)仿

55、真與調(diào)試</p><p><b>  5.1系統(tǒng)仿真過程</b></p><p>  開始時的數(shù)碼管顯示“------”,等待輸入密碼。如圖5.1所示:</p><p>  圖5.1 數(shù)碼管顯示</p><p>  密碼輸入時顯示F并依次左移,如密碼輸入錯誤可以使用“clr”鍵進(jìn)行清除,然后可以從新輸入。如圖5.2所示:

56、</p><p>  圖5.2 數(shù)碼管顯示 F</p><p>  密碼輸入正確時,數(shù)碼管顯示簡單的便是“pass”,同時綠色指示燈亮起,開鎖電路運行,鎖被打開。如圖5.3所示:</p><p>  圖5.3 數(shù)碼管顯pass</p><p>  密碼是輸入錯誤時,數(shù)碼管提示“error 1”,如果繼續(xù)輸入第二次、第三次錯誤的時,數(shù)碼管將提

57、示“error 2”和“error 3”,同時報警器報警提示,紅色指示燈閃爍,鍵盤鎖死,防止繼續(xù)操作。如圖5.4所示:</p><p><b>  圖5.4數(shù)碼管顯示</b></p><p>  當(dāng)需要關(guān)閉密碼鎖的時候,直接按下鍵盤上的“l(fā)ock”鍵即可鎖定。數(shù)碼管恢復(fù)初始“------”,黃色指示燈亮起。如圖5.5所示:</p><p>&l

58、t;b>  圖5.5</b></p><p>  5.2仿真調(diào)試中遇到的困難及解決方法</p><p>  (1)問題描述:密碼在未輸入6位的情況下,摁下“enter”鍵, 數(shù)碼管顯示“false”,無法返回初始輸入界面“-------”。</p><p>  解決辦法:“enter”鍵跳轉(zhuǎn)時,跳轉(zhuǎn)到開始即可。</p><p&g

59、t;  (2)問題描述:密碼正確輸入,“enter”鍵確認(rèn)后,數(shù)碼管顯示“pass”,這時直接按“clr”鍵,屏幕上顯示“error 1”,并且報警,數(shù)碼管無法恢復(fù)正常狀態(tài)。</p><p>  原因及解決辦法:“clr”的后面跳轉(zhuǎn)不對,需要加一個標(biāo)志位使數(shù)碼管的顯示恢復(fù)“pass”。</p><p>  (3)問題描述:在系統(tǒng)正常運行后,如果密碼鎖被用戶打開,此時用戶可以按下“l(fā)ock”

60、鍵對其重新上鎖,但在運行過程中,雖然系統(tǒng)可以重新上鎖,但會在重新上鎖前,出現(xiàn)報警,并且數(shù)碼管顯示“error 1”。</p><p>  原因及解決辦法:因為系統(tǒng)運行的速度較快,按鍵還沒有復(fù)原,鍵盤的檢測便又一次檢測到了該按鍵,重復(fù)的操作了“l(fā)ock”鍵,系統(tǒng)提示錯誤。所以應(yīng)在檢測按鍵時,等待按鍵的復(fù)原,再進(jìn)行跳轉(zhuǎn)執(zhí)行該按鍵的程序指令。</p><p><b>  結(jié) 論<

61、/b></p><p>  在沒有做畢業(yè)設(shè)計前覺得畢業(yè)設(shè)計只是對所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次課程設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)

62、該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。</p><p>  在這次畢業(yè)設(shè)計中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識。在多人做項目的時候,隊員的交流是非常重要的,是很關(guān)鍵的部分。這次的畢業(yè)設(shè)計也讓我看到了團(tuán)隊的力量,我認(rèn)為我們的工作是一個團(tuán)隊的工作,團(tuán)隊需要個人,個人也離不開團(tuán)隊,必須發(fā)揚團(tuán)結(jié)協(xié)作的精神。剛開始的時候,大家就分配好了各自的任

63、務(wù),大家有的繪制原理圖,進(jìn)行仿真實驗,有的積極查詢相關(guān)資料,并且經(jīng)常聚在一起討論各個方案的可行性。在畢業(yè)設(shè)計中只有一個人知道原理是遠(yuǎn)遠(yuǎn)不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導(dǎo)致整個工作失敗。團(tuán)結(jié)協(xié)作是我們成功的一項非常重要的保證。</p><p>  不管學(xué)會的還是學(xué)不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個結(jié)論:知識必須通過應(yīng)用才

64、能實現(xiàn)其價值!有些東西以為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。程序的設(shè)計思想的精巧的重要性,是不管怎么說都不為過的,好的設(shè)計可以讓大家很快的明白你的思想,而且很方便的來實現(xiàn)它。良好的編程習(xí)慣,它可以使你的程序很方便的被別人閱讀,也很方便的被更改,所以可以的話,盡可能多的寫出注釋,沒有人會閑你寫的太多。</p><p>  在設(shè)計過程中,通過查閱大量有關(guān)資料,與同學(xué)

65、交流經(jīng)驗和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計做的也不太好,但是在設(shè)計過程中所學(xué)到的東西是這次畢業(yè)設(shè)計的最大收獲和財富,使我終身受益。</p><p>

66、;  對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。</p><p><b>  致 謝</b></p><p>  本論文雖然凝聚著自己的汗水,但卻不是個人智慧的產(chǎn)品,沒有父母和朋友的幫助和支持,我在大學(xué)的學(xué)術(shù)成長

67、肯定會大打折扣。當(dāng)我打完畢業(yè)論文的最后一個字符,涌上心頭的不是長途跋涉后抵達(dá)終點的欣喜,而是源自心底的誠摯謝意。我首先要感謝我的導(dǎo)師xx老師,對我的構(gòu)思以及論文的內(nèi)容不厭其煩的進(jìn)行多次指導(dǎo)和悉心指點,周老師多次詢問進(jìn)程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。周老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人,雖歷時三載,卻給以終生受益無窮之道。對x老師的感激之情是無法用言語表達(dá)的,使我在完

68、成論文的同時也深受啟發(fā)和教育。</p><p><b>  學(xué)生簽名:</b></p><p><b>  日 期:</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 郇玉龍.《單片機(jī)實驗教學(xué)仿真系統(tǒng)的設(shè)計與開發(fā)》[M].山東:山東師范大學(xué)

69、出版社, 2008:51-53,59.</p><p>  [2] 李蒙.《基于STC89單片機(jī)的實驗教學(xué)系統(tǒng)》[M].浙江:天津大學(xué)出版社, 2008:36-39.</p><p>  [3] 徐金增.《單片機(jī)編程仿真實驗系統(tǒng)設(shè)計與實現(xiàn)》[M].山東:山東師范大學(xué)出版社, 2009: 26-28.</p><p>  [4] 李力.《雙處理器控制數(shù)字化焊接電源單片

70、機(jī)系統(tǒng)》[M].天津:天津大學(xué)出版社, 2007:18-21.</p><p>  [5] 苑海濤.《變頻調(diào)速液壓電梯單片機(jī)控制器的研究》[M].浙江:浙江大學(xué)出版社, 2006:37-39.</p><p>  [6] 王芹.《單片機(jī)在高樓恒壓供水系統(tǒng)中的應(yīng)用》[M].青島:中國海洋大學(xué)出版社, 2006:37-39,41.</p><p>  [7] 祁娜.《基

71、于單片機(jī)-免疫計數(shù)器自動換樣功能的研究與實現(xiàn)》[M].長安:長安大學(xué)出版社, 2006:10-13.</p><p>  [8] 楊帥.《基于神經(jīng)元芯片和單片機(jī)雙處理器結(jié)構(gòu)LON節(jié)點的研究》[M].哈爾濱:哈爾濱理工大學(xué)出版社, 2008:31-33.</p><p>  [9] 肖洪兵. 《跟我學(xué)用單片機(jī)》[M]. 北京:北京航空航天大學(xué)出版社。2002:08-12</p>

72、<p>  [10] 何立民. 《單片機(jī)高級教程》[M]. 第1版.北京:北京航空航天大學(xué)出版社。2001: 45-46.</p><p>  [11] 余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù)[M].徐州:中國礦業(yè)大學(xué)出版社,2008: 10-22.</p><p>  [12] 張毅剛.MCS51單片機(jī)應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004: 33-35. &l

73、t;/p><p>  [13] 周潤景,張麗娜,丁莉.基于Proteus的電路及單片機(jī)設(shè)計與仿真(第2版)[M].北京:北京航空航天大學(xué)出版社,2003: 49-51 </p><p>  [14] 李廣第等.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001:03-06.</p><p>  [15] 彭為.單片機(jī)典型系統(tǒng)設(shè)計實例精講[M].北京:電子工業(yè)出版社

74、,2006:11-13.</p><p><b>  附錄1 系統(tǒng)電路圖</b></p><p><b>  附錄2系統(tǒng)程序</b></p><p>  #include<reg52.h></p><p>  sbit led_lamp=P3^7;</p><p>

75、;  unsigned char display_count[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7f,0x39,0x3f,0x7b,0x71,0x3f};</p><p>  unsigned char display_bit[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7

76、f};</p><p>  unsigned char hang;</p><p>  unsigned char lie;</p><p>  unsigned char key_number;</p><p>  unsigned char password_number[4]={0x05,0x06,0x07,0x08};</p&g

77、t;<p>  //unsigned char display_number;</p><p>  unsigned char add_bit=0;</p><p>  unsigned char shumaguang_number[8];</p><p>  unsigned int led_count;</p><p>  

78、unsigned char stop_flag;</p><p>  unsigned char scanf_flag=0;</p><p>  unsigned char ret_password_bit;</p><p>  unsigned char password_ret_flag;</p><p>  void delay(uns

79、igned int count) //延時子函數(shù)</p><p><b>  {</b></p><p>  unsigned int k;</p><p>  while(count--)</p><p><b>  {</b></p><p>  for(k=0;

80、k<125;k++)</p><p><b>  ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void timr0_init()//定時中斷初始化子程序</p><p><

81、;b>  {</b></p><p>  TMOD = 0X01;</p><p><b>  TH0=0xd8;</b></p><p><b>  TL0=0xf0;</b></p><p><b>  TF0=0;</b></p><

82、p><b>  ET0=1;</b></p><p><b>  EA = 1;</b></p><p><b>  }</b></p><p>  void INT_timer0()interrupt 1//定時中斷服務(wù)函數(shù)</p><p><b>  {

83、</b></p><p><b>  TH0=0xd8;</b></p><p><b>  TL0=0xf0;</b></p><p>  led_lamp=0;</p><p>  led_count++;</p><p>  if(led_count >

84、; 199)</p><p><b>  {</b></p><p>  led_count = 0;</p><p>  led_lamp=1;</p><p><b>  TR0=0;</b></p><p><b>  }</b></p>

85、;<p><b>  }</b></p><p>  void scankey() //鍵盤掃描子程序</p><p><b>  {</b></p><p><b>  P2=0xf0;</b></p><p>  if((P2&0xf0)

86、!=0xf0)</p><p><b>  {</b></p><p>  switch(P2)</p><p><b>  {</b></p><p>  case 0x70:hang=1;break;</p><p>  case 0xb0:hang=2;break;&l

87、t;/p><p>  case 0xd0:hang=3;break;</p><p>  case 0xe0:hang=4;break;</p><p>  default:break;</p><p><b>  }</b></p><p><b>  delay(5);</b>

88、;</p><p>  P2 = 0x0f;</p><p>  if((P2&0x0f)!=0x0f)</p><p><b>  {</b></p><p>  switch(P2)</p><p><b>  {</b></p><p>

89、  case 0x07:lie=1;break;</p><p>  case 0x0b:lie=2;break;</p><p>  case 0x0d:lie=3;break;</p><p>  case 0x0e:lie=4;break;</p><p>  default:break;</p><p>&l

90、t;b>  }</b></p><p><b>  }</b></p><p>  key_number=((hang-1)*4+lie);</p><p><b>  }</b></p><p><b>  }</b></p><p>

91、;  void key_password_compare()//密碼是否正確子程序</p><p><b>  {</b></p><p>  unsigned char kou_for;</p><p>  if(password_number[0]==shumaguang_number[0])</p><p>&l

92、t;b>  {</b></p><p>  if(password_number[1]==shumaguang_number[1])</p><p><b>  {</b></p><p>  if(password_number[2]==shumaguang_number[2])</p><p>&l

93、t;b>  {</b></p><p>  if(password_number[3]==shumaguang_number[3])</p><p><b>  {</b></p><p><b>  TR0=1;</b></p><p>  scanf_flag=0;</p

94、><p>  stop_flag=0;</p><p>  for(kou_for=0;kou_for<4;kou_for++)</p><p><b>  {</b></p><p>  shumaguang_number[kou_for]=0;</p><p><b>  }<

95、;/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&g

96、t;</p><p>  void display(unsigned char display_strat_init) //初始化顯示子函數(shù)</p><p><b>  {</b></p><p>  unsigned char shaomiao_for;</p><p>  unsigned char bit_for

97、;</p><p>  for(shaomiao_for=0;shaomiao_for<10;shaomiao_for++)</p><p><b>  {</b></p><p>  P0 = display_count[display_strat_init];</p><p>  for(bit_for=0;b

98、it_for<4;bit_for++)</p><p><b>  {</b></p><p>  P1 = display_bit[bit_for];</p><p><b>  delay(1);</b></p><p><b>  }</b></p>

99、<p><b>  }</b></p><p><b>  }</b></p><p>  void KEY_funcation()//密碼輸入子函數(shù)</p><p><b>  {</b></p><p>  if((P2&0xf0)!=0xf0)<

100、;/p><p><b>  {</b></p><p>  add_bit++;</p><p>  if(add_bit>5)</p><p><b>  {</b></p><p>  add_bit=0;</p><p>  stop_flag

101、++;</p><p>  if(stop_flag>2)</p><p><b>  {</b></p><p><b>  while(1);</b></p><p><b>  }</b></p><p><b>  }</b

102、></p><p>  delay(50);</p><p>  switch(add_bit)</p><p><b>  {</b></p><p>  case 1:scanf_flag=1;break;</p><p>  case 2:shumaguang_number[0]=ke

103、y_number;break;</p><p>  case 3:shumaguang_number[1]=key_number;break;</p><p>  case 4:shumaguang_number[2]=key_number;break;</p><p>  case 5:shumaguang_number[3]=key_number;break;&

104、lt;/p><p>  case 6:scanf_flag=1;break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void password_displa

105、y()//密碼輸入顯示子函數(shù)</p><p><b>  {</b></p><p>  unsigned char i;</p><p><b>  {</b></p><p>  for(i = 0; i < 50; i++)</p><p><b>

106、  {</b></p><p>  P0 = display_count[shumaguang_number[0]];</p><p>  P1 = display_bit[0];</p><p><b>  delay(1);</b></p><p>  P0 = display_count[shumag

107、uang_number[1]];</p><p>  P1 = display_bit[1];</p><p><b>  delay(1);</b></p><p>  P0 = display_count[shumaguang_number[2]];</p><p>  P1 = display_bit[2];&

108、lt;/p><p><b>  delay(1);</b></p><p>  P0 = display_count[shumaguang_number[3]];</p><p>  P1 = display_bit[3];</p><p><b>  delay(1);</b></p>

109、<p>  //P0 = display_count[shumaguang_number[4]];</p><p>  //P1 = display_bit[4];</p><p>  //delay(1);</p><p>  //P0 = display_count[shumaguang_number[5]];</p>&l

110、t;p>  //P1 = display_bit[5];</p><p>  //delay(1);</p><p>  //P0 = display_count[shumaguang_number[6]];</p><p>  //P1 = display_bit[6];</p><p>  //delay(1);<

111、/p><p>  //P0 = display_count[shumaguang_number[7]];</p><p>  //P1 = display_bit[7];</p><p>  //delay(1);</p><p><b>  }</b></p><p><b>  

112、}</b></p><p><b>  }</b></p><p>  void password_ret_display() //密碼從設(shè)置顯示子函數(shù)</p><p><b>  {</b></p><p>  unsigned char k;</p><p>

113、  for(k=0;k<10;k++)</p><p><b>  {</b></p><p>  P0 = display_count[password_number[0]];</p><p>  P1 = display_bit[0];</p><p><b>  delay(1);</b&g

114、t;</p><p>  P0 = display_count[password_number[1]];</p><p>  P1 = display_bit[1];</p><p><b>  delay(1);</b></p><p>  P0 = display_count[password_number[2]]

115、;</p><p>  P1 = display_bit[2];</p><p><b>  delay(1);</b></p><p>  P0 = display_count[password_number[3]];</p><p>  P1 = display_bit[3];</p><p&

116、gt;  delay(1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void password_ret()//密碼從設(shè)子函數(shù)</p><p><b>  {</b></p><p>  

117、//unsigned char password_ret_flag;</p><p>  //if(key_number==0x0f)</p><p><b>  //{</b></p><p>  //password_ret_flag=1;</p><p>  //while(password_ret_

118、flag)</p><p><b>  //{</b></p><p>  //password_ret_display();</p><p>  if((P2&0xf0)!=0xf0)</p><p><b>  {</b></p><p>  ret_p

119、assword_bit++;</p><p>  if(ret_password_bit>6)</p><p><b>  {</b></p><p>  ret_password_bit=0;</p><p>  password_ret_flag=0;</p><p><b>

120、  }</b></p><p>  delay(100);</p><p>  switch(ret_password_bit)</p><p><b>  {</b></p><p>  case 1:password_ret_flag=1;break;</p><p>  case

121、 2: password_number[0]=key_number;break;</p><p>  case 3:password_number[1]=key_number;break;</p><p>  case 4:password_number[2]=key_number;break;</p><p>  case 5:password_number[3

122、]=key_number;break;</p><p>  case 6:password_ret_flag=0;break;</p><p>  default:break;</p><p><b>  }</b></p><p><b>  //}</b></p><p

123、><b>  //}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void main() //主函數(shù)</p><p><b>  {</b></p><

124、;p>  timr0_init();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  //led_lamp=0;</p><p>  display(0x08);</p><p>  scankey()

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論