版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計</p><p> 2009年 7 月 10 日</p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 課程 硬件課程設(shè)計</p><p> 題目 數(shù)字電壓表設(shè)計
2、</p><p> 主要內(nèi)容、基本要求等</p><p><b> 一、主要內(nèi)容:</b></p><p> 利用EL教學(xué)實驗箱、微機和QuartusⅡ軟件系統(tǒng),使用VHDL語言輸入方法設(shè)計數(shù)字鐘??梢岳脤哟卧O(shè)計方法和VHDL語言,完成硬件設(shè)計設(shè)計和仿真。最后在EL教學(xué)實驗箱中實現(xiàn)。</p><p><b&
3、gt; 二、基本要求:</b></p><p> 1、A/D轉(zhuǎn)換接口電路的設(shè)計,負(fù)責(zé)對ADC0809的控制。</p><p> 2、編碼轉(zhuǎn)換電路設(shè)計,負(fù)責(zé)把從ADC0809數(shù)據(jù)總線中讀出的電壓轉(zhuǎn)換成BCD碼。</p><p> 3、輸出七段顯示電路的設(shè)計,負(fù)責(zé)將BCD碼用7段顯示器顯示出來。</p><p><
4、b> 三、擴展要求</b></p><p> 1、當(dāng)測量結(jié)束后,蜂鳴器鳴響10聲。 </p><p><b> 四、參考文獻</b></p><p> [1] 李朝清.單片機原理及技術(shù)接口[M].出版社:北京航空航天大學(xué)出版社.出版時間:2011年6月第17次印刷</p><p> [2]
5、康華光,鄒壽彬等.電子技術(shù)基礎(chǔ)數(shù)字部分[M].出版社:高等教育出版社</p><p> [3] 康華光,張林,電子技術(shù)基礎(chǔ)模擬部分[M].出版社:高等教育出版社.</p><p> [4] 吳金戌,郭庭吉.8051單片機實踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002</p><p> [5] 張國勛.縮短ICL7135A/D采樣程序時間的一種方法[J].電子
6、技術(shù)應(yīng)用.1993.</p><p><b> 摘 要</b></p><p> 本文闡述了EDA技術(shù)的基本特征及關(guān)鍵技術(shù),介紹了EDA工具軟件和硬件描述語言,分析了EDA技術(shù)的現(xiàn)狀及發(fā)展趨勢。EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫。由于它是一門剛剛發(fā)展起來的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,所以目前尚無一個確
7、切的定義。但從EDA技術(shù)的幾個主要方面的內(nèi)容來看,可以理解為:EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)模可編程邏輯器件的開發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)。</p><p> 本文設(shè)計主要利用VHDL語言在EDA平臺上設(shè)計一個數(shù)字電壓表,本實驗中所要求設(shè)計的數(shù)字電壓表為4位,
8、由三大部分組成,每一部分又包含了若干子電路,將各電路組合起來,就構(gòu)成了一個整體。1、A/D轉(zhuǎn)換接口電路的設(shè)計,負(fù)責(zé)對ADC0809的控制。2、編碼轉(zhuǎn)換電路設(shè)計,負(fù)責(zé)把從ADC0809數(shù)據(jù)總線中讀出的電壓轉(zhuǎn)換成BCD碼。3、輸出七段顯示電路的設(shè)計,負(fù)責(zé)將BCD碼用7段顯示器顯示出來。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。以數(shù)字電壓表為核心擴展成的各種數(shù)字化儀表,幾乎覆蓋了電子電工測量、工業(yè)測量、自動化系統(tǒng)等各個領(lǐng)域。并且使用Quartu
9、s7.2-II軟件進行電路波形仿真,下載到EDA實驗箱進行驗證。</p><p> 關(guān)鍵詞: EDA(電子設(shè)計自動化);VHDL(硬件描述語言),數(shù)字鐘。</p><p><b> 目 錄</b></p><p><b> 第1章 概 述1</b></p><p> 1.1EDA的概念
10、1</p><p> 1.2 EDA技術(shù)及應(yīng)用1</p><p> 1.3EDA技術(shù)發(fā)展前景3</p><p> 第2章 設(shè)計基礎(chǔ)知識4</p><p> 2.1FPGA知識介紹4</p><p> 2.2VHDL硬件描述語言6</p><p> 2.3Quartus II
11、及其他第三方開發(fā)工具8</p><p> 第3章 數(shù)字電壓表電路設(shè)計11</p><p> 3.1設(shè)計規(guī)劃11</p><p> 3.2設(shè)計內(nèi)容11</p><p> 3.3電路程序13</p><p> 第4章 系統(tǒng)軟件程序的設(shè)計18</p><p><b>
12、 4.1主程序18</b></p><p> 4.2轉(zhuǎn)換電子程序18</p><p> 4.3中斷顯示程序19</p><p> 第5章 電壓表的調(diào)試及性能分析21</p><p> 5.1調(diào)試與測試21</p><p> 5.2性能分析22</p><p>&
13、lt;b> 結(jié) 論23</b></p><p><b> 參考文獻24</b></p><p><b> 第1章 概 述</b></p><p> 1.1 EDA的概念</p><p> 20世紀(jì)90年代,國際上電子和計算機技術(shù)較先進的國家,一直在積極探索新的電子電路
14、設(shè)計方法,并在設(shè)計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進了EDA技術(shù)的迅速發(fā)展。</p><p> 由
15、于它是一門剛剛發(fā)展起來的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,所以目前尚無一個確切的定義。但從EDA技術(shù)的幾個主要方面的內(nèi)容來看,可以理解為:EDA技術(shù)是以大規(guī)模可編程邏輯器件為設(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)。可以實現(xiàn)邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化,邏輯布局布線
16、、邏輯仿真。完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒?lt;/p><p> 利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成。</p><p> 現(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電
17、子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機制造過程中,從設(shè)計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。</p><p> 硬件描述語言:硬件描述語言(HDL—Hardware Description Language)是一種用于設(shè)計硬件電子系統(tǒng)的計算機語言,它用軟件編程的方式來描述電子系統(tǒng)
18、的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門級描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計。</p><p> 1.2 EDA技術(shù)及應(yīng)用</p><p> Electronic Document Authorization,指電子文件授權(quán),是工作流軟件系統(tǒng)最常用的一種功能。</p><p> 它超越文電鑒別和數(shù)字簽名來對電子表格或信息的接受者提供保證。其發(fā)送者具有特許
19、權(quán)或適當(dāng)?shù)馁M用限制來簽署和發(fā)送文件。EDA技術(shù)是在電子CAD技術(shù)基礎(chǔ)上發(fā)展起來的計算機軟件系統(tǒng),是指以計算機為工作平臺,融合了應(yīng)用電子技術(shù)、計算機技術(shù)、信息處理及智能化技術(shù)的最新成果,進行電子產(chǎn)品的自動設(shè)計。</p><p> 利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機上自動處
20、理完成。</p><p> 現(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機制造過程中,從設(shè)計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。本文所指的EDA技術(shù),主要針對電子電路設(shè)計、PCB設(shè)計和IC設(shè)計。</p><p>
21、EDA設(shè)計可分為系統(tǒng)級、電路級和物理實現(xiàn)級。EDA常用軟件:EDA工具層出不窮,目前進入我國并具有廣泛影響的EDA軟件有:multiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim,ISE,modelsim等等。這些工具都有較強的功能,一般可用于幾個方面,例如很多軟件都可以進行電路設(shè)計
22、與仿真,同進還可以進行PCB自動布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。</p><p> 從目前的EDA技術(shù)來看,其發(fā)展趨勢是政府重視、使用普及、應(yīng)用文泛、工具多樣、軟件功能強大。在信息通信領(lǐng)域,要優(yōu)先發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計算機及軟件技術(shù)、第三代移動通信技術(shù)、信息管理、信息安全技術(shù),積極開拓以數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟增長點。要大力
23、推進制造業(yè)信息化,積極開展計算機輔助設(shè)計(CAD)、計算機輔助工程(CAE)、計算機輔助工藝(CAPP)、計算機機輔助制造(CAM)、產(chǎn)品數(shù)據(jù)管理(PDM)、制造資源計劃(MRPII)及企業(yè)資源管理(ERP)等。有條件的企業(yè)可開展“網(wǎng)絡(luò)制造”,便于合作設(shè)計、合作制造,參與國內(nèi)和國際競爭。開展“數(shù)控化”工程和“數(shù)字化”工程。自動化儀表的技術(shù)發(fā)展趨勢的測試技術(shù)、控制技術(shù)與計算機技術(shù)、通信技術(shù)進一步融合,形成測量、控制、通信與計算機(M3C)
24、結(jié)構(gòu)。在ASIC和PLD設(shè)計方面,向超高速、高密度、低功耗、低電壓方向發(fā)展。</p><p> 1.3EDA技術(shù)發(fā)展前景</p><p> 進入二十一世紀(jì)以來,電子科技對于我們的生活越來越重要,我們的生活無時無刻不與電子科技相聯(lián)系,而我們對于電子產(chǎn)品的國內(nèi)功能與速度的要求越來越高。這就促進了不知是軟件工程的發(fā)展,我們同時更加注重硬件工程的發(fā)展,EDA作為其中一門學(xué)科有著很好的發(fā)展前景。
25、</p><p> 一門學(xué)科永遠不可能有研究皆知的時候,每當(dāng)人類有新的發(fā)現(xiàn)是科技總會給我們新的驚喜。EDA同樣是一門有趣而有意義的科學(xué),所以我們有理由相信他會有很好的發(fā)展前景,而當(dāng)下的時代中,我們所應(yīng)用的外部設(shè)備也越來越先進。外設(shè)技術(shù)與EDA工程相結(jié)合的市場前景看好,如組合超大屏幕的相關(guān)連接,多屏幕技術(shù)也有所發(fā)展。</p><p> 第2章 設(shè)計基礎(chǔ)知識</p><
26、p> 2.1FPGA知識介紹</p><p> 現(xiàn)場可編程門陣列(FPGA, Field Programmable Gate Array)的出現(xiàn)是超大規(guī)模集成電路(VLSL)技術(shù)和計算機扶助設(shè)計(CAD)技術(shù)發(fā)展的結(jié)果。它一般都采用SRAM工藝,也有一些專用器件采用Flash 7-藝或反熔絲(Anti.Fuse)工藝等。FPGA器件集成度很高、其器件密度從數(shù)萬系統(tǒng)門到數(shù)千萬系統(tǒng)門不等,可以完成極其復(fù)雜的
27、時序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計領(lǐng)域。具有通過用戶編程實現(xiàn)專門應(yīng)用的功能。它允許電路設(shè)計者利用基于計算機的開發(fā)平臺,經(jīng)過設(shè)計輸入、仿真、測試和校驗,直至達到預(yù)期的結(jié)果。使用FPGA器件可以大大縮短系統(tǒng)的研制周期,減少資金的投入。更吸引人的是,采用FPGA器件可以將原來的電路板級產(chǎn)品集成為芯片級產(chǎn)品,從而降低了功耗,提高了可靠性,同時還可以很方便地對設(shè)計進行在線修改。FPGA器件成為研制開發(fā)的理想器件,特別
28、適用于產(chǎn)品的樣機開發(fā)和小批量的生產(chǎn),因此有人也把FPGA稱為可編程的ASIC。如今,F(xiàn)PGA器件廣泛應(yīng)用于通信、自動控制、信息處理等諸多領(lǐng)域,越來越多的電子設(shè)計人員在使用FPGA,熟練掌握FPGA設(shè)計技</p><p> FPGA的邏輯門數(shù)己達1千萬,內(nèi)核速度達到400MHz,能提供高達11Gbps的芯片間通信速度,隨著工藝微縮,當(dāng)前的FPGA已經(jīng)能夠內(nèi)嵌DSP核心的方式在諸多高端應(yīng)用中實現(xiàn)傳統(tǒng)DSP的工作,且
29、可編程特性將大幅壓低成本,并加快設(shè)計周期?,F(xiàn)在的FPGA芯片中不只是包含可編程邏輯功能模塊、可編程輸入輸出模塊和可編程內(nèi)部互連資源等基本的資源,還集成了存儲器(Block RAM和Disturbed RAM)、數(shù)字時鐘管理但愿(完成分頻/倍頻、數(shù)字鎖相和延遲功能的DLL和DCM)、算術(shù)運算單元(生發(fā)起、加法器)以及特殊功能模塊(MAC、微處理器等硬IP核)等更豐富的資源,與過去FPGA僅僅用作膠合邏輯不同,現(xiàn)在FPGA已經(jīng)被用來實現(xiàn)主要
30、系統(tǒng)功能。而與此同時,它仍然保持著非常合理的成本,因此,與ASIC和定制IC相比,F(xiàn)PGA是一種更具有吸引力的選擇。FPGA設(shè)計具有以下優(yōu)點:</p><p> (1)硬件設(shè)計軟件化</p><p> 這是FPGA開發(fā)的最大優(yōu)勢。傳統(tǒng)硬件電路設(shè)計先要進行功能設(shè)計,然后進行電路板級設(shè)計并做稱電路板后進行調(diào)試,如果電路中有什么錯誤,整個電路板都將作廢,這是很不經(jīng)濟的。FPGA的開發(fā)在功能層
31、面上可以完全脫離硬件而在EDA軟件上做軟仿真。當(dāng)功能確定無誤后可以進行硬件電路板的設(shè)計。最后將設(shè)計好的,由EDA軟件生成的燒寫文件下載到配置設(shè)備中去,進行在線調(diào)試,如果這時的結(jié)果與要求不一致,可以立即更改設(shè)計軟件,并再次燒寫到配置芯片中而不必改動外接硬件電路。</p><p> (2)高度集成化,高工作頻率</p><p> 一般的FPGA內(nèi)部都集成有上百萬的邏輯門,可以在其內(nèi)部規(guī)劃出
32、多個與傳統(tǒng)小規(guī)模集成器件功能相當(dāng)?shù)哪K。這樣將多個傳統(tǒng)器件集成在同一芯片內(nèi)部的方法不但可以改進電路板的規(guī)模,還可以減少PCB布線的工作。由于各個模塊都是集成在FPGA芯片內(nèi)部,這就很大程度地解決了信號的干擾問題,使得FPGA的工作頻率可以大幅度的提高。另外,一般的FPGA內(nèi)部都有PLL倍頻的時鐘,這進一步解決了電磁干擾和電磁兼容問題。</p><p> 可編程邏輯器件的設(shè)計是利用EDA開發(fā)軟件和編程土具對器件開
33、發(fā)的過程。高密度復(fù)雜可編程邏輯器件的設(shè)計流程如圖2-1所示。它包括設(shè)計準(zhǔn)備、設(shè)計輸入、功能仿真、設(shè)計處理、時序仿真和器件編程及測試等七個步驟。</p><p><b> 1.設(shè)計準(zhǔn)備</b></p><p> 在系統(tǒng)設(shè)計之前,首先要進行方案論證、系統(tǒng)設(shè)計和器件選擇等準(zhǔn)備工作。</p><p> 一般采用自上而下的設(shè)計方法,也可采用傳統(tǒng)的自
34、下而上的設(shè)計方法。</p><p> 圖2-1可編程邏輯器件設(shè)計流程</p><p><b> 2.設(shè)計輸入</b></p><p> 設(shè)計輸入將所設(shè)計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并送入計算機的過程稱為設(shè)計輸入。設(shè)計輸入通常有以下集中形式:</p><p><b> 1)原理圖輸入方式
35、</b></p><p> 2)硬件描述語言輸入方式</p><p><b> 3)波形輸入方式</b></p><p><b> 3.功能仿真</b></p><p> 功能仿真也叫做前仿真。用戶所設(shè)計的電路必須在編譯之前進行邏輯功能驗證,此時的仿真沒有延時信息,對于初步的功能
36、檢測非常方便。仿真中如發(fā)現(xiàn)錯誤,則返回設(shè)計輸入中修改邏輯設(shè)計。</p><p><b> 4.設(shè)計處理</b></p><p> 設(shè)計處理是器件設(shè)計中的核心環(huán)節(jié)。在設(shè)計處理過程中,編譯軟件將對設(shè)計輸入文件進行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程用的編程文件。主要有:</p><p> 1)語法檢查和設(shè)計規(guī)則檢查</p>&
37、lt;p><b> 2)邏輯優(yōu)化和綜合</b></p><p><b> 3)適配和分割</b></p><p><b> 4)布局和布線</b></p><p><b> 5.時序仿真</b></p><p> 時序仿真又稱后仿真或延時仿
38、真。由于不同器件的內(nèi)部延時不一樣,不同的布局布線方案也給延時造成不同的影響,因此在設(shè)計處理以后,對系統(tǒng)和各模塊進行時序仿真,分析其時序關(guān)系,估計設(shè)計的性能,以及檢查和消除竟?fàn)幟半U等是非常有必要的。</p><p><b> 6.器件編程測試</b></p><p> 時序仿真完成后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件。 </p><p>
39、 2.2VHDL硬件描述語言</p><p> 2.2.1 VHDL語言簡介</p><p> 硬件描述語言(hardware description language,HDL)是電子系統(tǒng)硬件行為描述,結(jié)構(gòu)描述,數(shù)據(jù)流描述的語言。目前,利用硬件描述語言可以進行數(shù)字電子系統(tǒng)的設(shè)計.隨著研究的深入,利用硬件描述語言進行模擬電子系統(tǒng)設(shè)計或混合電子系統(tǒng)設(shè)計也正在探索中。</p>
40、<p> 國外硬件描述語言種類很多,有的從Pascal發(fā)展而來,也有一些從C語言發(fā)展而來。有些HDL成為IEEE標(biāo)準(zhǔn),但大部分是企業(yè)標(biāo)準(zhǔn)。VHDL來源于美國軍方,其他的硬件描述語言則多來源于民間公司??芍^百家爭鳴,百花齊放,這些不同的語言傳播到國內(nèi),同樣也引起了不同的影響在我國比較有影響的有兩種硬件描述語言:VHDL語言和Verilog HDL語言,這兩種語言已成為IEEE標(biāo)準(zhǔn)語言。</p><p>
41、; 2.2.2 VHDL語言的主要優(yōu)勢</p><p> VHDL語言能夠成為標(biāo)準(zhǔn)并且獲得廣泛的應(yīng)用,一定有它自身的主要優(yōu)勢,或者說是與眾不同的特點。①強大的功能和靈活性:VHDL語言具有功能強大的語言結(jié)構(gòu),可以用簡潔明確的程序來描述復(fù)雜的邏輯控制。②獨立于器件的設(shè)計:設(shè)計人員采用VHDL語言進行硬件電路的設(shè)計時,并不需要首先選擇完成此項設(shè)計的邏輯器件。這樣,設(shè)計人員就可以集中精力來進行設(shè)計的構(gòu)思。③可進行
42、程序移植:VHDL語言的移植能力是允許設(shè)計人員對需要綜合設(shè)計描述進行模擬,在綜合前對一個數(shù)千門的設(shè)計描述進行模擬可以節(jié)約大量的時間。</p><p> 由于VHDL語言是一種標(biāo)準(zhǔn)化的硬件描述語言,因此同一個設(shè)計的VHDL語言描述可以被不同的EDA工具支持,從而使得VHDL語言程序的移植成為可能。④性能評估能力:獨立于器件的設(shè)計和可進行程序移植允許設(shè)計人員可以采用不同的器件結(jié)構(gòu)和綜合工具來對自己的設(shè)計進行評估。⑤
43、易于ASIC移植:VHDL語言效率高的重要體現(xiàn)之一就是如果設(shè)計人員的設(shè)計是被綜合到一個CPLD器件或FPGA器件,那么就可以使設(shè)計的產(chǎn)品以最快的的速度上市。當(dāng)產(chǎn)品的數(shù)量達到相當(dāng)?shù)囊?guī)模時,采用VHDL語言能夠很容易地幫助設(shè)計人員實現(xiàn)轉(zhuǎn)成ASIC的設(shè)計。⑥VHDL語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用:VHDL語言的語法規(guī)范、標(biāo)準(zhǔn),可讀性強。由于VHDL語言是一種IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,具有嚴(yán)格的語法規(guī)范和統(tǒng)一的標(biāo)準(zhǔn),因此它可以使設(shè)計人員之
44、間進行交流和共享。</p><p> 2.2.3 VHDL語言的設(shè)計流程</p><p> 采用VHDL語言設(shè)計硬件電路系統(tǒng)的設(shè)計流程一般可以分為以下幾個步驟。①硬件電路系統(tǒng)設(shè)計要求的定義。②編寫描述硬件電路系統(tǒng)功能的VHDL語言程序。③VHDL語言程序的模擬。④VHDL語言的綜合、優(yōu)化和布局布線。⑤布局布線后的設(shè)計模擬。⑥器件的編程。設(shè)計人員在從事硬件電路系統(tǒng)的合計過程中,編寫VHD
45、L語言程序之前必須對硬件電路系統(tǒng)的設(shè)計目的有一個非常明確的認(rèn)識才行。</p><p> 2.3Quartus II及其他第三方開發(fā)工具</p><p> 2.3.1 Quartus II開發(fā)平臺簡介 </p><p> Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應(yīng)商之一。Quartus I
46、I在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設(shè)計輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。</p><p> Altera的Quartus II 提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)
47、計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為Altera DSP開發(fā)包進行系統(tǒng)模型設(shè)計提供了集成綜合環(huán)境。Quartus II設(shè)計工具完全支持VHDL、Verilog的設(shè)計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接調(diào)用這些工具。
48、同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵EDA工具。</p><p> Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Filter)、裝配器(
49、Assembler)、時序分析器(Timing Analyzer)、設(shè)計輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等??梢酝ㄟ^選擇Start Complication來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇Complier Tool(Tools 菜單),在Com
50、plier Tool 窗口中運行該模塊來啟動編輯器模塊。在Complier Tool 窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。</p><p> 此外,Quartus II還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被大量使用,也可在Quartus II普通設(shè)計文件一起使用。A
51、ltera提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路模塊等。</p><p> 圖3-1中所示的上排是Quartus II編譯設(shè)計主控界面,它顯示了Quartus II自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程,包括設(shè)計輸入編輯、設(shè)計分析與
52、綜合、適配、編程文件匯編(裝配)、時序參數(shù)提取以及編程下載幾個步驟。在圖1-1下排的流程框圖,是與上面的Quartus II設(shè)計流程相對照的標(biāo)準(zhǔn)的EDA開發(fā)流程。</p><p> Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL’87及VHDL’97標(biāo)準(zhǔn))、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己設(shè)計、制定的硬件描述語言,是一種以結(jié)構(gòu)描述方式
53、為主硬件描述語言,只有企業(yè)標(biāo)準(zhǔn)。</p><p> Quartus II允許來自第三方的EDIF文件輸入,并提供了很多EDA軟件的接口,Quartus II支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計問題。在設(shè)計輸入之后,Quartus II的編譯器將給出設(shè)計輸入的錯誤報告。Quartus II 擁有良好的設(shè)計輸入定位器,用于
54、確定文本或圖形設(shè)計中的錯誤。對于使用HDL的設(shè)計,可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖。在進行編譯后,可對設(shè)計進行時序仿真。在作仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗證時的激勵。編譯和仿真經(jīng)檢測無誤后,便可以將下載信息通過Quartus II提供的編程器下載入目標(biāo)器件中了。</p><p> 圖3-1 Quartus II設(shè)計流程</p>
55、<p> 2.3.2 第三方EDA工具 </p><p> 目前EDA/FPGA的設(shè)計趨于復(fù)雜化,設(shè)計的仿真驗證顯得比以前更為重要。據(jù)有關(guān)資料統(tǒng)計顯示,在一個使用IP核的百萬門級SOC設(shè)計中,花費在仿真驗證上的時間將占整個設(shè)計周期的70%。為了保證CPLD/FPGA仿真驗證的精確性,很多公司都開發(fā)出了第三方專用EDA工具。Quartus II支持的第三方開發(fā)工具很多,應(yīng)用比較廣泛的如專用綜合工具S
56、ynplify,它在綜合策略和優(yōu)化手段上有了較大幅度的提高,使其面積較好,速度較快;Modelsim是較常用的第三方仿真工具,目前的最新版本已到5.7版。它可以對Xilinx公司的全部CPLD/FPGA產(chǎn)品進行高精度的仿真驗證;可以對CPLD/FPGA進行功能仿真和時序仿真。Modelsim適用于多種操作系統(tǒng)和設(shè)計平臺,主要有SE\EE\XE等版本類型。其中Modelsim是針對Xilinx公司系列器件的專用仿真工具;Modelsim
57、SE\EE則是通用的EDA仿真工具,使用這兩種對Xilinx公司系列器件進行仿真,需要預(yù)先加載Xilinx本地庫。在應(yīng)用過程中,主要包括創(chuàng)建仿真庫、邏輯庫映射、編譯設(shè)計文件、仿真驗證等步驟,其中仿真庫包括工作庫和資源庫,</p><p> 第3章 數(shù)字電壓表電路設(shè)計</p><p><b> 3.1設(shè)計規(guī)劃</b></p><p> 本實
58、驗中所要求設(shè)計的數(shù)字電壓表為4位,由三大部分組成,每一部分又包含了若干子電路,將各電路組合起來,就構(gòu)成了一個整體。</p><p> 1、A/D轉(zhuǎn)換接口電路的設(shè)計,負(fù)責(zé)對ADC0809的控制。</p><p> 2、編碼轉(zhuǎn)換電路設(shè)計,負(fù)責(zé)把從ADC0809數(shù)據(jù)總線中讀出的電壓轉(zhuǎn)換成BCD碼。</p><p> 3、輸出七段顯示電路的設(shè)計,負(fù)責(zé)將BCD碼用
59、7段顯示器顯示出來。</p><p> 硬件說明:本設(shè)計所需的硬件主要有:可變直流電平輸出電路、ADC0809、七段顯示器、EPF10K10LC84-4適配器</p><p><b> 3.2設(shè)計內(nèi)容</b></p><p><b> 產(chǎn)生控制信號:</b></p><p> 對于ADC08
60、09芯片的各種介紹請參閱其數(shù)據(jù)手冊。芯片ADC0809的控制時序圖如圖52-3所示。實驗儀器中ADC0809接口電路原理圖如圖3-1所示。</p><p> 圖3-1 ADC0809接口電路原理圖</p><p> 當(dāng)CS 和WR同時為高電平時,ADC0809開始轉(zhuǎn)換,當(dāng)轉(zhuǎn)換完成后,在INT腳輸出高電平,等待讀數(shù)據(jù);當(dāng)CS和RD同時為電平時,通過數(shù)據(jù)總線D[7..0]從ADC0809
61、是讀出數(shù)據(jù)。</p><p> 圖3-2 控制器控制信號時序圖</p><p> 從圖3-2我們可以將整個控制器分成4個步驟狀態(tài):S0、S1、S2、S3,第個狀態(tài)的動作方式如下:</p><p> 1狀態(tài)S0:CS=1、WR=1、RD=0(由控制器發(fā)出信號要求ADC0809開始進行模/數(shù)信號的轉(zhuǎn)換)。</p><p> 計算轉(zhuǎn)換后的
62、數(shù)字電壓信號,最終以BCD碼表示,當(dāng)參考電壓(Vref)為2.56V時,模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系如表3-3所示。</p><p> 表3-3:模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系</p><p> 這樣由ADC0809收到的信號是01110110(76H),則對照表3-3時,高4位0111的電壓為2.24V,而低4位0110是0.12V,所以最后的電壓輸出結(jié)果為2.24+0.12=
63、2.36V。</p><p> 對于數(shù)據(jù)轉(zhuǎn)換成BCD碼,我們必須設(shè)計一個12位的BCD碼加法器,如上述的2.24V的二進制表示為:001000100100、0.12V是000000010010,所以其相加結(jié)果為001000110110,為2.36V。</p><p> 提示:在讀取到轉(zhuǎn)換數(shù)據(jù)后,先用查表的指令算出高、低4位的兩個電壓值,并分別用12位的BCD碼表示。接著設(shè)計12位的BC
64、D碼加法。相加從最低4位開始,且每4位相加結(jié)果超過10時需作進位動作。</p><p> 圖3-4 芯片ADC0809的控制時序圖</p><p> 控制引腳框圖如圖3-5所示。</p><p> 圖3-5 AD控制器引腳圖</p><p><b> 3.3電路程序</b></p><p&g
65、t; library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> entity voltmeter is</p><p> port (D: in std_logic_vector(7 d
66、ownto 0);</p><p> CLK,INT,RESET: in std_logic;</p><p> CS,RD,WR: out std_logic;</p><p> DATOUT: out std_logic_vector(11 downto 0)</p><p><b> );</b></
67、p><p> end voltmeter;</p><p> architecture doit of voltmeter is</p><p> signal datain : std_logic_vector(7 downto 0);</p><p> signal data1,data2 : std_logic_vector(15
68、downto 0);</p><p> signal dout1,dout2,dout3,dout4 : std_logic_vector(11 downto 0);</p><p> signal do1,do2,do3,do4,c1,c2,c3,doo1,doo2,doo3,doo4 :std_logic_vector(4 downto 0);</p><p&g
69、t; type statetype is(idle,write,swait,read,disp1,disp2,disp3,disp4);</p><p> signal present_state,next_state: statetype;</p><p><b> begin</b></p><p> P1: process(pre
70、sent_state,next_state,INT)</p><p><b> begin</b></p><p> case present_state is</p><p> when idle => CS<='1'; WR<='0'; RD<='0';</
71、p><p> next_state<=write;</p><p> when write => CS<='1'; WR<='1'; RD<='0';</p><p> next_state<=swait;</p><p> when swait =>
72、; CS<='0'; WR<='0'; RD<='0';</p><p> if ( INT='1') then</p><p> next_state<=read;</p><p><b> else</b></p><p>
73、 next_state<=swait;</p><p><b> end if;</b></p><p> when read => CS<='1'; WR<='0'; RD<='1';</p><p> next_state<=disp1;</p
74、><p> when disp1 => CS<='0'; WR<='0'; RD<='0';</p><p> DATOUT<=dout1;</p><p> next_state<=disp2;</p><p> when disp2 => CS&
75、lt;='0'; WR<='0'; RD<='0';</p><p> DATOUT<=dout2;</p><p> next_state<=disp3;</p><p> when disp3 => CS<='0'; WR<='0';
76、RD<='0';</p><p> DATOUT<=dout3;</p><p> next_state<=disp4;</p><p> when disp4 => CS<='0'; WR<='0'; RD<='0';</p><p&
77、gt; DATOUT<=dout4;</p><p> next_state<=write;</p><p><b> end case;</b></p><p> end process P1;</p><p> P2: process(CLK, RESET)</p><p&g
78、t;<b> begin</b></p><p> if(RESET='0') then</p><p> present_state<=idle;</p><p> datain<="00000000";</p><p> elsif(CLK'event
79、 and CLK='1') then</p><p> present_state<=next_state;</p><p> if(present_state=read) then</p><p> datain<=D;</p><p><b> end if;</b></p&
80、gt;<p><b> end if;</b></p><p> end process P2;</p><p> data1<="0000000000000000" when datain(7 downto 4)="0000" else</p><p> "0000
81、001100010011" when datain(7 downto 4)="0001" else</p><p> "0000011000100101" when datain(7 downto 4)="0010" else</p><p> "0000100100111000" when da
82、tain(7 downto 4)="0011" else</p><p> "0001001001010000" when datain(7 downto 4)="0100" else</p><p> "0001010101100011" when datain(7 downto 4)="010
83、1" else</p><p> "0001100001110101" when datain(7 downto 4)="0110" else</p><p> "0010000110001000" when datain(7 downto 4)="0111" else</p>&l
84、t;p> "0010010100000000" when datain(7 downto 4)="1000" else</p><p> "0010100000010011" when datain(7 downto 4)="1001" else</p><p> "00110001001
85、00101" when datain(7 downto 4)="1010" else</p><p> "0011010000111000" when datain(7 downto 4)="1011" else</p><p> "0011011101010000" when datain(7
86、downto 4)="1100" else</p><p> "0100000001100011" when datain(7 downto 4)="1101" else</p><p> "0100001101110101" when datain(7 downto 4)="1110"
87、 else</p><p> "0100011010001000" when datain(7 downto 4)="1111" else</p><p> "0000000000000000";</p><p> data2<="0000000000000000" when
88、 datain(3 downto 0)="0000" else</p><p> "0000000000100000" when datain(3 downto 0)="0001" else</p><p> "0000000000111001" when datain(3 downto 0)="
89、0010" else</p><p> "0000000001011001" when datain(3 downto 0)="0011" else</p><p> "0000000001111000" when datain(3 downto 0)="0100" else</p>
90、<p> "0000000010011000" when datain(3 downto 0)="0101" else</p><p> "0000000100010111" when datain(3 downto 0)="0110" else</p><p> "00000001
91、00110111" when datain(3 downto 0)="0111" else</p><p> "0000000101010110" when datain(3 downto 0)="1000" else</p><p> "0000000101110110" when datain
92、(3 downto 0)="1001" else</p><p> "0000000110010101" when datain(3 downto 0)="1010" else</p><p> "0000001000010101" when datain(3 downto 0)="1011&qu
93、ot; else</p><p> "0000001000110100" when datain(3 downto 0)="1100" else</p><p> "0000001001010100" when datain(3 downto 0)="1101" else</p><p&
94、gt; "0000001001110011" when datain(3 downto 0)="1110" else</p><p> "0000001010010011" when datain(3 downto 0)="1111" else</p><p> "000000000000000
95、0";</p><p> do1<=('0' & data1(3 downto 0))+('0' & data2(3 downto 0));</p><p> c1<="00000" when do1<"01010" else</p><p>&l
96、t;b> "00001";</b></p><p> do2<=('0' & data1(7 downto 4))+('0' & data2(7 downto 4))+c1;</p><p> c2<="00000" when do2<"01010&q
97、uot; else</p><p><b> "00001";</b></p><p> do3<=('0' & data1(11 downto 8))+('0' & data2(11 downto 8))+c2;</p><p> c3<="000
98、00" when do3<"01010" else</p><p><b> "00001";</b></p><p> do4<=('0' & data1(15 downto 12))+('0' & data2(15 downto 12))+c3;<
99、;/p><p> doo1<=do1 when do1<"01010" else</p><p> do1-"01010";</p><p> doo2<=do2 when do2<"01010" else</p><p> do2-"01010
100、";</p><p> doo3<=do3 when do3<"01010" else</p><p> do3-"01010";</p><p> doo4<=do4 when do4<"01010" else</p><p> do4-&
101、quot;01010";</p><p> dout1<="111111000100" when doo1="0000" else </p><p> "011000000100" when doo1="0001" else</p><p> &q
102、uot;110110100100" when doo1="0010" else</p><p> "111100100100" when doo1="0011" else</p><p> "011001100100" when doo1="0100" else</p&g
103、t;<p> "101101100100" when doo1="0101" else</p><p> "101111100100" when doo1="0110" else</p><p> "111000000100" when doo1="0111&q
104、uot; else</p><p> "111111100100" when doo1="1000" else</p><p> "111101100100" when doo1="1001" else</p><p> "000000001111";</
105、p><p> dout2<="111111000101" when doo2="0000" else </p><p> "011000000101" when doo2="0001" else</p><p> "110110100101"
106、 when doo2="0010" else</p><p> "111100100101" when doo2="0011" else</p><p> "011001100101" when doo2="0100" else</p><p> "1
107、01101100101" when doo2="0101" else</p><p> "101111100101" when doo2="0110" else</p><p> "111000000101" when doo2="0111" else</p>&
108、lt;p> "111111100101" when doo2="1000" else</p><p> "111101100101" when doo2="1001" else</p><p> "000000001111";</p><p> dout
109、3<="111111000110" when doo3="0000" else </p><p> "011000000110" when doo3="0001" else</p><p> "110110100110" when doo3="0010&
110、quot; else</p><p> "111100100110" when doo3="0011" else</p><p> "011001100110" when doo3="0100" else</p><p> "101101100110" when
111、 doo3="0101" else</p><p> "101111100110" when doo3="0110" else</p><p> "111000000110" when doo3="0111" else</p><p> "111111
112、100110" when doo3="1000" else</p><p> "111101100110" when doo3="1001" else</p><p> "000000001111";</p><p> dout4<="1111110101
113、11" when doo4="0000" else </p><p> "011000010111" when doo4="0001" else</p><p> "110110110111" when doo4="0010" else</p>
114、<p> "111100110111" when doo4="0011" else</p><p> "011001110111" when doo4="0100" else</p><p> "101101110111" when doo4="0101"
115、 else</p><p> "101111110111" when doo4="0110" else</p><p> "111000010111" when doo4="0111" else</p><p> "111111110111" when doo4
116、="1000" else</p><p> "111101110111" when doo4="1001" else</p><p> "000000001111";</p><p><b> end doit;</b></p><p>
117、; 第4章 系統(tǒng)軟件程序的設(shè)計</p><p> 多路數(shù)字電壓表系統(tǒng)軟件程序主要有主程序、A/D轉(zhuǎn)換子程序和中斷顯示程序組成。</p><p><b> 4.1主程序</b></p><p> 主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和相應(yīng)外部0中斷顯示電壓數(shù)值程序,初始化部分包含存放通道的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單
118、路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個標(biāo)志位00H控制,初始化時00H位設(shè)置為0,默認(rèn)為循環(huán)顯示,當(dāng)它為1時改變?yōu)閱温凤@示控制,00H位通過單路、循環(huán)按鍵控制。流程圖如圖4-1所示。</p><p><b> 4.2轉(zhuǎn)換電子程序</b></p><p> A/D轉(zhuǎn)換子程序用于對ADC0809的4路輸入模擬電壓進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入4個相應(yīng)的存儲單元中,A/D
119、轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,即隔一段時間對輸入電壓采樣一次,如圖4-2所示。</p><p><b> 判斷是否為0</b></p><p><b> 4.3中斷顯示程序</b></p><p> 設(shè)計中采用中斷的方式來讀取轉(zhuǎn)換完成的數(shù)據(jù)能節(jié)省CPU的資源,當(dāng)系統(tǒng)設(shè)置好后,一旦數(shù)據(jù)轉(zhuǎn)換完成,便會進入外部中斷0,然
120、后在中斷中讀取轉(zhuǎn)換的數(shù)值,處理數(shù)據(jù)并送數(shù)碼管顯示輸出。 </p><p> LED 數(shù)碼管采用軟件譯碼動態(tài)掃描的方式。在中斷程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把4個存儲單元的數(shù)值依次取出送到4個數(shù)碼管上顯示,每一路顯示一秒。單路顯示程序只對當(dāng)前選中的一路數(shù)據(jù)進行顯示。每路數(shù)據(jù)顯示時需經(jīng)過轉(zhuǎn)換變成十進制BCD碼,放于4個數(shù)碼管顯示緩沖區(qū)中。單路或多路循環(huán)顯示通過標(biāo)志位00H控制。在顯示控制
121、程序中加入了對單路或多路循環(huán)按鍵的判斷。</p><p> 第5章 電壓表的調(diào)試及性能分析</p><p><b> 5.1調(diào)試與測試</b></p><p> 時鐘CLK接時鐘模塊輸出,使頻率為4~5MHZ左右;INT接ADC0809中斷輸出INT;D[7..0]接ADC0809數(shù)據(jù)輸出D[7..0];CS、RD、WR分別接ADC080
122、9的控制輸入CS、RD、WR;BCDOUT接12個發(fā)光二極管。關(guān)于這個軟件的使用通過查一些資料和自己的摸索學(xué)習(xí);然后我們對所編寫的程序進行編譯、鏈接,如果沒有錯誤和警告便可生成程序的hex文件,將此文件加到電路圖上使軟硬件結(jié)合運行,最后進行端口引腳進行連接,連接如圖5-1中所示。</p><p><b> 圖5-1引腳連線</b></p><p><b>
123、 圖5-2數(shù)字顯示</b></p><p><b> 5.2性能分析</b></p><p> 由于單片機為8位處理器,當(dāng)輸入電壓為5.00V時,輸出數(shù)據(jù)值為255(FFH)因此單片機最大的數(shù)值分辨率為0.0196V(5/255)。這就決定了該電壓表的最大分辨率(精度)只能達到0.0196V。測試時電壓數(shù)值的變化一般以0.02V的電壓幅度變化,如要獲
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表設(shè)計-課程設(shè)計
- 課程設(shè)計---數(shù)字電壓表設(shè)計
- 數(shù)字電壓表設(shè)計課程設(shè)計
- 數(shù)字電壓表設(shè)計-課程設(shè)計
- 簡易數(shù)字電壓表課程設(shè)計
- 數(shù)字電壓表課程設(shè)計 (2)
- 數(shù)字電壓表課程設(shè)計.doc
- 數(shù)字電壓表課程設(shè)計報告
- 數(shù)字電壓表的課程設(shè)計
- 數(shù)字電壓表課程設(shè)計.doc
- 課程設(shè)計報告--數(shù)字電壓表
評論
0/150
提交評論