自動(dòng)化畢業(yè)論文led音樂頻譜設(shè)計(jì)與制作_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  LED音樂頻譜設(shè)計(jì)與制作</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí) 自動(dòng)化

2、 </p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><

3、;p>  學(xué)士學(xué)位論文原創(chuàng)性聲明</p><p>  本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立完成的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學(xué)位申請(qǐng)的論文或成果。對(duì)本文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式表明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。</p><p>  作者簽名:

4、 日期: 年 月 日</p><p>  學(xué)位論文版權(quán)使用授權(quán)書</p><p>  本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)南昌航空大學(xué)科技學(xué)院可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或

5、掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p><p>  作者簽名: 日期: 年 月 日</p><p>  導(dǎo)師簽名: 日期: 年 月 日</p><p>  LED音樂頻譜設(shè)計(jì)與制作</p><p>  

6、摘要:電子信息技術(shù)幾乎主宰了整個(gè)電器行業(yè)的發(fā)展,隨著電子技術(shù)的進(jìn)步發(fā)展在功率放大器的設(shè)計(jì)上功能也不斷更新。功率放大器在家電、數(shù)碼產(chǎn)品中的應(yīng)用也越來越廣泛,與我們?nèi)粘I钣兄芮嘘P(guān)系。隨著生活水平的提高,人們?cè)絹碓阶⒅匾曈X,音質(zhì)的享受。音頻頻譜顯示器不但能夠直觀的顯示信號(hào)輸入的狀況,而且在美學(xué)方面給予人好的視覺享受和,在某一方面來說頻譜顯示器賦予了音樂的動(dòng)態(tài)美,讓原本抽象的電信號(hào),具體化,實(shí)質(zhì)化。</p><p>

7、  本文通過使用單片機(jī)和數(shù)字信號(hào)處理技術(shù),實(shí)現(xiàn)了單片機(jī)控制的音樂頻譜顯示系統(tǒng)。系統(tǒng)分為,聲音采集單元,聲音處理單元和顯示單元。其中聲音采集單元包括聲音接收和 A/D 轉(zhuǎn)換系統(tǒng)。聲音接收單元接收到的音頻模擬信號(hào),經(jīng)過 A/D 轉(zhuǎn)換為數(shù)字信號(hào),送給下一級(jí)處理單元處理。聲音處理單元采用C52單片機(jī)進(jìn)行快速傅立葉變換處理。顯示單元接收處理后的信號(hào),控制16*16LED板進(jìn)行顯示。軟件方面使用單片機(jī)進(jìn)行DFT,從而判斷出該時(shí)間段音頻信號(hào)的主譜,跟

8、隨著音樂節(jié)拍和強(qiáng)弱的變化來控制LED亮度和暗滅的實(shí)時(shí)變化,實(shí)現(xiàn)音樂的頻譜分析并加以燈光顯示。</p><p>  關(guān)鍵字:?jiǎn)纹瑱C(jī) 功率放大器 A/D轉(zhuǎn)換 快速傅立葉變換</p><p><b>  指導(dǎo)老師簽名:</b></p><p>  LED Design and Production of the Music Spe

9、ctrum</p><p>  Abstract:Electronic information technology has occupied almost the entire appliance industry, with the advances and development of electronic technology on the design of power amplifier featur

10、es are constantly updated. Closely related to our daily life, power amplifiers in applications of home appliances and digital products are increasingly widespread. With the improvement of living standards, there is a gro

11、wing emphasis on visual and audio enjoyment. Audio spectrum display can not only show th</p><p>  This paper discusses that using the single-chip and digital signal processing technology could make music spe

12、ctrum display system controlled by single-chip microcomputer possible. The system is divided into voice acquisition unit, the voice processing unit and display unit. Voice acquisition unit includes the sonic receiving an

13、d A/D conversion system. The audio analog signal which is received by sonic receiver unit is transformed by A/D conversion system to be a digital signal and, after that, i</p><p>  Keywords: SCM singlechip

14、 power amplifier A/D conversion </p><p>  Fast Fourier Transform Algorithm</p><p>  Signature of Supervisor :</p><p><b>  目 錄</b></p><p

15、><b>  1 引言1</b></p><p>  2 LED音樂頻譜設(shè)計(jì)2</p><p><b>  2.1設(shè)計(jì)思路2</b></p><p>  2.2硬件及電路設(shè)計(jì)部分2</p><p>  2.2.1單片機(jī)電路設(shè)計(jì)2</p><p>  2.2

16、.2 16*16LED顯示板設(shè)計(jì)5</p><p>  2.2.3 A/D轉(zhuǎn)換模塊設(shè)計(jì)6</p><p>  2.2.4行驅(qū)動(dòng)器7</p><p>  2.2.5 列驅(qū)動(dòng)器8</p><p>  2.2.6 音頻放大電路9</p><p>  2.2.7 繼電器切換電路10</p><p

17、>  3 程序設(shè)計(jì)部分11</p><p>  3.1 音頻信號(hào)的采集和預(yù)處理11</p><p>  3.1.1 采樣頻率11</p><p>  3.1.2 樣本大小11</p><p>  3.2 音頻頻譜算法11</p><p>  3.2.1 倒位序及其優(yōu)化算法11</p>&

18、lt;p>  3.2.2 蝶形運(yùn)算及其優(yōu)化算法12</p><p>  3.3 源程序設(shè)計(jì)13</p><p>  3.3.1 快速傅立葉變換程序13</p><p>  3.3.2 AD采樣控制程序14</p><p>  3.3.3 系統(tǒng)初始化和循環(huán)控制部分15</p><p>  3.3.4 文字

19、滾動(dòng)程序15</p><p><b>  4 設(shè)計(jì)總結(jié)25</b></p><p><b>  參考文獻(xiàn)26</b></p><p><b>  致 謝27</b></p><p><b>  附 錄28</b></p>

20、<p>  LED音樂頻譜設(shè)計(jì)與制作</p><p><b>  1 引言</b></p><p>  LED燈已經(jīng)充斥于人們生活中的方方面面,例如廣場(chǎng)、火車站、機(jī)場(chǎng)等公共場(chǎng)所顯示重要信息的LED顯示屏;商場(chǎng)、電影院外設(shè)的LED廣告屏;工廠生產(chǎn)線的指示器;人們生活中用到的手電筒等等。因此LED作為一種能耗低,亮度高,壽命長(zhǎng)的燈具,在今后一定會(huì)成為主流產(chǎn)品。

21、而單片機(jī)作為一個(gè)已經(jīng)發(fā)展了很久的微型計(jì)算機(jī),已經(jīng)具有可靠性高,處理功能強(qiáng),速度快,低電壓,低功耗,控制功能強(qiáng)等特點(diǎn)。本課題為基于單片機(jī)的LED音樂頻譜顯示器的設(shè)計(jì)與制作,利用了單片機(jī)的處理能力強(qiáng)等特點(diǎn),通過聲音采集,聲音處理之后在LED顯示屏上顯示出跳動(dòng)的音符。聲音采集單元收集音頻信號(hào),送給A/D轉(zhuǎn)換器進(jìn)行處理,隨之輸出不同電壓的電信號(hào)給作為主處理器的89C52單片機(jī)。通過設(shè)計(jì)并輸入程序,是這些電信號(hào)在單片機(jī)內(nèi)部進(jìn)行快速傅立葉變換(主要

22、運(yùn)算方法為蝶形運(yùn)算)。在經(jīng)過運(yùn)算處理之后,由行列驅(qū)動(dòng)器驅(qū)動(dòng)16*16LED點(diǎn)陣,控制LED燈的明暗。這樣一來人們聽到的音頻就成功的轉(zhuǎn)化為可以被視覺接受的跳動(dòng)的圖像畫面。</p><p>  本次設(shè)計(jì)中,不僅僅可以顯示音樂的頻譜,還額外添加了圖文顯示功能。圖文顯示功能是通過動(dòng)態(tài)掃描來完成的。利用人眼的視覺暫留現(xiàn)象,快速的刷新LED的明滅次序,這樣就可以展現(xiàn)出一個(gè)穩(wěn)定或者滾動(dòng)的文字圖形。開機(jī)的滾動(dòng)文字,和圖形變換,可

23、以根據(jù)輸入單片機(jī)的程序來改變,這樣一來就使使器件更具人性化,也使得設(shè)計(jì)提升一個(gè)檔次。下面就詳細(xì)介紹該課題的設(shè)計(jì)與制作過程。</p><p>  2 LED音樂頻譜設(shè)計(jì)</p><p><b>  2.1設(shè)計(jì)思路</b></p><p>  本次設(shè)計(jì)的目的是顯示音樂頻譜,因此設(shè)計(jì)電路分成以下幾個(gè)部分:(1)單片機(jī);(2)LED顯示屏;(3)行、

24、列驅(qū)動(dòng)器;(4)A/D轉(zhuǎn)換器;(5)顯示電路。</p><p>  原理方框圖如圖2.1:</p><p><b>  2</b></p><p>  圖2.1 音樂頻譜顯示器原理方框圖</p><p>  2.2硬件及電路設(shè)計(jì)部分</p><p>  2.2.1單片機(jī)電路設(shè)計(jì)</p>

25、<p>  2.2.1.1 STC89C52單片機(jī)</p><p>  本次設(shè)計(jì)利用STC89C52單片機(jī),這是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器,擁有8位CPU以及在系統(tǒng)可變成Flash。其具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16 位 定時(shí)器/計(jì)

26、數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。</p><p>  圖2.2 89C52引腳說明</p><p>  2.2.1.2電源電路設(shè)計(jì)</p><p>  單片機(jī)的供電運(yùn)用LM78L05穩(wěn)壓芯片配合直流穩(wěn)壓電源構(gòu)成。直流輸入低于15V的電源,輸出為5V(誤差小于5%),這樣一來就可以滿足單片機(jī)和其他芯片的供電要求。</p><p> 

27、 單片機(jī)的電源電路如圖2.3:</p><p>  圖2.3 單片機(jī)電源電路</p><p>  2.2.1.3 晶振電路設(shè)計(jì)</p><p>  時(shí)鐘電路設(shè)計(jì)一般有內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式兩種。此次設(shè)計(jì)中采用內(nèi)部時(shí)鐘方式,將XTAL1與XTAL2之間跨接一個(gè)石英晶振和一個(gè)微調(diào)電容,形成一個(gè)穩(wěn)定的自激震蕩器。電容值取30pF左右,它的大小會(huì)影響震蕩頻率、振蕩器穩(wěn)定

28、和起振的速度。為了減少導(dǎo)線之間的寄生電容,晶振和電容必須盡可能靠近單片機(jī)來安裝,這樣才能保證晶振能夠穩(wěn)定可靠的工作。</p><p>  單片機(jī)晶振電路如圖2.4:</p><p>  圖2.4 單片機(jī)晶振電路</p><p>  2.2.1.4 復(fù)位電路設(shè)計(jì)</p><p>  復(fù)位電路是用來維持單片機(jī)最小系統(tǒng)運(yùn)行的基本電路。復(fù)位電路分為上

29、電復(fù)位和手動(dòng)復(fù)位兩種方式。</p><p>  圖2.5 上電復(fù)位 圖2.6 手動(dòng)復(fù)位</p><p>  有的時(shí)候系統(tǒng)在運(yùn)行過程中會(huì)出現(xiàn)程序出錯(cuò)的情況,在程序開發(fā)過程中,經(jīng)常需要手動(dòng)復(fù)位。所以設(shè)計(jì)中一般選擇手動(dòng)復(fù)位。</p><p>  高頻率的時(shí)鐘有利于程序更快的運(yùn)行,也可以實(shí)現(xiàn)更高的信號(hào)采樣率,也能夠?qū)崿F(xiàn)更多的功

30、能。但這樣也對(duì)系統(tǒng)本身的要求更高,而且功耗比較大,運(yùn)行環(huán)境的條件也更多。因?yàn)閱纹瑱C(jī)本身用于一般工業(yè)控制時(shí),并非高速信號(hào)采樣處理,所以選取合適的頻率即可。合適頻率的晶振對(duì)于選頻信號(hào)強(qiáng)度與準(zhǔn)確度都有好處,本次設(shè)計(jì)采用8.000M無源晶振接入XTAL1和XTAL2兩個(gè)管腳。并聯(lián)兩個(gè)30pF瓷片電容來幫助起振。</p><p>  在本次設(shè)計(jì)中,采用上電復(fù)位電路,通過對(duì)外部復(fù)位電路的電容充電,使得電源Vcc的上升時(shí)間不超

31、過1ms來完成復(fù)位。該電路采用一個(gè)1K左右的電阻和一個(gè)10μF的電容串聯(lián)完成,如圖2.7:</p><p><b>  圖2.7 復(fù)位電路</b></p><p>  2.2.2 16*16LED顯示板設(shè)計(jì)</p><p>  本設(shè)計(jì)中的LED顯示板是由共196個(gè)發(fā)光二極管(即LED)組成,形成一個(gè)16*16矩陣的LED顯示屏。之前所提及的行列

32、驅(qū)動(dòng)器的設(shè)計(jì)在此進(jìn)行說明。引16根行驅(qū)動(dòng)器線接至發(fā)光二極管的正極,引16根列驅(qū)動(dòng)器線接至發(fā)光二極管的負(fù)極。這樣就能完成單片機(jī)對(duì)LED顯示屏的控制。其原理圖見附錄A。</p><p>  2.2.2.1 圖文顯示</p><p>  圖文顯示是通過動(dòng)態(tài)掃描來完成的。動(dòng)態(tài)掃描就是一列一列輪流點(diǎn)亮LED燈。首先輸出對(duì)應(yīng)第一列發(fā)光管亮滅的數(shù)據(jù)并保持,然后選通第一列,使其點(diǎn)亮一定時(shí)間之后熄滅;再送出

33、第二列的數(shù)據(jù)并保持,之后選通第二列使其點(diǎn)亮相同的時(shí)間,熄滅;以此類推,第十六列之后,再重新點(diǎn)亮第一列,如此循環(huán)。當(dāng)這樣循環(huán)的速度足夠快的時(shí)候(每秒24次以上),因?yàn)槿搜塾幸曈X暫留現(xiàn)象,所以可以看到LED顯示屏上穩(wěn)定的圖文信息。</p><p>  2.2.3 A/D轉(zhuǎn)換模塊設(shè)計(jì)</p><p>  本設(shè)計(jì)采用TLC0820型A/D轉(zhuǎn)換器。TLC0820是采用先進(jìn)LinCMOS工藝制造的8位

34、A/D轉(zhuǎn)換器 ,它由2個(gè)4位的閃速(FLASH)轉(zhuǎn)換器 ,1個(gè)4位的數(shù)模轉(zhuǎn)換器 ,1個(gè)計(jì)算誤差放大器 ,控制邏輯電路和結(jié)果鎖存電路組成。其特點(diǎn)為:(1)采用8位并行輸出;(2)讀方式最快轉(zhuǎn)換時(shí)間為2.5µs;(3)不需要外部時(shí)鐘和震蕩元件;(4)片內(nèi)具有跟蹤和保持電路;(5)單電源供電。</p><p>  在本設(shè)計(jì)中,單片機(jī)的P2口A/D會(huì)讀入轉(zhuǎn)換完成的數(shù)據(jù),同時(shí),它也控制控制16*16點(diǎn)陣行線。 在

35、模式0中,只需顯示漢字,不用讀取D轉(zhuǎn)換器輸出的數(shù)據(jù),為使A/D轉(zhuǎn)換器的輸出不影響P2口輸出,所以必須將A/D轉(zhuǎn)換器輸出置高阻態(tài);在模式1-3中,A/D轉(zhuǎn)換器將采集數(shù)據(jù),P2口要先將A/D轉(zhuǎn)換器所采集到的數(shù)據(jù)讀入單片機(jī),經(jīng)由單片機(jī)處理后,通過P2口輸出。因?yàn)樵谧x取A/D轉(zhuǎn)換器數(shù)據(jù)時(shí),LED顯示屏仍然要正常顯示,所以一定要把P2口讀取A/D轉(zhuǎn)換器以前輸出的數(shù)據(jù)進(jìn)行鎖存。當(dāng)單片機(jī)把數(shù)據(jù)處理完成之后,P2口才送出顯示數(shù)據(jù)。</p>

36、<p>  下面說明一下模式0時(shí)和模式1-3時(shí)的設(shè)置。電路工作在模式0的時(shí)候,不讀A/D轉(zhuǎn)換器數(shù)據(jù),可令OE=1,這樣A/D轉(zhuǎn)換器輸出將不會(huì)影響P2的輸出。而當(dāng)電路工作在模式1-3時(shí),讀A/D轉(zhuǎn)換器數(shù)據(jù)之前,令LE=0,把P2口輸出的數(shù)據(jù)鎖存,然后讓OE=0,P2口讀A/D轉(zhuǎn)換器輸出的數(shù)據(jù),數(shù)據(jù)讀完之后再使OE=1,等單片機(jī)數(shù)據(jù)處理完畢后,P2口輸出數(shù)據(jù),這時(shí)可令LE=1,點(diǎn)陣顯示P2口送出的數(shù)據(jù)。</p>&

37、lt;p><b>  電路圖如圖2.8:</b></p><p>  圖2.8 A/D轉(zhuǎn)換器電路圖</p><p><b>  2.2.4行驅(qū)動(dòng)器</b></p><p>  由于單片機(jī)引腳的驅(qū)動(dòng)能力有限,故12行線用74系列芯片驅(qū)動(dòng),前八行用74LS573驅(qū)動(dòng),后四行由CMOS的 四2輸入與門74HC08驅(qū)動(dòng)。 7

38、4LS573原理:74LS573 的八個(gè)鎖存器都是透明的D 型鎖存器,當(dāng)電平為高時(shí),Q 輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)電平為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉(OE=1)時(shí),新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅(qū)動(dòng)器和工作寄存器。 在本設(shè)計(jì)中由于P2口需分

39、時(shí)復(fù)用,所以74LS573的輸入數(shù)據(jù)需要鎖存,鎖存控制端由單片機(jī)控制。74HC08為四輸入與門,在本設(shè)計(jì)中將兩輸入端并在一起,相當(dāng)于一個(gè)緩沖器的功能。74LS573,7HC08輸出高點(diǎn)平為5V,所以驅(qū)動(dòng)發(fā)光二級(jí)管中間串了一個(gè)電阻限流。 </p><p>  行驅(qū)動(dòng)器原理圖如圖2.9:</p><p>  圖2.9 行驅(qū)動(dòng)器電路圖</p><p>  2.2.5 列驅(qū)

40、動(dòng)器</p><p>  74LS138 為3 線-8 線譯碼器,其工作原理如下: </p><p>  (1)當(dāng)一個(gè)選通端(E1)為高電平,另兩個(gè)選通端((E2)和(E3))為低電平時(shí),可將地址端(A0、A1、A2)的二進(jìn)制編碼在Y0至Y7對(duì)應(yīng)的輸出端以低電平譯出。比如:A2A1A0=110時(shí),則Y6輸出端輸出低電平信號(hào)。(2)利用 E1、E2和E3可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;

41、若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器;(3)若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器;(4)可用在8086的譯碼電路中,擴(kuò)展內(nèi)存。 在采用掃描方式顯示時(shí),由于每列要帶動(dòng)十六個(gè)二極管,每列電流較大。若每個(gè)二極管安5mA計(jì)算,十六個(gè)二極管就得80mA電流,超出單片機(jī)管腳的承受范圍,因此每列都加有一個(gè)驅(qū)動(dòng)器,如果列驅(qū)動(dòng)用十六個(gè)PNP型三極管。三極管的發(fā)射極接5V電壓,集電極接點(diǎn)陣的列線,而它的基級(jí)接單片機(jī),

42、但該接線方式占用為了十六個(gè)單片機(jī)管腳,為了節(jié)省單片機(jī)管腳,本設(shè)計(jì)中的16*16點(diǎn)陣的16列由74LS138驅(qū)動(dòng)。只需4個(gè)引腳即可驅(qū)動(dòng)16列線。 因一個(gè)74LS138只有8個(gè)譯碼輸出端,所以可用兩個(gè)3-8譯碼器接成4-16譯碼器,其原理圖如圖2.10所示:</p><p>  圖2.10 列驅(qū)動(dòng)器電路圖</p><p>  由圖可得:當(dāng)A3=0時(shí),U4被關(guān)閉,U4的8位輸出全部為高,但U3正

43、常工作,即可正常譯出輸入碼A3A2A1A0為0000-0111的八種碼,即實(shí)現(xiàn)3線-8線譯碼功能;當(dāng)A3=1時(shí),U3被關(guān)閉,U3的8位輸出全部為高,但U4正常工作,即可正常譯出輸入碼A3A2A1A0為1000-1111的八種碼,即實(shí)現(xiàn)3線-8線譯碼功能。所以該電路可譯出輸入碼A3A2A1A0為0000-1111的16種碼,即實(shí)現(xiàn)4線-16線譯碼功能。本設(shè)計(jì)電路中點(diǎn)陣有16列,故16位譯碼輸出分別對(duì)應(yīng)輸入碼A3A2A1A0為:0000-1

44、111。</p><p>  2.2.6 音頻放大電路</p><p>  手機(jī)音頻信號(hào)只有10幾毫伏,所以必須要經(jīng)過合適的放大后才能供ADC采集和驅(qū)動(dòng)揚(yáng)聲器。TPA741是一款TI公司的低壓供電的音頻功率放大器。該TPA741是一個(gè)橋式推挽(BTL)音頻功率放大器,可以驅(qū)動(dòng)RL = 8 ?的揚(yáng)聲器負(fù)載,其內(nèi)部結(jié)構(gòu)如圖2.11所示:</p><p>  圖2.11

45、TPA741內(nèi)部結(jié)構(gòu)電路圖</p><p>  由圖可知到:其輸出是差分的;所以該放大器的放大倍為A=-2*(Rf/R1);在本設(shè)計(jì)中,R1=10K,Rf為100K的滑動(dòng)變阻器,最大放大倍數(shù)為20倍。因?yàn)樵撨\(yùn)放是差分輸出的,且輸出的交流分量輸出信號(hào)峰值還沒達(dá)到5V,不能直接送給ADC,所以在TPA741后接了一個(gè)三極管放大電路,一方面將雙端信號(hào)變?yōu)閱味诵盘?hào),另一方面將信號(hào)進(jìn)一步放大,以達(dá)到ADC的采樣要求。<

46、;/p><p>  三極管與TPA741輸出采用交流耦合方式,經(jīng)過調(diào)試之后,選擇R16=7.7K,R14=R17=1.2K,可使三極管放大電路靜態(tài)時(shí)的Vc=1.2V。這樣可使沒有外接手機(jī)信號(hào)時(shí),供AD采樣的電壓為1.2V,對(duì)應(yīng)的點(diǎn)陣點(diǎn)亮最低四位。 </p><p>  音頻放大電路原理圖如圖2.12:</p><p>  圖2.12 音頻放大電路</p>

47、<p>  2.2.7 繼電器切換電路</p><p>  在本設(shè)計(jì)中音頻信號(hào)有兩個(gè)來源,在不同的電路模式中,將對(duì)不同的音頻信號(hào)進(jìn)行采集,所以可通過繼電器切換來改變音頻信號(hào)。 使用的繼電器是5V驅(qū)動(dòng)的內(nèi)阻為160?的繼電器,正常工作的電流為31mA;單片機(jī)無法驅(qū)動(dòng)繼電器,所以可用三極管來驅(qū)動(dòng)。基極電阻R11=20K,當(dāng)Relay為高電平時(shí),基極電流為Ib=[(5-0.7)/20]mA=0.215mA,三

48、極管放大倍數(shù)B=140,所以可得Ic=B*Ib=30.1mA,可以正常驅(qū)動(dòng)繼電器。</p><p>  繼電器切換電路如圖2.13:</p><p>  圖2.13 繼電切換電路</p><p><b>  3 程序設(shè)計(jì)部分</b></p><p>  3.1 音頻信號(hào)的采集和預(yù)處理</p><p&g

49、t;  3.1.1 采樣頻率</p><p>  根據(jù)香農(nóng)采樣定理,一般采樣頻率至少應(yīng)為所采樣音頻信號(hào)最高頻率的2倍。由于人耳能夠感受的頻率為20Hz~20kHz,所以理論上采樣頻率最高取40kHz。目前工業(yè)上廣泛采用的采樣頻率大致有三種:44kHz、16bit的聲音叫做CD音質(zhì);22kHz、16bit的聲音效果近似于立體聲廣播的廣播音質(zhì);11kHz、8bit的聲音被稱為電話音質(zhì)。在此次設(shè)計(jì)當(dāng)中,為了提高頻譜計(jì)算

50、的精度,決定采用40kHz的采樣頻率和8bit的數(shù)據(jù)位長(zhǎng)。</p><p>  3.1.2 樣本大小</p><p>  采樣頻率確定后,還需確定樣本值,即完成一次FFT運(yùn)算所需的采樣點(diǎn)數(shù)。根據(jù)數(shù)字信號(hào)處理的基本原理,假設(shè)采樣頻率為Fs,采樣點(diǎn)數(shù)為N,則FFT運(yùn)算后,第n點(diǎn)所表示的頻率為:</p><p><b> ?。?.1)</b><

51、/p><p>  Fn若要精確到Hz,則需采樣長(zhǎng)度為(1/f)s的信號(hào)。提高頻率分辨率,需增加采樣點(diǎn)數(shù),但這在一些實(shí)際應(yīng)用中是不現(xiàn)實(shí)的,則采用有頻率細(xì)分法,即采樣比較短時(shí)間的信號(hào),然后在后面補(bǔ)充一定數(shù)量的0,使其長(zhǎng)度達(dá)到所需的點(diǎn)數(shù),再作FFT,這在一定程度上能夠提高頻率分辨率。由于該系統(tǒng)是將音頻信號(hào)頻譜劃分成14段顯示,因此采用16點(diǎn)FFT運(yùn)算,去掉第1點(diǎn)和第16點(diǎn)的結(jié)果即可。</p><p>

52、;  3.2 音頻頻譜算法</p><p>  音頻頻譜值的計(jì)算采用快速傅立葉算法FFT(Fast Fourier Transform),為了提高顯示器的刷新頻率,系統(tǒng)每隔10ms讀取16次A/D轉(zhuǎn)換值,得到16點(diǎn)實(shí)數(shù)序列,緊接著完成16點(diǎn)FFT運(yùn)算得到16點(diǎn)復(fù)數(shù)序列。</p><p>  3.2.1 倒位序及其優(yōu)化算法</p><p>  基2

53、-FTT算法將原始數(shù)據(jù)倒位序存儲(chǔ),但運(yùn)算后的結(jié)果則按正常順序輸出。原始采樣數(shù)據(jù)放在數(shù)組float datalm[16]中,datalm[0]存放第1次讀取的A/D轉(zhuǎn)換值,datalm[1]存放第2次讀取的A/D轉(zhuǎn)換值,以此類推,可見第n(n=(b3b2b1b0)b)次讀取的A/D轉(zhuǎn)換值存放在dataIm[n]中。倒序操作后采樣數(shù)據(jù)存儲(chǔ)在float dataRe[16]中,原來第n次讀取的A/D轉(zhuǎn)換值存放在datalm

54、[n](n=(b0b1b2b3)b)中。根據(jù)樣本大小在系統(tǒng)代碼段中建立倒序表數(shù)組,利用查表方式來實(shí)現(xiàn)快速倒序操作,比移位操作等方法的運(yùn)算速度相比,查表方式的預(yù)算速度明顯加快。 </p><p>  3.2.2 蝶形運(yùn)算及其優(yōu)化算法</p><p>  根據(jù)基2-FFT算法,N點(diǎn)FFT運(yùn)算可以分成log2N級(jí),每一級(jí)都有N/2個(gè)蝶形運(yùn)算,如圖3.2.2所示。 </p><

55、p><b>  圖3.1 蝶式運(yùn)算</b></p><p>  蝶形運(yùn)算公式的推導(dǎo)過程如下:</p><p>  (3.2) (3.3)</p><p><b>  式中,。</b></p><p>  將式(3.2)化簡(jiǎn)成實(shí)部與虛部的形式

56、得:</p><p><b>  (3.4)</b></p><p><b>  (3.5)</b></p><p>  同理,將(3.3)式簡(jiǎn)化可得:</p><p><b>  (3.6)</b></p><p><b>  (3.7)&l

57、t;/b></p><p>  可見每個(gè)蝶形運(yùn)算的輸出都是由其輸入值與某一正弦函數(shù)和余弦函數(shù)的乘積累加得到的。由式(3.4)~式(3.7)編制正弦和余弦表,每次做蝶形運(yùn)算時(shí)可查表加快運(yùn)算速度。</p><p><b>  3.3 源程序設(shè)計(jì)</b></p><p>  本次設(shè)計(jì)中的源程序采用C語言進(jìn)行設(shè)計(jì)。51系列單片機(jī)的編程語言常用的有

58、二種,一種是匯編語言,一種是C語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂。而C語言作為一種編譯型程序設(shè)計(jì)語言,它具備了多種高級(jí)語言的特點(diǎn),并且具有匯編語言的功能。C語言有功能強(qiáng)大的庫(kù)函數(shù)、運(yùn)算速度快、編譯效率高、有良好的可移植性,而且可以直接實(shí)現(xiàn)對(duì)系統(tǒng)硬件的控制。C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,它支持當(dāng)前程序設(shè)計(jì)中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。此外,C語言程序具有完善的模塊程序結(jié)構(gòu),從而為軟

59、件開發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。因此,使用C語言進(jìn)行程序設(shè)計(jì)已成為軟件開發(fā)的一個(gè)主流。用C語言來編寫目標(biāo)系統(tǒng)軟件,會(huì)大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。用單片機(jī)C語言程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì),因此,本次設(shè)計(jì)采用的C語言來設(shè)計(jì)開發(fā)程序。</p><p>  3.3.1 快速傅立葉變換程序</p><p>

60、;  for(i=0;i<fft_control_2;i++){ //各級(jí)</p><p>  gap=1<<i; //計(jì)算間隔</p><p>  or(j=0;j<=gap-1;j++){ //蝶形運(yùn)算1,間隔中的各蝶形</p&g

61、t;<p>  wn=j*(1<<(fft_control_2-1-i)); //旋轉(zhuǎn)因子序數(shù)</p><p>  for(k=j;k<fft_control_1;k+=gap<<1){ //蝶形運(yùn)2</p><p>  Temp_Real1=Fft_Real[k];</p><p>  

62、Temp_Image1=Fft_Image[k];</p><p>  Temp_Real2=Fft_Real[k+gap];</p><p>  Temp_Image2=Fft_Image[k+gap];</p><p>  Real_buffer=((Temp_Real2*FFT_costable[wn]))-((Temp_Image2*FFT_sintable

63、[wn]));</p><p>  Image_buffer=((Temp_Real2*FFT_sintable[wn]))+((Temp_Image2*FFT_costable[wn]));</p><p>  Fft_Real[k]=Temp_Real1+Real_buffer;</p><p>  Fft_Image[k]=Temp_Image1+Image_

64、buffer;</p><p>  Fft_Real[k+gap]=Temp_Real1-Real_buffer;</p><p>  Fft_Image[k+gap]=Temp_Image1-Image_buffer;</p><p>  Fft_Image[k]/=2;</p><p>  Fft_Real[k]/=2;</p>

65、;<p>  Fft_Image[k+gap]/=2;</p><p>  Fft_Real[k+gap]/=2;}</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.3.2 AD采樣控制程序</p><p>

66、;  #defineADC_Sample_F40000L //采用頻率宏定義</p><p>  #defineStart_Tim0()TR0=1 //定時(shí)器0啟動(dòng)</p><p>  #defineStop_Tim0()TR0=0 //定時(shí)器0停

67、止計(jì)時(shí)</p><p>  #defineadc_point64 //采樣點(diǎn)數(shù)</p><p>  #definegain4 //去干擾系數(shù)</p><p>  /**************ADC中斷服務(wù)函數(shù)*************

68、**/</p><p>  voidADC_1_ISR(void)interrupt5using1{</p><p>  unsignedchartempl,temph,t;</p><p>  templ=ADC_RESL;</p><p>  temph=ADC_RES;</p><p>  t=FFT_Inver

69、_Table[counter++];//查倒序表,counter為全局變量,計(jì)數(shù)當(dāng)前點(diǎn)</p><p>  Fft_Real[t]=(unsignedint)(templ&0x3|((unsignedint)(temph)<<gain))-512;</p><p>  if(counter==adc_point){ //判斷是否達(dá)到規(guī)定

70、的采樣點(diǎn)數(shù)</p><p>  counter=0;Stop_Tim0(); //關(guān)閉控制頻率定時(shí)器</p><p>  flat=1;} //用于標(biāo)記,采集完成</p><p>  ADC_CONTR&=~0X10;

71、 //清楚中斷標(biāo)志位}</p><p>  /**********使用定時(shí)器0控制采樣頻率************/</p><p>  voidTim0_ISR(void)interrupt1using1 //工作在8位自動(dòng)重載方式</p><p><b>  {</b></p><p>  A

72、DC_CONTR|=0X08; //啟動(dòng)ADC轉(zhuǎn)換</p><p><b> ?。?lt;/b></p><p>  3.3.3 系統(tǒng)初始化和循環(huán)控制部分</p><p>  voidmain(void){</p><p>  Systim_CLK_Config();

73、 //STC時(shí)鐘配置</p><p>  Peripheral_Init(); //包括定時(shí)器0,1,ADC模塊的初始化工作</p><p>  fft_init(); //fft運(yùn)算初始化暫存數(shù)據(jù)</p><p>  my_GPIO_Init();

74、//STCIO口配置</p><p>  LCD_Init(); //OLED顯示配置</p><p>  LCD_CLS(); //清屏</p><p>  counter=0; //全局變量初始化</p><p>&

75、lt;b>  flat=0;</b></p><p><b>  EA=1;</b></p><p>  Start_Tim0(); //啟動(dòng)定時(shí)器</p><p>  0Start_Tim1(); //啟動(dòng)定時(shí)器</p><p> 

76、 1Start_ADC(); //啟動(dòng)ADC模塊</p><p><b>  while(1){</b></p><p>  if(flat){ //采集完成后進(jìn)行FFT運(yùn)算</p><p><b>  flat=0;</b></p>&

77、lt;p><b>  FFT();</b></p><p>  fft_init();</p><p>  Start_Tim0(); //重新開始定時(shí)器0</p><p><b>  }</b></p><p><b>  }}</b></p&

78、gt;<p>  3.3.4 文字滾動(dòng)程序</p><p>  /**************16*16點(diǎn)陣屏的移動(dòng)顯示****************/</p><p>  #include <reg51.h></p><p>  #include <intrins.h></p><p>  #def

79、ine uchar unsigned char</p><p>  #define DATE_OUT P1 //指定P1口做為輸出</p><p>  sbit DATA_595=DATE_OUT^0; //列數(shù)據(jù)輸出位</p><p>  sbit RCK_595=DATE_OUT^1;

80、 //列掃描時(shí)鐘位</p><p>  sbit SCK_595=DATE_OUT^2; //列數(shù)據(jù)鎖存位</p><p>  sbit CLK_164=DATE_OUT^3; //行數(shù)據(jù)輸出位</p><p>  sbit AB_164 =DATE_OUT^4; //行掃

81、描時(shí)鐘位</p><p>  unsigned char date[32]; //32字節(jié)RAM做為16*16點(diǎn)陣屏顯示緩存</p><p>  void display(); //做為點(diǎn)陣掃描函數(shù),將顯示緩存的數(shù)據(jù)輸出到點(diǎn)陣屏</p><p>  void display_t

82、ime(unsigned int timer); //指定時(shí)間掃描顯示</p><p>  void displaymove(unsigned char *lp,unsigned char c,unsigned char timer); //顯示漢字內(nèi)容的移動(dòng)效果,LP指向要顯示第一</p><p>  個(gè)字的首地址,C表示顯示字的個(gè)數(shù),tim

83、er是移</p><p><b>  動(dòng)的速度</b></p><p>  void displaymovetb(unsigned char din,unsigned char *lp,unsigned char timer); //上下移動(dòng)內(nèi)容,din:1為向下,0為向上,lp</p><p> 

84、 指向要移入的內(nèi)容,timer為移動(dòng)速度</p><p>  void delay(unsigned int a); //延時(shí)子函數(shù)</p><p>  code uchar gan[32]={ //感 </p><p>  0x00,0x50,

85、0x00,0x48,0x7F,0xFC,0x40,0x40,0x7F,0xC0,0x40,0x48,0x5F,0x48,0x51,0x50,0x51,0x22,0x5F,0x52,0x90,0x8E,0x02,0x00,0x29,0x90,0x28,0xAC,0x48,0x24,0x07,0xE0};</p><p>  code uchar xie[32]={

86、 //謝</p><p>  0x02,0x08,0x44,0x88,0x2F,0xC8,0x28,0x88,0x0F,0x88,0x08,0xFE,0xEF,0x88,0x28,0x88,0x28,0xC8,0x3F,0xA8,0x21,0xA8,0x2A,0x88,0x34,0x88,0x28,0x88,0x12,0xA8,0x01,0x10};</p><p>  c

87、ode uchar shi[32]={ //使</p><p>  0x10,0x40,0x10,0x44,0x1F,0xFE,0x20,0x40,0x27,0xFC,0x64,0x44,0xA4,0x44,0x24,0x44,0x27,0xFC,0x24,0x44,0x22,0x40,0x21,0x80,0x20,0xC0,0x21,0x30,

88、0x26,0x0E,0x28,0x04};</p><p>  code uchar yong[32]={ //用</p><p>  0x00,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0

89、xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x41,0x08,0x41,0x28,0x80,0x10};</p><p>  code uchar yin[32]={ //音</p><p>  0x02,0x00,0x01,0x10,0x3F,0xF8,0x08,0x20,0x04,0x20,0x

90、04,0x44,0xFF,0xFE,0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10};</p><p>  code uchar yue[32]={ //樂</p><p>  0x00,0x2

91、0,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F,0xFE,0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02,0x00};</p><p>  code uchar pin[32]={

92、 //頻</p><p>  0x10,0x04,0x13,0xFE,0x54,0x20,0x5E,0x44,0x51,0xFE,0x55,0x04,0xFF,0x24,0x11,0x24,</p><p>  0x55,0x24,0x55,0x24,0x55,0x24,0x95,0x24,0x08,0x20,0x10,0x50,0x20,0x8C,0x43,0x04};

93、</p><p>  code uchar pu[32]={ //譜</p><p>  0x01,0x10,0x40,0xA0,0x27,0xFC,0x20,0xA0,0x02,0xA8,0x01,0xB0,0xEF,0xFE,0x20,0x08,0x23,0xFC,0x22,0x08,0x22,0x08,0x23,0x

94、F8,0x2A,0x08,0x32,0x08,0x23,0xF8,0x02,0x08};</p><p>  code uchar xian[32]={ //顯</p><p>  0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1

95、F,0xF0,0x14,0x50,0x44,0x44,0x34,0x4C,0x14,0x50,0x04,0x40,0x04,0x44,0xFF,0xFE,0x00,0x00};</p><p>  code uchar si[32]={ //示</p><p>  0x00,0x10,0x3F,0xF8,0x00,0x00

96、,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x01,0x00,0x01,0x00,0x09,0x20,0x19,0x18,0x21,0x0C,0x41,0x04,0x01,0x00,0x05,0x00,0x02,0x00};</p><p>  code uchar qi[32]={ //器</p&g

97、t;<p>  0x3E,0xF8,0x22,0x88,0x22,0x88,0x22,0x88,0x3E,0xF8,0x01,0x20,0x01,0x14,0xFF,0xFE,0x02,0x80,0x0C,0x60,0x30,0x18,0xFE,0xFE,0x22,0x88,0x22,0x88,0x22,0x88,0x3E,0xF8};</p><p>  void main(void)

98、 //主入口函數(shù)</p><p><b>  {</b></p><p>  unsigned char i=0,j=0;</p><p>  for(i=0;i<32;i++)</p><p>  date[i]=gan[i];

99、 //將"感"復(fù)制到顯示緩存</p><p><b>  while(1){</b></p><p>  display_time(2); //顯示約2秒</p><p>  displaymove(xie,10,7); //將從"謝&

100、quot;開始的四個(gè)漢字從右向左移動(dòng)</p><p>  display_time(1); //等持約1秒</p><p>  displaymovetb(1,0,10); //將點(diǎn)陣上顯示的內(nèi)容向下以10的速度移出,補(bǔ)上0,即清空顯示屏</p><p>  display_time(1);

101、 //等待1秒</p><p>  displaymovetb(0,gan,10); //將"感"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,xie,10); //將"謝"字以10的速度向上移動(dòng)</p><p>  displaymovet

102、b(0,shi,10); //將"使"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,yong,10); //將"用"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,yin,10); //將"音"字以10的速度向上移動(dòng)</p><

103、p>  displaymovetb(0,yue,10); //將"樂"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,pin,10); //將"頻"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,pu,10); //將"譜"字以10的

104、速度向上移動(dòng)</p><p>  displaymovetb(0,xian,10); //將"顯"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,si,10); //將"示"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,qi,10); //將&qu

105、ot;器"字以10的速度向上移動(dòng)</p><p>  displaymovetb(0,0,10); //以10的速度向上清空</p><p>  display_time(1); //等待1秒</p><p>  displaymovetb(1,gan,10); //將"gan"字以1

106、0的速度向下移動(dòng)</p><p><b>  }</b></p><p><b>  }</b></p><p>  void display() //顯示</p><p><b>  {</b><

107、/p><p>  unsigned char i,ia,j,tmp; //定義變量</p><p>  DATE_OUT=0XFF; //置位高電平做準(zhǔn)備</p><p>  AB_164=0; //行數(shù)據(jù)位清0,準(zhǔn)備移位</p><p>  for(i

108、=0;i<16;i++){ //循環(huán)輸出16行數(shù)據(jù)</p><p>  CLK_164=0; //行移位</p><p>  RCK_595=0; //列鎖存</p><p>  for(ia=2;ia>0;){

109、 //每行16個(gè)點(diǎn),循環(huán)位移兩個(gè)字節(jié)</p><p>  ia--; //循環(huán)兩次</p><p>  tmp=~date[i*2+ia]; //讀取點(diǎn)陣數(shù)據(jù)做輸出,是先讀取點(diǎn)陣數(shù)據(jù)的第二位字節(jié),因一行16個(gè)點(diǎn)由兩個(gè)字節(jié)組成,電路中的移位寄存器最后一位對(duì)應(yīng)最后一列,所以要先輸出一行中的第二個(gè)字節(jié)數(shù)據(jù)&

110、lt;/p><p>  for(j=0;j<8;j++){ //循環(huán)兩次,每次移一個(gè)字節(jié),</p><p>  SCK_595=0; //為列移位做準(zhǔn)備</p><p>  DATA_595=tmp&0x01; //將數(shù)據(jù)低位做輸出,由電路圖可知,移位寄存器的最后

111、一位對(duì)應(yīng)最后一列,因此先移最后一位</p><p>  tmp>>=1; //將數(shù)據(jù)緩沖右移一位,為下次輸出做準(zhǔn)備</p><p>  SCK_595=1; //將DATA上的數(shù)據(jù)移入寄存器</p><p>  } //移入單字節(jié)結(jié)束</p>

112、<p>  } //移入兩個(gè)字節(jié)結(jié)束</p><p>  DATE_OUT|=0X0A; //此句可以用以下兩句來理解,如果不將兩句合為一句,將出現(xiàn)拖影現(xiàn)像</p><p>  RCK=1; //RCK拉高,行數(shù)據(jù)移位,相應(yīng)行拉低,三極管導(dǎo)通輸

113、出電量到相應(yīng)行點(diǎn)陣管陽(yáng)極(共陽(yáng))</p><p>  CLK=1; //CLK拉高,將數(shù)據(jù)鎖存輸出到相應(yīng)列的點(diǎn)陣發(fā)光管顯示,顯示一行后將保持到下一行顯示開始</p><p>  AB_164=1; //行數(shù)據(jù)位只在第一行時(shí)為0,其它時(shí)候都為1,當(dāng)將這個(gè)0移入寄存器后,從第一位開始一直移位最后一

溫馨提示

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

評(píng)論

0/150

提交評(píng)論