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

下載本文檔

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

文檔簡介

1、<p><b>  目錄 </b></p><p><b>  目錄1</b></p><p><b>  緒論2</b></p><p>  第一章 電子密碼鎖設(shè)計要求及目的3</p><p><b>  1.1設(shè)計要求3</b>&

2、lt;/p><p>  1.2 設(shè)計目的3</p><p>  第二章 系統(tǒng)設(shè)計方案4</p><p>  2.1. 密碼鎖的組成部分4</p><p>  2.2.矩陣式鍵盤的工作原理5</p><p>  2.3.密碼鎖輸入電路各主要功能模塊的設(shè)計6</p><p>  2.3.1 時

3、序產(chǎn)生電路6</p><p>  2.3.2 鍵盤掃描電路7</p><p>  2.3.3 彈跳消除電路7</p><p>  2.3.4 按鍵存儲電路8</p><p>  2.3.5 密碼鎖輸入電路模塊框圖9</p><p>  2.4 密碼鎖控制電路的設(shè)計9</p><p>

4、  2.4.1 數(shù)字按鍵輸入的響應(yīng)控制9</p><p>  2.4.2 功能按鍵輸入的響應(yīng)控制9</p><p>  2.4.3. 密碼控制模塊圖10</p><p>  2.5 密碼鎖顯示電路的設(shè)計10</p><p>  第三章 密碼鎖的整體組裝設(shè)計12</p><p>  第四章 系統(tǒng)仿真13<

5、;/p><p>  4.1鍵盤輸入去抖電路的仿真13</p><p>  4.2密碼鎖輸入電路的仿真13</p><p>  4.3密碼鎖控制電路的仿真14</p><p>  4.4密碼鎖顯示電路七段譯碼器的仿真15</p><p><b>  小結(jié)16</b></p>&l

6、t;p><b>  謝辭17</b></p><p><b>  參考文獻18</b></p><p><b>  附錄19</b></p><p><b>  附錄一19</b></p><p><b>  附錄二21</

7、b></p><p><b>  附錄三24</b></p><p><b>  緒論</b></p><p>  電子密碼鎖的使用體現(xiàn)了人們消費水平、保安意識和科技水平的提高,而且避免了攜帶甚至丟失鑰匙的麻煩。目前設(shè)計密碼鎖的方法很多,例如用傳統(tǒng)的PCB板設(shè)計、用PLC設(shè)計或者用單片機設(shè)計等等。而用VHDL可以更

8、加快速、靈活地設(shè)計出符合各種要求的密碼鎖,優(yōu)于其他設(shè)計方法。VHDL是一種符合IEEE標(biāo)準(zhǔn)的硬件描述語言,其最大的特點是借鑒高級程序設(shè)計語言的功能特性,對電路的行為與結(jié)構(gòu)進行高度抽象化、規(guī)范化的形式描述,并對設(shè)計的不同層次、不同領(lǐng)域的模擬驗證與綜合優(yōu)化等處理,使設(shè)計過程廷到高度自動化。</p><p>  本文介紹一種利用EDA技術(shù)和VHDL語言,在Quartus II環(huán)境下,設(shè)計了一種新型的電子密碼鎖。它體積小

9、、功耗低、價格便宜、安全可靠,維護和升級十分方便,具有較好的應(yīng)用前景。</p><p>  隨著社會物質(zhì)財富的日益增長,安全防盜已成為全社會問題。人們對鎖的要求越來越高,既要安全可靠地防盜,又要使用方便。彈子鎖由于結(jié)構(gòu)上的局限已難以滿足當(dāng)前社會管理和防盜要求,特別是在人員經(jīng)常變動的公共場所,如辦公室、賓館等地方。電子密碼鎖由于其自身的優(yōu)勢,越來越受到人們的青睞,但是目前使用的電子密碼鎖大部分是基于單片機用分離元件

10、實現(xiàn)的,其成本較高且可靠性得不到保證。本文采用先進的EDA技術(shù),利用Quartus II工作平臺和VHDL語言,設(shè)計了一種新型的電子密碼鎖。</p><p>  電子密碼鎖設(shè)計要求及目的</p><p><b>  1.1設(shè)計要求</b></p><p> ?。?)數(shù)碼輸入:每按下一個鍵,就輸入一個數(shù)值,并在數(shù)碼管上的最右方顯示出該數(shù)值,同時將

11、先前輸入的數(shù)據(jù)依序左移一個數(shù)字位置;</p><p>  (2)數(shù)碼清除:按下此鍵可清除前面所有的輸入值,清除成為“0000”,能用Quartus II軟件仿真; </p><p> ?。?)密碼更改:按下此鍵時會將目前的數(shù)字設(shè)定成新的密碼;</p><p> ?。?)激活電鎖:按下此鍵可將密碼鎖上鎖;</p><p> ?。?)解除電鎖:按

12、下此鍵會檢查輸入的密碼是否正確,密碼正確即開鎖。</p><p> ?。?)創(chuàng)新:設(shè)置一個萬能密碼,在主人忘記密碼時使用。</p><p><b>  1.2 設(shè)計目的</b></p><p>  隨著電子技術(shù)的發(fā)展,具有防盜報警等功能的電子密碼鎖代替密碼量少、安全性差的機械式密碼鎖已是必然趨勢。電子密碼鎖與普通機械鎖相比,具有許多獨特的優(yōu)點:

13、保密性好,防盜性強,可以不用鑰匙,記住密碼即可開鎖等。</p><p>  本課程設(shè)計主要是基于VHDL文本輸入法設(shè)計電子密碼鎖,隨著社會物質(zhì)財富的日益增長,安全防盜已成為全社會關(guān)注的問題?;贓DA技術(shù)設(shè)計的電子密碼鎖,以其價格便宜、安全可靠、使用方便,受到了人們的普遍關(guān)注。而以現(xiàn)場可編程邏輯器件(FPGA)為設(shè)計載體,以硬件描述語言(VHDE)為主要表達方式,以QuartusⅡ開發(fā)軟件和GW48EDA開發(fā)系統(tǒng)

14、為設(shè)計工具設(shè)計的電子密碼鎖,由于其能夠?qū)崿F(xiàn)數(shù)碼輸入、數(shù)碼清除、密碼解除、密碼更改、密碼上鎖和密碼解除等功能,因此,能夠滿足社會對安全防盜的要求。</p><p>  電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價比較高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。其性能和安全性已大大超

15、過了機械鎖,其特點如下:</p><p>  1.保密性好,編碼量多,遠遠大于彈子鎖。隨機開鎖成功率幾乎為零。</p><p>  2.密碼可變。 用戶可以經(jīng)常更改密碼,防止密碼被盜,同時也可以避免因人員的更替而使鎖的密級下降。</p><p>  3.誤碼輸入保護。當(dāng)輸入密碼多次錯誤時,報警系統(tǒng)自動啟動。</p><p>  4. 電子密碼

16、鎖操作簡單易行。</p><p>  第二章 系統(tǒng)設(shè)計方案</p><p>  2.1. 密碼鎖的組成部分</p><p>  作為通用電子密碼鎖,主要由三個部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。</p><p>  根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實現(xiàn)各項數(shù)字密碼鎖功能的具體要求,整個電子密碼鎖系統(tǒng)的總體組成

17、框圖如圖2.1所示。</p><p>  (1) 密碼鎖輸入電路包括時序產(chǎn)生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤譯碼電路等幾個小的功能電路。</p><p>  (2) 密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲電路,密碼的清除、變更、存儲、激活電鎖電路(寄存器清除信號發(fā)生電路),密碼核對(數(shù)值比較電路),解鎖電路(開/關(guān)門鎖電路)等幾個小的功能電路。</p>

18、;<p>  (3) 七段數(shù)碼管顯示電路主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動編碼。</p><p>  圖2.1 數(shù)字電子密碼鎖系統(tǒng)總體框圖</p><p>  電子密碼鎖的輸入電路框圖是由鍵盤掃描電路、彈跳消除電路、鍵盤譯碼電路、按鍵數(shù)據(jù)緩存器,加上外接的一個3×4矩陣式鍵盤組成。如圖2.2。</p><p> 

19、 圖2.2電子密碼鎖的輸入電路框圖</p><p>  2.2.矩陣式鍵盤的工作原理</p><p>  矩陣式鍵盤是一種常見的輸入裝置,在日常的生活中,矩陣式鍵盤在計算機、電話、手機、微波爐等各式電子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。圖2.3是一個3×4矩陣式鍵盤的面板配置圖,其中數(shù)字0~9作為密碼數(shù)字輸入按鍵,*作為“上鎖”功能按鍵,#作為“解鎖/清除”功能按鍵。</p>

20、<p>  在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的

21、。   矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程方法如下所述。 </p><p>  矩陣式鍵盤中,行、列線分別連

22、接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定。這一點是識別矩陣按鍵是否被按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來作適當(dāng)處理,才能確定閉合鍵的位置。 </p><p>  圖2.3

23、0; 3×4矩陣式鍵盤的面板配</p><p>  表2.1. 行掃描信號、列按鍵輸入信號與按鍵位置的關(guān)系</p><p>  2.3.密碼鎖輸入電路各主要功能模塊的設(shè)計 </p><p>  2.3.1 時序產(chǎn)生電路</p><p>  時序電路,它是由最基本的邏輯門電路加上反饋邏輯回路(輸出到輸入)或器件組合而成的電

24、路,與組合電路最本質(zhì)的區(qū)別在于時序電路具有記憶功能。時序電路的特點是:輸出不僅取決于當(dāng)時的輸入值,而且還與電路過去的狀態(tài)有關(guān)。它類似于含儲能元件的電感或電容的電路,如觸發(fā)器、鎖存器、計數(shù)器、移位寄存器、儲存器等電路都是時序電路的典型器件。 </p><p>  雖然組合邏輯電路能夠很好地處理像加、減等這樣的操作,但是要單獨使用組合邏輯電路,使操作按照一定的順序執(zhí)行,需要串聯(lián)起許多組合邏輯電路,而要通過硬件實現(xiàn)這種

25、電路代價是很大的,并且靈活性也很差。為了實現(xiàn)一種有效而且靈活的操作序列,我們需要構(gòu)造一種能夠存儲各種操作之間的信息的電路,我們稱這種電路為時序電路。</p><p>  本時序產(chǎn)生電路中使用了三種不同頻率的工作脈沖波形:系統(tǒng)時鐘脈沖(它是系統(tǒng)內(nèi)部所有時鐘脈沖的源頭,且其頻率最高)、彈跳消除取樣信號、鍵盤掃描信號。</p><p>  2.3.2 鍵盤掃描電路</p><

26、p>  鍵盤一般有獨立式和行列式(矩陣式)兩種。當(dāng)然還有其它的結(jié)構(gòu),比如交互式結(jié)構(gòu)等等,不過其它的結(jié)構(gòu)比較少用,在這里就不介紹了。在中穎的單片機中,有些單片機的LCD驅(qū)動引腳的SEGMENT口可以共享按鍵掃描口,當(dāng)選擇為按鍵掃描口時,可以使用這些口來掃描按鍵,所以在外部電路可以連接LCD和按鍵矩陣,采用分時掃描進行處理,下面也將介紹這個特殊應(yīng)用的方法和注意的地方。</p><p>  掃描電路的作用是用來提

27、供鍵盤掃描信號(表4.1中的KY3~KY0)的,掃描信號變化的順序依次為1110-1101-1011-0111-1110......依序地周而復(fù)始。</p><p>  上述鍵盤中的按鍵可分為數(shù)字按鍵和文字按鍵,每一個按鍵可能負責(zé)不同的功能,例如清除數(shù)碼、退位、激活電鎖、開鎖等,詳細功能參見表1.3。 </p><p>  表2.3 鍵盤參數(shù)表</p><p> 

28、 2.3.3 彈跳消除電路</p><p>  按鍵開關(guān)的典型連線分為低電平有效和高電平有效,本文的是低電平有效。 機械開關(guān)的抖動存在三種情況按下時有抖動,松開時也有抖動,按下時有抖動松開時無抖動,按下時無抖動松開時有抖動。機械開關(guān)的抖動波形、抖動次數(shù)、抖動時間都是隨機的,并不是每次都會產(chǎn)生抖動。不同開關(guān)的最長抖動時間也不同。抖動時間的長短和機械開關(guān)特性有關(guān),一般為5ms到10ms。但是某些開關(guān)的抖動時間長達20

29、ms甚至更長。所以在具體設(shè)計中要具體分析根據(jù)實際情況來調(diào)整設(shè)計。彈跳現(xiàn)象以及彈跳消除如圖所示,雖然只是按下按鍵一次后放掉。結(jié)果在按鍵信號穩(wěn)定先后竟出現(xiàn)了多個段脈沖。如果將這樣的信號直接送到計數(shù)器之類的時序電路,結(jié)果將可能發(fā)生計數(shù)超過一次以上的誤動作,從而誤以為鍵盤按了多次。因此必須加上彈跳消除電路除去短脈沖避免誤操作的發(fā)生</p><p>  彈跳消除電路的實現(xiàn)原理如圖1.6所示,先將鍵盤的輸入信號D_IN做為電

30、路的輸入信號,CLK是電路的時鐘脈沖信號,也就是取樣信號,D_IN經(jīng)過兩級D觸發(fā)器延時后再使用RS觸發(fā)器處理。</p><p>  此處RS觸發(fā)器的前端連接和非門的處理原則是:</p><p>  (1) 因為一般人的按鍵速度至多是10次/秒,亦即一次按鍵時間是100 ms,所以按下的時間可估算為50 ms。以取樣信號CLK的周期為8 ms計,則可以

31、取樣到6次。 </p><p>  (2) 對于不穩(wěn)定的噪聲,在4 ms以下則至多抽樣一次。</p><p>  (3) 在觸發(fā)器之前,接上AND-NOT之后,SR的組態(tài)如表1.2所示。</p><p>  圖2.6 彈跳消除電路的內(nèi)部實現(xiàn)原理圖</p><p>  表2.2 RS觸發(fā)器真值表

32、</p><p>  2.3.4 按鍵存儲電路 </p><p>  因為每次掃描會產(chǎn)生新的按鍵數(shù)據(jù),可能會覆蓋前面的數(shù)據(jù),所以需要一個按鍵存儲電路,將整個鍵盤掃描完畢后的結(jié)果記錄下來。按鍵存儲電路可以使用</p><p>  移位寄存器構(gòu)成。常見的移位寄存器的下列四種:串行輸入/串行輸出(SISO),串行輸入/并行輸出(SIPO),并行輸入/串行輸出(PISO),

33、并行輸入/并行輸出(PIPO)。 </p><p>  2.3.5 密碼鎖輸入電路模塊框圖</p><p>  輸入電路引腳圖如下圖所示,圖中CLK_1K為系統(tǒng)原始時鐘脈沖(1 kHz)</p><p>  KEY_IN為鍵盤按鍵輸入,CLK_SCAN為鍵盤掃描序列輸出,DATA_N:數(shù)字輸出功能,DATA_F:功能輸出,F(xiàn)LAG_N為數(shù)字輸出標(biāo)志,F(xiàn)LAG_F為功

34、能輸出(上鎖及開鎖)標(biāo)志,CLK_CTR是控制電路工作時鐘信號,CLK_DEBOUNCE是去抖電路工作時鐘信號,大約125 Hz 。</p><p>  圖2.7. 密碼輸入模塊框圖</p><p>  2.4 密碼鎖控制電路的設(shè)計</p><p>  密碼鎖的控制電路是整個電路的控制中心,主要完成對數(shù)字按鍵輸入和功能按鍵輸入的響應(yīng)控制。</p>&l

35、t;p>  2.4.1 數(shù)字按鍵輸入的響應(yīng)控制</p><p>  如果輸入數(shù)字鍵,第一個數(shù)字會從顯示器的最右端開始顯示,此后每新按一個數(shù)字時,顯示器上的數(shù)字必須往左移動一位。若想要更改輸入的數(shù)字,可按退格鍵來清除前一個輸入的數(shù)字,或按清除鍵清除輸入的所有數(shù)字,再重新輸入 4位數(shù)字。既然設(shè)計的是四位電子密碼鎖,當(dāng)輸入的數(shù)字鍵超過 4位時,電路不應(yīng)理會。 </p><p> ?。?)如

36、果按下數(shù)字鍵,第一個數(shù)字會從顯示器的最右端開始顯示,此后每新按一個數(shù)字時,顯示器上的數(shù)字必須左移一格,以便將新的數(shù)字顯示出來。 (2)假如要更改輸入的數(shù)字,可以按倒退按鍵來清除前一個輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。</p><p> ?。?) 由于這里設(shè)計的是一個四位的電子密碼鎖,所以當(dāng)輸入的數(shù)字鍵超過四個時,電路不予理會,而且不再顯示第四個以后的數(shù)字。<

37、/p><p>  2.4.2 功能按鍵輸入的響應(yīng)控制</p><p><b>  控制功能如下:</b></p><p>  (1) 清除鍵:清除所有的輸入數(shù)字,即做歸零動作。</p><p> ?。?) 激活電鎖鍵:按下此鍵時可將密碼鎖的門上鎖。(上鎖前必須預(yù)先設(shè)定一個四位的數(shù)字密碼。</p>

38、;<p> ?。?) 解除電鎖鍵:按下此鍵會檢查輸入的密碼是否正確,若密碼正確無誤則開門。 </p><p>  圖2.8電子密碼鎖的三種模式及關(guān)系</p><p>  2.4.3. 密碼控制模塊圖</p><p>  模塊引腳如下圖所示:圖中DATA_N[3..0]:4位行輸入.DATA_N[3..0]:為4位列掃描輸出,F(xiàn)LAG_

39、N和FLAG_F則對應(yīng)ENLOCK實現(xiàn)清除/上鎖功能,CLK為全局時鐘信號,DATA_BCD[15..0]為輸出16位BCD碼,經(jīng)譯碼器后轉(zhuǎn)換為4位密碼輸出。</p><p>  圖2.9.密碼控制模塊圖</p><p>  2.5 密碼鎖顯示電路的設(shè)計</p><p>  密碼鎖顯示電路的設(shè)計比較簡單,這里直接采用四個4-7譯碼器來實現(xiàn)。BCD---七段顯示譯碼器

40、(74LS48) 1)輸入:8421BCD碼,用A3 A2 A1 A0表示(4位)。 2)輸出:七段顯示,用Ya ~ Yg 表示(7位) </p><p>  圖中A[3..0]為按鍵輸入在經(jīng)過去抖電路后的的BCD碼的高4位輸入數(shù)值,經(jīng)過4-7譯碼器譯碼后輸出0~9之間的數(shù)值,因為輸入為16位的BCD碼,而每一個譯碼器僅4位輸入,故一共需要4個譯碼器來實現(xiàn)密碼鎖顯示電路的設(shè)計。譯碼器引腳如下圖所示:&l

41、t;/p><p>  圖2.10. 七段譯碼器輸入輸出引腳圖</p><p>  第三章 密碼鎖的整體組裝設(shè)計</p><p>  根據(jù)系統(tǒng)設(shè)計要求,系統(tǒng)設(shè)計采用自頂向下的設(shè)計方法。頂層設(shè)計采用原理圖設(shè)計方式,系統(tǒng)的整體組裝設(shè)計原理圖如圖3-1所示,它由密碼鎖輸入模塊、密碼鎖控制模塊和密碼鎖顯示譯碼模塊三部分組成。</p><p>  將前面各

42、個設(shè)計好的功能模塊進行整合,可得到一個完整的電子密碼鎖系統(tǒng)的整體組裝設(shè)計原理圖,如圖所示。</p><p>  如下圖所示為系統(tǒng)設(shè)計原理圖,圖中CLK為輸入信號系統(tǒng)原始時鐘脈沖(1 kHz),KEY_IN[2..0]為按鍵輸入信號,即當(dāng)有鍵按下時時鐘脈沖信號檢測到有信號輸入,KEYBOARD模塊對輸入信號進行鍵盤掃描處理,判斷按下的是數(shù)字鍵還是功能鍵,每次的輸入數(shù)值都會通過七段譯碼器顯示結(jié)果,最后在核定密碼真確后

43、則開鎖。</p><p>  圖3.1密碼鎖的整體組裝設(shè)計</p><p><b>  第四章 系統(tǒng)仿真</b></p><p>  該密碼鎖利用Quartus Ⅱ工作平臺進行編譯和綜合仿真,將程序下載FLEX10K芯片中,同時在EDA試驗箱上進行硬件驗證。本文提出的電子密碼鎖由于采用VHDL語言設(shè)計,用一片F(xiàn)PGA實現(xiàn),因而體積小,功耗低,稍

44、加修改就可以改變密碼的位數(shù)和輸入密碼的次數(shù),具有較好的應(yīng)用前景。但由于結(jié)構(gòu)還比較簡單,有待進一步完善。</p><p>  4.1鍵盤輸入去抖電路的仿真</p><p>  對去抖電路源程序用Quartus Ⅱ10.0進行時序仿真,得到仿真圖如下:</p><p>  圖中輸出信號QQ0,QQ1,D_OUT1,DD0,DD1是為便于仿真時觀察中間結(jié)果而增加的觀測點的

45、輸出,可以在程序中去掉,CLK為時鐘脈沖</p><p>  信號,當(dāng)檢測到有鍵按下時,即D_IN為高電平時接觸點出現(xiàn)信號來回彈跳的現(xiàn)象。</p><p>  圖4.1 鍵盤輸入去抖電路DEBOUNCING.VHD的仿真結(jié)果圖</p><p><b>  程序見附錄一</b></p><p>  4.2密碼鎖輸入電路的仿

46、真</p><p>  對密碼鎖輸入電路源程序用Quartus Ⅱ10.0進行時序仿真,得到仿真圖如下:</p><p>  圖4.2輸入電路仿真結(jié)果圖</p><p>  說明:1、鍵盤譯碼電路除了負責(zé)將鍵盤送出的數(shù)據(jù)進行譯碼外,另外就是在譯碼的同時,必須判別所按下的是數(shù)字鍵還是功能鍵。</p><p>  2、若為數(shù)字鍵,則flag_nu

47、mb=1,且out_num 輸出BCD 碼顯示電路。</p><p>  3、若為功能鍵,則flag_func=1,且out_func 輸出4 位碼,并送往電鎖控制電路。</p><p>  4、對密碼鎖輸入模塊仿真如下圖:圖中的輸出信號CLK_SCAN,C_DEBOUNCE是為便于仿真時觀察中間結(jié)果而增加的觀測點的輸出,F(xiàn)LAG_N為數(shù)字輸出標(biāo)志,當(dāng)輸入為數(shù)字時為高電平,DATA_F為功

48、能輸出(4位),F(xiàn)LAG_F為功能輸出標(biāo)志當(dāng)按鍵輸入為退格鍵或確認鍵時為高電平輸出,DATA_N為數(shù)字輸出,即在數(shù)字輸出標(biāo)志為高電平時確認輸出數(shù)值。</p><p><b>  程序見附錄二</b></p><p>  4.3密碼鎖控制電路的仿真</p><p>  對密碼鎖控制電路源程序用Quartus Ⅱ10.0進行時序仿真,得到仿真圖如下

49、:</p><p>  圖4.3密碼鎖控制電路仿真結(jié)果圖</p><p>  對密碼控制電路模塊進行時序仿真如上圖: FLAG_N為數(shù)字輸出標(biāo)志,高電平時確認輸出數(shù)字,F(xiàn)LAG_F為功能輸出標(biāo)志,密碼控制模塊根據(jù)4位按鍵輸入在判斷其為功能輸入還是數(shù)字輸入后輸出16位BCD碼。</p><p><b>  程序見附錄三</b></p>

50、<p>  4.4密碼鎖顯示電路七段譯碼器的仿真</p><p>  對密碼鎖顯示電路七段譯碼器源程序用Quartus Ⅱ10.0進行時序仿真,得到仿真圖如下:</p><p>  對七段數(shù)碼顯示譯碼器源程序仿真如下圖,執(zhí)行功能如下:將輸入的BCD碼的高4位進行轉(zhuǎn)換,如圖中輸入為1011時,輸出7C;輸入為1000時,輸出為7F。</p><p>&l

51、t;b>  程序見附錄四</b></p><p>  圖4.4 七段數(shù)碼顯示譯碼器仿真波形</p><p><b>  小結(jié)</b></p><p>  通過兩星期的緊張工作,最后完成了我的設(shè)計任務(wù)——基于VHDL語言的電子密碼鎖設(shè)計。通過本次課程設(shè)計的學(xué)習(xí),我深深的體會到設(shè)計課的重要性和目的性所在。本次設(shè)計課不僅僅培養(yǎng)了我們

52、實際操作能力,也培養(yǎng)了我們靈活運用課本知識,理論聯(lián)系實際,獨立自主的進行設(shè)計的能力。它不僅僅是一個學(xué)習(xí)新知識新方法的好機會,同時也是對我所學(xué)知識的一次綜合的檢驗和復(fù)習(xí),使我明白了自己的缺陷所在,從而查漏補缺。希望學(xué)校以后多安排一些類似的實踐環(huán)節(jié),讓同學(xué)們學(xué)以致用。</p><p>  在設(shè)計中要求我要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤就會導(dǎo)致結(jié)果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次

53、設(shè)計和設(shè)計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設(shè)計工作會有一定的幫助。在應(yīng)用VHDL的過程中讓我真正領(lǐng)會到了其并行運行與其他軟件(C語言)順序執(zhí)行的差別及其在電路設(shè)計上的優(yōu)越性。用VHDL硬件描述語言的形式來進行數(shù)字系統(tǒng)的設(shè)計方便靈活,利用EDA軟件進行編譯優(yōu)化仿真極大地減少了電路設(shè)計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計方法必將在未來的數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用。</p><p>

54、;  此次的設(shè)計是參考了《EDA技術(shù)實驗與課程設(shè)計》里的程序,不過由于程序里面出現(xiàn)了不少的語法錯誤,使得在編譯時出現(xiàn)了20多個錯誤,不過在看過書后,細心地檢查過程序后方能糾正過來。在糾正的過程中獲益良多。 在EDA軟件平臺上,用硬件描述語言VHDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。感覺EDA還是很有研究價值的,能大大的

55、減少設(shè)計者的工作量。</p><p><b>  謝辭</b></p><p>  在此次課程設(shè)計中,非常感謝**老師對我的指導(dǎo)與大力的幫助。</p><p>  課程設(shè)計的完成,還要感謝老師給我們提供的各種參考文獻,在老師的嚴(yán)格要求下,這次的實際操作讓我學(xué)到了很多從書本上學(xué)不到卻終身受益的知識,良好的學(xué)習(xí)習(xí)慣,端正的學(xué)習(xí)態(tài)度。這為我以后的學(xué)習(xí)

56、和工作打下了良好的基礎(chǔ),更好的去面對社會,適應(yīng)社會。在此特別感謝老師一學(xué)年來對我們的的耐心教學(xué)及環(huán)環(huán)引導(dǎo)讓我們對高頻電子線路設(shè)計的學(xué)習(xí)變得生動有趣!</p><p><b>  參考文獻</b></p><p>  [1]盧毅,賴杰.《VHDL與數(shù)字電路設(shè)計》.北京:科學(xué)出版社. 2002.3</p><p>  [2]潘松、黃繼業(yè).EDA技術(shù)

57、與VHDL. 北京:清華大學(xué)出版社. 2006.7</p><p>  [3]朱正偉.《EDA技術(shù)及應(yīng)用》.北京:清華大學(xué)出版社. 2005.10</p><p>  [4]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京市西城區(qū):高等教育出版社.2008.12</p><p>  [5]謝自美.電子線路設(shè)計實驗測試[Z].武漢:華中科技大學(xué)出版社.2006.9</p>

58、;<p><b>  附錄</b></p><p><b>  附錄一</b></p><p>  鍵盤輸入去抖電路的VHDL源程序:</p><p>  --DEBOUNCING.VHD</p><p>  LIBRARY IEEE; </p><p>  U

59、SE IEEE.STD_LOGIC_1164.ALL; </p><p>  LIBRARY ALTERA; </p><p>  USE ALTERA.MAXPLUS2.ALL;</p><p>  ENTITY DEBOUNCING IS</p><p>  PORT(D_IN, CLK: IN STD_LOGIC; </p>

60、<p>  DD1, DD0, QQ1, QQ0 : OUT STD_LOGIC; </p><p>  D_OUT, D_OUT1: OUT STD_LOGIC ); </p><p>  END ENTITY DEBOUNCING ; </p><p>  ARCHITECTURE ART OF DEBOUNCING IS</p>

61、<p>  COMPONENT DCFQ IS</p><p>  PORT(CLK, CLRN, PRN, D: IN STD_LOGIC; </p><p>  Q: OUT STD_LOGIC); </p><p>  END COMPONENT DCFQ; </p><p>  SIGNAL VCC, INV_D : ST

62、D_LOGIC ; </p><p>  SIGNAL Q0, Q1 : STD_LOGIC ; </p><p>  SIGNAL D1, D0 : STD_LOGIC ; </p><p><b>  BEGIN</b></p><p>  VCC <= '1' ; </p>

63、<p>  INV_D <= NOT D_IN ;</p><p>  U1: DCFQ PORT MAP (CLK => CLK, CLRN => INV_D, PRN => VCC, D =>VCC , Q => Q0); </p><p>  U2: DCFQ PORT MAP (CLK => CLK, CLRN => Q

64、0, PRN => VCC, D =>VCC , Q => Q1); </p><p>  PROCESS (CLK)</p><p><b>  BEGIN</b></p><p>  IF CLK'EVENT AND CLK='1' THEN</p><p>  D0 <

65、;= NOT Q1; </p><p>  D1 <= D0; </p><p><b>  END IF ;</b></p><p>  END PROCESS ; </p><p>  DD0 <= D0; DD1 <= D1; QQ1 <= Q1; QQ0 <= Q0;

66、 </p><p>  D_OUT <= NOT (D1 AND NOT D0); </p><p>  D_OUT1 <= NOT Q1 ; </p><p>  END ARCHITECTURE ART; </p><p>  --DCFQ.VHD</p><p>  LIBRARY IEEE; <

67、;/p><p>  USE IEEE.STD_LOGIC_1164.ALL; </p><p>  ENTITY DCFQ IS</p><p>  PORT(CLK, CLRN, PRN, D: IN STD_LOGIC; </p><p>  Q: OUT STD_LOGIC);</p><p>  END ENTIT

68、Y DCFQ ; </p><p>  ARCHITECTURE ART OF DCFQ IS</p><p><b>  BEGIN</b></p><p>  PROCESS (CLK, CLRN, PRN)</p><p><b>  BEGIN</b></p><p>

69、;  IF CLRN='0' AND PRN='1' THEN</p><p><b>  Q<='0'; </b></p><p>  ELSIF CLRN='1' AND PRN='0' THEN</p><p><b>  Q<='

70、;1'; </b></p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p><b>  Q <=D; </b></p><p><b>  END IF ; </b></p><p>  END PR

71、OCESS ; </p><p>  END ARCHITECTURE ART; </p><p><b>  附錄二</b></p><p>  密碼鎖輸入電路的VHDL源程序:</p><p>  --KEYBOARD.VHD</p><p>  LIBRARY IEEE; </p>

72、;<p>  USE IEEE.STD_LOGIC_1164.ALL; </p><p>  USE IEEE.STD_LOGIC_ARITH.ALL ; </p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL ; </p><p>  ENTITY KEYBOARD IS</p><p>  P

73、ORT (CLK_1K: IN STD_LOGIC ; </p><p>  --系統(tǒng)原始時鐘脈沖(1 kHz)</p><p>  KEY_IN: IN STD_LOGIC_VECTOR (2 DOWNTO 0); --按鍵輸入</p><p>  CLK_SCAN: OUT STD_LOGIC_VECTOR

74、 (3 DOWNTO 0) ; </p><p>  --( 仿真時用)鍵盤掃描序列</p><p>  DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; --數(shù)字輸出</p><p>  DATA_F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; --功能輸出</p><p

75、>  FLAG_N: OUT STD_LOGIC ; --數(shù)字輸出標(biāo)志</p><p>  FLAG_F: OUT STD_LOGIC ; --功能輸出標(biāo)志</p><p>  CLK_CTR: OUT STD_LOGIC; --控制電路工作時鐘信號</p><p>  CLK_DEBOUNCE: OUT STD_LOGIC;

76、--(仿真時用)去抖電路工作時鐘信號</p><p><b>  ); </b></p><p>  END ENTITY KEYBOARD ; </p><p>  ARCHITECTURE ART OF KEYBOARD IS</p><p>  COMPONENT DEBOUNCING IS</p>

77、<p>  PORT(D_IN: IN STD_LOGIC ; </p><p>  CLK: IN STD_LOGIC ; </p><p>  D_OUT: OUT STD_LOGIC ) ; </p><p>  END COMPONENT DEBOUNCING; </p><p>  SIGNAL CLK: STD_LOG

78、IC ; --電路工作時鐘脈沖</p><p>  SIGNAL C_KEYBOARD: STD_LOGIC_VECTOR(1 DOWNTO 0); </p><p>  --鍵掃信號“00-01-10-11”寄存器</p><p>  SIGNAL C_DEBOUNCE: STD_LOGIC ; </p><p>&l

79、t;b>  --去抖時鐘信號</b></p><p>  SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0) ; </p><p>  --鍵盤輸入去抖后的寄存器</p><p>  SIGNAL N , F: STD_LOGIC_VECTOR(3 DOWNTO 0) ; </p><p> 

80、 --數(shù)字、功能按鍵譯碼值的寄存器</p><p>  SIGNAL FN , FF: STD_LOGIC ; </p><p>  --數(shù)字、功能按鍵標(biāo)志值數(shù)字、功能按鍵</p><p>  SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0) ; </p><p><b>  BEGIN&

81、lt;/b></p><p><b>  --內(nèi)部連接</b></p><p>  DATA_N <= N ; </p><p>  DATA_F <= F ; </p><p>  FLAG_N <= FN ; </p><p>  FLAG_F <= FF ;

82、 </p><p>  CLK_CTR <= CLK ; </p><p>  --掃描信號發(fā)生器 </p><p>  COUNTER : BLOCK IS</p><p>  SIGNAL Q: STD_LOGIC_VECTOR(5 DOWNTO 0); </p><p>  SIGNAL SEL

83、: STD_LOGIC_VECTOR (3 DOWNTO 0); </p><p>  --1110-1101-1011-0111 </p><p><b>  BEGIN</b></p><p>  PROCESS (CLK_1K) IS </p><p><b>  BEGIN<

84、/b></p><p>  IF CLK_1K'EVENT AND CLK_1K ='1' THEN</p><p>  Q <= Q+1; </p><p><b>  END IF; </b></p><p>  C_DEBOUNCE <= Q(2) ; --去抖時鐘

85、信號, 大約125 Hz </p><p>  C_KEYBOARD <= Q(2 DOWNTO 1) ; </p><p>  -- 產(chǎn)生鍵掃信號***“00-01-10-11”, 大約16 Hz</p><p>  --C_DEBOUNCE <= Q(1) ; --仿真時用 </p><p>  --C_KEY

86、BOARD <= Q(5 DOWNTO 4) ; --仿真時用</p><p>  CLK <= Q(0) ; </p><p>  END PROCESS; </p><p>  CLK_DEBOUNCE<=C_DEBOUNCE; </p><p>  SEL <= "1110&quo

87、t; WHEN C_KEYBOARD=0 ELSE</p><p>  "1101" WHEN C_KEYBOARD=1 ELSE</p><p>  "1011" WHEN C_KEYBOARD=2 ELSE</p><p>  "0111" WHEN C_KEYBOARD=3 ELSE</p>

88、;<p><b>  "1111"; </b></p><p>  CLK_SCAN <= SEL ; </p><p>  END BLOCK COUNTER ; </p><p><b>  --鍵盤去抖</b></p><p>  DEBOUNUING

89、: BLOCK IS</p><p><b>  BEGIN</b></p><p>  U1: DEBOUNCING PORT MAP (D_IN => KEY_IN(0) , D_OUT => C(0), </p><p>  CLK => C_DEBOUNCE); </p><p>  U2: D

90、EBOUNCING PORT MAP (D_IN => KEY_IN(1) , D_OUT => C(1), </p><p>  CLK => C_DEBOUNCE); </p><p>  U3: DEBOUNCING PORT MAP (D_IN => KEY_IN(2) , D_OUT => C(2), </p><p>  C

91、LK => C_DEBOUNCE ); </p><p>  END BLOCK DEBOUNUING ; </p><p><b>  --鍵盤譯碼</b></p><p>  KEY_DECODER : BLOCK </p><p>  SIGNAL Z : STD_LOGIC_VECTOR(4 DOWNTO

92、 0) ; --按鍵位置</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK)</p><p><b>  BEGIN</b></p><p>  Z <= C_KEYBOARD & C ; </p><p>  I

93、F CLK'EVENT AND CLK = '1' THEN</p><p><b>  CASE Z IS</b></p><p>  WHEN "11101" => N <= "0000" ; --0</p><p>  WHEN "00011&q

94、uot; => N <= "0001" ; --1</p><p>  WHEN "00101" => N <= "0010" ; --2</p><p>  WHEN "00110" => N <= "0011" ; --3</p>

95、;<p>  WHEN "01011" => N <= "0100" ; --4</p><p>  WHEN "01101" => N <= "0101" ; --5</p><p>  WHEN "01110" => N <= &

96、quot;0110" ; --6</p><p>  WHEN "10011" => N <= "0111" ; --7</p><p>  WHEN "10101" => N <= "1000" ; --8</p><p>  WHEN &

97、quot;10110" => N <= "1001" ; --9</p><p>  WHEN OTHERS => N <= "1111" ; </p><p>  END CASE ; </p><p><b>  END IF ; </b></p>

98、<p>  IF CLK'EVENT AND CLK = '1' THEN</p><p>  CASE Z IS</p><p>  WHEN "11011" => F <= "0100" ; --*_LOCK</p><p>  WHEN "11110&qu

99、ot; => F <= "0001" ; --#_UNLOCK</p><p>  WHEN OTHERS => F <= "1000" ; </p><p>  END CASE ; </p><p><b>  END IF ; </b></p>&

100、lt;p>  END PROCESS ; </p><p>  FN <= NOT ( N(3) AND N(2) AND N(1) AND N(0) ) ; </p><p>  FF <= F(2) OR F(0) ; </p><p>  END BLOCK KEY_DECODER ; </p><p>  END A

101、RCHITECTURE ART;</p><p><b>  附錄三</b></p><p>  密碼鎖控制電路的VHDL源程序:</p><p>  --CTRL.VHD</p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD

102、_LOGIC_1164.ALL; </p><p>  USE IEEE.STD_LOGIC_ARITH.ALL; </p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p>  ENTITY CTRL IS</p><p> 

103、 PORT (DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0); </p><p>  DATA_F: IN STD_LOGIC_VECTOR(3 DOWNTO 0); </p><p>  FLAG_N: IN STD_LOGIC

104、; </p><p>  FLAG_F: IN STD_LOGIC; </p><p>  CLK: IN STD_LOGIC;  </p><p>  ENLOCK: OUT STD_LOGIC;  --1: LOCK, 0:

105、 UNLOCK</p><p>  DATA_BCD: OUT STD_LOGIC_VECTOR (15 DOWNTO 0)); </p><p>  END ENTITY CTRL ; </p><p>  ARCHITECTURE ART

106、60;OF CTRL IS</p><p>  SIGNAL ACC, REG: STD_LOGIC_VECTOR (15 DOWNTO 0); </p><p>  --ACC用于暫存鍵盤輸入的信息,REG用于存儲輸入的密碼</p><p>  SIGNAL NC:

107、 STD_LOGIC_VECTOR (2 DOWNTO 0); </p><p>  SIGNAL RR2, CLR, BB, QA, QB: STD_LOGIC; </p><p>  SIGNAL R1, R0: STD_LOGIC;&#

108、160;</p><p><b>  BEGIN</b></p><p>  --寄存器清零信號的產(chǎn)生進程</p><p>  PROCESS(CLK)</p><p><b>  BEGIN</b></p><p>  IF CLK'EVENT 

109、AND CLK='1' THEN</p><p>  R1<=R0; R0<=FLAG_F; </p><p><b>  END IF; </b></p><p>  RR2<=R1 AND NOT R0; &

110、lt;/p><p>  CLR<=RR2; </p><p>  END PROCESS; </p><p>  --按鍵輸入數(shù)據(jù)的存儲、清零進程</p><p>  KEYIN_PROCESS : BLOCK IS</p><p>  SIGNAL

111、0;RST, D0, D1: STD_LOGIC ;  </p><p><b>  BEGIN </b></p><p>  RST  <= RR2; </p><p>  PROCESS(FLAG_N, RST) I

112、S</p><p><b>  BEGIN</b></p><p>  IF RST = '1' THEN </p><p>  ACC <= "0000000000000000" ;   --

113、CLEAR INPUT</p><p>  NC <= "000" ; </p><p><b>  ELSE</b></p><p>  IF  FLAG_N'EVENT AND FLAG_N = &

114、#39;1'  THEN </p><p>  IF NC < 4 THEN</p><p>  ACC <= ACC(11 DOWNTO 0) & DATA_N ; </p><p>  

115、NC <= NC + 1 ; </p><p><b>  END IF; </b></p><p><b>  END IF ; </b></p><p><b>  END IF

116、60;; </b></p><p>  END PROCESS ; </p><p>  END BLOCK KEYIN_PROCESS ; </p><p>  --上鎖/開鎖控制進程</p><p>  LOCK_PROCESS :

117、60;BLOCK IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK, DATA_F) IS</p><p><b>  BEGIN</b></p><p>  IF (CLK'EVENT AND

118、 CLK = '1') THEN</p><p>  IF NC = 4  THEN</p><p>  IF DATA_F(2) = '1' THEN   --上鎖控制信號有效 </p>

119、<p>  REG <= ACC ;   --密碼存儲</p><p>  QA <= '1' ;  QB <= '0'; </p><p>  ELSIF DATA_F(0) 

120、= '1' THEN --開鎖控制信號有效</p><p>  IF  REG = ACC THEN   --密碼核對</p><p>  QA<= '0';  QB <= '1' 

121、;  </p><p><b>  END IF ; </b></p><p>  ELSIF  ACC = "1000100010001000" THEN   </p><p>  --設(shè)置“8

122、888”為萬用密碼</p><p>  QA <= '0' ;  QB<= '1'; </p><p><b>  END IF ; </b></p><p><b>  END I

123、F; </b></p><p><b>  END IF ; </b></p><p>  END PROCESS ; </p><p>  END BLOCK LOCK_PROCESS ; </p><

124、p>  --輸出上鎖/開鎖控制信號</p><p>  ENLOCK <= QA AND NOT QB ; </p><p><b>  --輸出顯示信息</b></p><p>  DATA_BCD<= ACC ; </

125、p><p>  END ARCHITECTURE ART; </p><p><b>  附錄四</b></p><p>  密碼鎖顯示電路七段譯碼器設(shè)計源程序:</p><p>  LIBRARY IEEE ;</p><p>  USE IEEE.STD_LOGIC_

126、1164.ALL ;</p><p>  ENTITY DECL7S IS</p><p>  PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;</p><p><b>  END ;&

127、lt;/b></p><p>  ARCHITECTURE one OF DECL7S IS </p><p><b>  BEGIN</b></p><p>  PROCESS( A )</p><p><b>  BEGIN</b></p><p><b>

128、;  CASE A IS</b></p><p>  WHEN "0000" => LED7S <="0111111" ;</p><p>  WHEN "0001" => LED7S <="0000110" ;</p><p>  WHEN &quo

129、t;0010" => LED7S <="1011011" ;</p><p>  WHEN "0011" => LED7S <="1001111" ;</p><p>  WHEN "0100" => LED7S <="1100110" ;&l

130、t;/p><p>  WHEN "0101" => LED7S <="1101101" ;</p><p>  WHEN "0110" => LED7S <="1111101" ;</p><p>  WHEN "0111" => LE

131、D7S <="0000111" ;</p><p>  WHEN "1000" => LED7S <="1111111" ; </p><p>  WHEN "1001" => LED7S <="1101111" ;</p><p>

132、  WHEN "1010" => LED7S <="1110111" ;</p><p>  WHEN "1011" => LED7S <="1111100" ;</p><p>  WHEN "1100" => LED7S <="0111001

133、" ;</p><p>  WHEN "1101" => LED7S <="1011110" ;</p><p>  WHEN "1110" => LED7S <="1111001" ;</p><p>  WHEN "1111" =

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論