版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 摘要: 本音頻信號(hào)分析儀由32位MCU為主控制器,通過(guò)AD轉(zhuǎn)換,對(duì)音頻信號(hào)進(jìn)行采樣,把連續(xù)信號(hào)離散化,然后通過(guò)FFT快速傅氏變換運(yùn)算,在時(shí)域和頻域?qū)σ纛l信號(hào)各個(gè)頻率分量以及功率等指標(biāo)進(jìn)行分析和處理,然后通過(guò)高分辨率的LCD對(duì)信號(hào)的頻譜進(jìn)行顯示。該系統(tǒng)能夠精確測(cè)量的音頻信號(hào)頻率范圍為20Hz-10KHz,其幅度范圍為10mVpp-5Vpp,分辨力分為20Hz和100Hz兩檔。測(cè)量功率精確度高達(dá)1%,并且能夠準(zhǔn)確的測(cè)
2、量周期信號(hào)的周期,是理想的音頻信號(hào)分析儀的解決方案。</p><p> 關(guān)鍵詞: FFT MCU 頻譜 功率</p><p><b> 目錄</b></p><p> 1 方案論證與比較5</p><p> 1.1 采樣方法方案論證5</p><p> 1.2 處理器的選擇
3、方案論證錯(cuò)誤!未定義書(shū)簽。</p><p> 1.3 周期性判別與測(cè)量方法方案論證錯(cuò)誤!未定義書(shū)簽。</p><p><b> 2 系統(tǒng)設(shè)計(jì)7</b></p><p> 2.1 總體設(shè)計(jì)7</p><p> 2.2 單元電路設(shè)計(jì)5</p><p> 2.2.1 前級(jí)阻
4、抗匹配和放大電路設(shè)計(jì)5</p><p> 2.2.2 AD轉(zhuǎn)換及控制模塊電路設(shè)計(jì)6</p><p> 2.2.3 功率譜測(cè)量單元電路設(shè)計(jì)6</p><p><b> 3 軟件設(shè)計(jì)7</b></p><p><b> 4系統(tǒng)測(cè)試8</b></p><p&g
5、t;<b> 5 結(jié)論9</b></p><p><b> 參考文獻(xiàn):9</b></p><p><b> 附錄:9</b></p><p> 附1:元器件明細(xì)表:9</p><p> 附2:儀器設(shè)備清單9</p><p> 附3
6、:電路圖圖紙10</p><p> 附4:程序清單11</p><p><b> 方案論證與比較</b></p><p> 1.1 采樣方法比較與選擇</p><p> 方案一、用DDS芯片配合FIFO對(duì)信號(hào)進(jìn)行采集,通過(guò)DDS集成芯片產(chǎn)生一個(gè)頻率穩(wěn)定度和精度相當(dāng)高的信號(hào)作為FIFO的時(shí)鐘,然后由FIFO對(duì)A
7、/D轉(zhuǎn)換的結(jié)果進(jìn)行采集和存儲(chǔ),最后送MCU處理。</p><p> 方案二、直接由32位MCU的定時(shí)中斷進(jìn)行信號(hào)的采集,然后對(duì)信號(hào)分析。</p><p> 由于32位MCU -LPC2148是60M的單指令周期處理器,所以其定時(shí)精確度為16.7ns,已經(jīng)遠(yuǎn)遠(yuǎn)可以實(shí)現(xiàn)我們的40.96KHz的采樣率,而且控制方便成本便宜,所以我們選擇由MCU直接采樣。</p><p&g
8、t; 1.2 處理器的比較與選擇</p><p> 系統(tǒng)方案一:基于ARMST710的專(zhuān)用芯片的體統(tǒng)方案?;贏RM ST710音頻頻譜分析儀系統(tǒng)原理圖如下</p><p><b> 信號(hào)輸入</b></p><p> 該方案采用DSP專(zhuān)用芯片ARM ST710進(jìn)行控制和FFT計(jì)算,速度快,且具有波形存儲(chǔ)和處理后的波形可以重放功能。還配
9、有輸出接口與示波器銷(xiāo)量??梢詮臅r(shí)域和頻域觀察波形,非常直觀、實(shí)用。</p><p> 系統(tǒng)方案四:基于單片機(jī)C8051F060+FPGA構(gòu)成信號(hào)分析儀,該系統(tǒng)原理方框圖如圖所示。單片機(jī)C8051F060獨(dú)立完成4096點(diǎn)FFT運(yùn)算和信號(hào)的失真度分析。雖然這種方案在速度上不及采用專(zhuān)用DPS芯片快,但采用優(yōu)化的FFT,并將優(yōu)化后的FFT再單片機(jī)內(nèi)做實(shí)驗(yàn),利用外擴(kuò)的128KB RAM運(yùn)算4096點(diǎn)FFT計(jì)算幅度譜,利
10、用FPGA進(jìn)行測(cè)頻和控制。其運(yùn)算時(shí)間也不超過(guò)4S。能夠達(dá)到設(shè)計(jì)要求。</p><p><b> 信號(hào)輸入</b></p><p><b> 整形信號(hào)</b></p><p> 最終方案選擇:由于快速傅立葉變換FFT算法設(shè)計(jì)大量的浮點(diǎn)運(yùn)算,由于一個(gè)浮點(diǎn)占用四個(gè)字節(jié),所以要占用大量的內(nèi)存,同時(shí)浮點(diǎn)運(yùn)算時(shí)間很慢,所以采用普
11、通的8位MCU一般難以在一定的時(shí)間內(nèi)完成運(yùn)算,所以綜合內(nèi)存的大小以及運(yùn)算速度,我們采用Philips 的32位的單片機(jī)LPC2148,它擁有32K的RAM,并且時(shí)鐘頻率高達(dá)60M,所以對(duì)于浮點(diǎn)運(yùn)算不論是在速度上還是在內(nèi)存上都能夠很快的處理。</p><p> 1.3 周期性判別與測(cè)量方法比較與選擇</p><p> 對(duì)于普通的音頻信號(hào),頻率分量一般較多,它不具有周期性。測(cè)量周期可以在時(shí)
12、域測(cè)量也可以在頻域測(cè)量,但是由于頻域測(cè)量周期性要求某些頻率點(diǎn)具有由規(guī)律的零點(diǎn)或接近零點(diǎn)出現(xiàn),所以對(duì)于較為復(fù)雜的,頻率分量較多且功率分布較均勻且低信號(hào)就無(wú)法正確的分析其周期性。</p><p> 而在時(shí)域分析信號(hào),我們可以先對(duì)信號(hào)進(jìn)行處理,然后假定具有周期性,然后測(cè)出頻率,把采樣的信號(hào)進(jìn)行周期均值法和定點(diǎn)分析法的分析后即可以判別出其周期性。</p><p> 綜上,我們選擇信號(hào)在時(shí)域進(jìn)行
13、周期性分析和周期性測(cè)量。對(duì)于一般的音頻信號(hào),其時(shí)域變化是不規(guī)則的,所以沒(méi)有周期性。而對(duì)于單頻信號(hào)或者由多個(gè)具有最小公倍數(shù)的頻率組合的多頻信號(hào)具有周期性。這樣我們可以在頻域?qū)π盘?hào)的頻譜進(jìn)行定量分析,從而得出其周期性。而我們通過(guò)先假設(shè)信號(hào)是周期的,然后算出頻率值,然后在用此頻率對(duì)信號(hào)進(jìn)行采樣,采取連續(xù)兩個(gè)周期的信號(hào),對(duì)其值進(jìn)行逐次比較和平均比較,若相差太遠(yuǎn),則認(rèn)為不是周期信號(hào),若相差不遠(yuǎn)(約5%),則可以認(rèn)為是周期信號(hào)。</p>
14、<p><b> 2 系統(tǒng)設(shè)計(jì)</b></p><p><b> 2.1 總體設(shè)計(jì)</b></p><p> 音頻信號(hào)經(jīng)過(guò)一個(gè)由運(yùn)放和電阻組成的50 Ohm阻抗匹配網(wǎng)絡(luò)后,經(jīng)由量程控制模塊進(jìn)行處理,若是一般的100mV-5V的電壓,我們選擇直通,也就是說(shuō)信號(hào)沒(méi)有衰減或者放大,但是若信號(hào)太小,12位的A/D轉(zhuǎn)換器在2.5V參
15、考電壓的條件下的最小分辨力為1mV左右,所以如果選擇直通的話其離散化處理的誤差將會(huì)很大,所以若是采集到信號(hào)后發(fā)現(xiàn)其值太小,在20mV-250mV之間的話,我們可以將其認(rèn)定為小信號(hào),從而選擇信號(hào)經(jīng)過(guò)20倍增益的放大器后再進(jìn)行A/D采樣。</p><p> 經(jīng)過(guò)12位A/D轉(zhuǎn)換器ADS7819轉(zhuǎn)換后的數(shù)字信號(hào)經(jīng)由32位MCU進(jìn)行FFT變換和處理,分析其頻譜特性和各個(gè)頻率點(diǎn)的功率值,然后將這些值送由Atmega16進(jìn)
16、行顯示。信號(hào)由32 位MCU分析后判斷其周期性,然后由Atmegal6進(jìn)行測(cè)量,然后進(jìn)行顯示。</p><p> 2.2 單元電路設(shè)計(jì)</p><p> 2.2.1 前級(jí)阻抗匹配和放大電路設(shè)計(jì)</p><p> 信號(hào)輸入后通過(guò)R5,R6兩個(gè)100Ohm的電阻和一個(gè)高精度儀表運(yùn)放AD620實(shí)現(xiàn)跟隨作用,由于理想運(yùn)放的輸入阻抗為無(wú)窮大,所以輸入阻抗即為:R5/
17、/R6=50Ohm,阻抗匹配后的通過(guò)繼電器控制是對(duì)信號(hào)直接送給AD轉(zhuǎn)換還是放大20倍后再進(jìn)行AD轉(zhuǎn)換。</p><p> 在這道題目里,需要檢測(cè)各頻率分量及其功率,并且要測(cè)量正弦信號(hào)的失真度,這就要求在對(duì)小信號(hào)進(jìn)行放大時(shí),要盡可能少的引入信號(hào)的放大失真。正弦信號(hào)的理論計(jì)算失真度為零,對(duì)引入的信號(hào)失真非常靈敏,所以對(duì)信號(hào)的放大,運(yùn)放的選擇是個(gè)重點(diǎn)。</p><p> 我們選擇的運(yùn)放是TI
18、公司的低噪聲、低失真的儀表放大器INA217,其失真度在頻率為1KHz,增益為20dB(100倍放大)時(shí)僅為0.004%,其內(nèi)部原理圖如下圖所示。</p><p> 其中放大器A1的輸出電壓計(jì)算公式為</p><p> OUT1=1+(R1/RG)*VIN+</p><p> 同理, OUT2=1+(R2/RG)
19、*VIN--</p><p> R3、R4、R5、R6及A3構(gòu)成減法器,最后得到輸出公式</p><p> VOUT=(VIN2-VIN1)*[1+(R1+R2)/RG]</p><p> R1=R2=5K,取RG=526,從而放大倍數(shù)為20。</p><p> AD轉(zhuǎn)換及控制模塊電路設(shè)計(jì)</p><p>
20、采用12位AD轉(zhuǎn)換器ADS7819進(jìn)行轉(zhuǎn)換,將轉(zhuǎn)換的數(shù)據(jù)送32位控制器進(jìn)行處理。</p><p> 2.2.3 功率譜測(cè)量</p><p> 功率譜測(cè)量主要通過(guò)對(duì)音頻信號(hào)進(jìn)行離散化處理,通過(guò)FFT運(yùn)算,求出信號(hào)各個(gè)離散頻率點(diǎn)的功率值,然后得到離散化的功率譜。</p><p> 由于題目要求頻率分辨力為100Hz和20Hz兩個(gè)檔,這說(shuō)明在進(jìn)行FFT運(yùn)算前必須通
21、過(guò)調(diào)整采樣頻率(fK)和采樣的點(diǎn)數(shù)(N),使其基波頻率f為100Hz和20Hz。</p><p> 根據(jù)頻率分辨率與采樣頻率和采樣點(diǎn)數(shù)的關(guān)系:</p><p><b> f=fk/N;</b></p><p> 可以得知, fk=N*f;</p><p> 又根據(jù)采樣定理,采樣頻率fk必須
22、不小于信號(hào)頻率fm的2倍,即:</p><p><b> fk>=2fm;</b></p><p> 題目要求的最大頻率為10KHz,所以采樣頻率必須大于20KHz,考慮到FFT運(yùn)算在2的次數(shù)的點(diǎn)數(shù)時(shí)的效率較高,所以我們?cè)?0Hz檔時(shí)選擇40.96KHz采樣率,采集2048個(gè)點(diǎn),而在100檔時(shí)我們選擇51.2KHz采樣率,采集512個(gè)點(diǎn)。</p>
23、<p> 通過(guò)FFT 分析出不同的頻率點(diǎn)對(duì)應(yīng)的功率后,就可以畫(huà)出其功率譜,并可以在頻域計(jì)算其總功率。</p><p><b> 3 軟件設(shè)計(jì)</b></p><p> 主控制芯片為L(zhǎng)PC2148,測(cè)量周期為Atmega16實(shí)現(xiàn),由于處理器速度較快,所以采用c語(yǔ)言編程方便簡(jiǎn)單.軟件流程圖如下:</p><p> 主流程圖
24、 周期性分析和測(cè)量流程圖</p><p><b> 系統(tǒng)測(cè)試</b></p><p> 總功率測(cè)量(室溫條件下)</p><p> 結(jié)果分析: 由于實(shí)驗(yàn)室提供的能夠模仿音頻信號(hào)的且能方便測(cè)量的信號(hào)只有正弦信號(hào),所以我們用一款比較差點(diǎn)的信號(hào)發(fā)生器產(chǎn)生信號(hào),然后進(jìn)行測(cè)量,發(fā)現(xiàn)誤差不達(dá),在+-5
25、%以?xún)?nèi)。我們以音頻信號(hào)進(jìn)行測(cè)量,由于其實(shí)際值無(wú)法測(cè)量,所以我們只能根據(jù)時(shí)域和頻域以及估計(jì)其誤差,都在5%以?xún)?nèi)。</p><p> 4.2 單個(gè)頻率分量測(cè)量(室溫條件下)</p><p> 結(jié)果分析:我們首先以理論上單一頻率的正弦波為輸入信號(hào),在理想狀況下,其頻譜只在正弦波頻率上有值,而由于有干擾,所以在其他頻點(diǎn)也有很小的功率。</p><p> 音頻信號(hào)由于
26、有多個(gè)頻點(diǎn),所以沒(méi)有一定的規(guī)律性。由于音頻信號(hào)波動(dòng)較大,沒(méi)有一定的規(guī)律,且實(shí)驗(yàn)室沒(méi)有專(zhuān)門(mén)配置測(cè)量?jī)x器,所以我們只好以正弦波和三角波作為信號(hào)進(jìn)行定量分析測(cè)量,以及對(duì)音頻信號(hào)進(jìn)行定性的分析和測(cè)量。我們發(fā)現(xiàn)其數(shù)字和用電腦模擬的結(jié)果符合得很近。</p><p><b> 5 結(jié)論</b></p><p> 由于系統(tǒng)架構(gòu)設(shè)計(jì)合理,功能電路實(shí)現(xiàn)較好,系統(tǒng)性能優(yōu)良、穩(wěn)定,較好
27、地達(dá)到了題目要求的各項(xiàng)指標(biāo)。</p><p><b> 參考文獻(xiàn):</b></p><p> 《信號(hào)與系統(tǒng)》,張小虹著,西安:西安交通大學(xué)出版社;</p><p> 《數(shù)字圖像處理學(xué)》,張弘著,機(jī)械工業(yè)出版社;</p><p> 《模擬電子線路基礎(chǔ)》,童詩(shī)白、華成英著,高等教育出版社;</p>&l
28、t;p> 《數(shù)字電子技術(shù)基礎(chǔ)》,閻石著,高等教育出版社;</p><p> 《單片機(jī)原理及應(yīng)用》,李朝青著,北京航空航天大學(xué)出版社</p><p><b> 附錄:</b></p><p> 附1:元器件明細(xì)表:</p><p><b> LPC2148 </b></p>
29、<p><b> ATMEGA16</b></p><p><b> AD620</b></p><p><b> ADS7819</b></p><p><b> 液晶320*240</b></p><p><b> 附
30、2:儀器設(shè)備清單</b></p><p> 低頻信號(hào)發(fā)生器 </p><p> 數(shù)字萬(wàn)用表 </p><p><b> 失真度測(cè)量?jī)x</b></p><p><b> 數(shù)字示波器</b></p><p><b>
31、; 穩(wěn)壓電源</b></p><p><b> 附3:電路圖圖紙</b></p><p><b> 電源系統(tǒng)</b></p><p><b> 前級(jí)放大和AD轉(zhuǎn)換</b></p><p> Atmega16控制板</p><p>&
32、lt;b> 附4:程序清單</b></p><p> /*/////////////////////////////////////////////////////////////////////////////////////////////////</p><p> FFT轉(zhuǎn)換函數(shù),dataR:實(shí)部,datai:虛部,</p><p>
33、 ////////////////////////////////////////////////////////////////////////////////////////////////*/</p><p> void FFT(float *dataR,float *dataI,int n)</p><p><b> {</b></p>&l
34、t;p> int i,L,j,k,b,p,xx,qq;</p><p> int x[11]={0};</p><p> float TR,TI,temp;</p><p><b> float QQ;</b></p><p> //////////////////////////////////位倒置/
35、///////////////////////////////////////////////////</p><p> for(i=0;i<count[n];i++)</p><p><b> { xx=0;</b></p><p> for(j=0;j<n;j++)</p><p><b>
36、; x[j]=0;</b></p><p> for(j=0;j<n;j++)</p><p> {x[j]=(i/count[j])&0x01;}</p><p> for(j=0;j<n;j++)</p><p> {xx=xx+x[j]*count[n-j-1];}</p><
37、;p> dataI[xx]=dataR[i];</p><p><b> }</b></p><p> for(i=0;i<count[n];i++)</p><p> { dataR[i]=dataI[i]; </p><p> dataI[i]=0; </p><p>&
38、lt;b> }</b></p><p> ////////////////////////////////////蝶形運(yùn)算////////////////////////////////////////</p><p> for(L=1;L<=n;L++) </p><p> {
39、 </p><p> b=1; i=L-1;</p><p> while(i>0) </p><p><b> { b=b*2;</b></p><p><b> i--;</b></p><p> }
40、 </p><p> for(j=0;j<=b-1;j++) </p><p> { p=1; i=n-L; </p><p> while(i>0)
41、 </p><p> { p=p*2; i--;}</p><p><b> p=p*j;</b></p><p> for(k=j;k<count[n];k=k+2*b) </p><p><b> {
42、</b></p><p> TR=dataR[k]; </p><p> TI=dataI[k]; </p><p> temp=dataR[k+b]; </p><p> QQ=2*pi*p/count[n];</p><p> qq=p*count[11-n];</p>
43、;<p> dataR[k]=dataR[k]+dataR[k+b]*cos_tab[qq]+dataI[k+b]*sin_tab[qq];</p><p> dataI[k]=dataI[k]-dataR[k+b]*sin_tab[qq]+dataI[k+b]*cos_tab[qq];</p><p> dataR[k+b]=TR-dataR[k+b]*cos_tab
44、[qq]-dataI[k+b]*sin_tab[qq]; //查表運(yùn)算</p><p> dataI[k+b]=TI+temp*sin_tab[qq]-dataI[k+b]*cos_tab[qq];</p><p> } </p>&l
45、t;p> } </p><p><b> } </b></p><p> for(i=0;i<count[n];i++)</p><p> {
46、 </p><p> w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);</p><p> w[i]=w[i]/count[n-1];</p><p><b> }</b></p><p> w[0]=w[0]
47、/2; </p><p> } </p><p> ///////////////////////////回放數(shù)據(jù)/////////////////////////</p><p> void viewdata(void)</p><p><b> {</b></p
48、><p> unsigned int key,page,i;</p><p><b> page=0; </b></p><p> LCD_PenColor=0x1F; //紅色</p><p> LCD_WriteChineseString(font5,2,40,0);</p><p&g
49、t; LCD_PenColor=0xFC; //藍(lán)色</p><p><b> while(1){</b></p><p> key=getkey();</p><p> if(key!=0xFF)</p><p><b> {</b></p><p>
50、 if(key==4) {SystemState=fft_mode;return;} //返回</p><p> if(key==2) {</p><p> LCD_ClearScreen(); </p><p> LCD_WriteChineseString(font3,2,10,0);LCD_WriteChineseString(font4,2,60,0
51、);</p><p> i=page*4+1;</p><p> p3510(Re[i],0,15); print3510(Im[i]*mode,50,15);</p><p> p3510(Re[i+1],0,26); print3510(Im[i+1]*mode,50,25);</p><p> p3510(Re[i+2],0
52、,38); print3510(Im[i+2]*mode,50,35);</p><p> p3510(Re[i+3],0,50); print3510(Im[i+3]*mode,50,50); </p><p> if(page>0) page--;</p><p> delay_nms(8000000);</p><p>
53、 } //上翻頁(yè)</p><p> if(key==1) {</p><p> LCD_ClearScreen(); </p><p> LCD_WriteChineseString(font3,2,10,0);LCD_WriteChineseString(font4,2,60,0);</p>
54、<p> i=page*4+1;</p><p> p3510(Re[i],0,15); print3510(Im[i]*mode,50,15);</p><p> p3510(Re[i+1],0,26); print3510(Im[i+1]*mode,50,25);</p><p> p3510(Re[i+2],0,38); print
55、3510(Im[i+2]*mode,50,35);</p><p> p3510(Re[i+3],0,50); print3510(Im[i+3]*mode,50,50); </p><p> page++;if(page>=SampleNum/4) page=0;</p><p> delay_nms(8000000);</p>&l
56、t;p> } //下翻頁(yè)</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> //////////////////////
57、//////失真度計(jì)算///////////////////////</p><p> void distortion(void)</p><p><b> {</b></p><p> LCD_ClearScreen(); </p><p> LCD_WriteChineseString(font6,3,10,
58、20);</p><p> unsigned int key;</p><p><b> int fr;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> ///////////
59、/獲取頻率////////////////////</p><p> log_2_N=11;SampleNum=SampleTab[log_2_N];</p><p> reset_timer(0);</p><p> init_timer0(40960);</p><p> New_Flag=0;</p><p&
60、gt; enable_timer(0);</p><p> ////////////////////等待采樣完成///////////////////////////</p><p> while(!FFT_Flag); </p><p> disable_timer(0); //關(guān)定時(shí)器0</p><p> ////////
61、//////////////FFT運(yùn)算/////////////////////////////////</p><p> FFT(Re,Im,log_2_N);</p><p> ////////////////頻域功率////////////////////////////////////</p><p> for(i=1;i<SampleNum/2
62、;i++) {Re[i]=Re[i]*Re[i];Re[i]=Re[i]/2;}</p><p> ////////////////////總功率/////////////////////////////////</p><p><b> Fp=0;</b></p><p> for(i=1;i<SampleNum/2;i++) F
63、p+=Re[i];</p><p> sort(&Re[1],&Im[1],SampleNum/2-1);</p><p> fr=1000000/fre;</p><p> if(Tflag) {LCD_WriteChineseString(font7,1,50,20);LCD_WriteEnglishString("
64、 ",0,38);print3510(fr,10,38);LCD_WriteEnglishString("US",58,38);}</p><p><b> else </b></p><p> {LCD_WriteEnglishString(" ",0,38);LCD
65、_WriteChineseString(font8,1,50,20);}</p><p> ////////////////////按鍵掃描/////////////////////////////</p><p> key=getkey();</p><p> if(key!=0xFF)</p><p><b> {<
66、;/b></p><p> if(key==1) {SystemState=fft_mode;mode=20;break;} //返回</p><p> if(key==2) {SystemState=fft_mode;mode=100;break;} //返回</p><p><b> }</b></p><p
67、><b> }</b></p><p><b> }</b></p><p> /////////////////按鍵掃描//////////////////////////////</p><p> unsigned char getkey(void)</p><p><b&g
68、t; {</b></p><p> if(IO1PIN_bit.P1_21==0) {</p><p> delay_nms(200000);</p><p> if(IO1PIN_bit.P1_21==0) return 1;</p><p><b> }</b></p><p
69、> if(IO1PIN_bit.P1_22==0) {</p><p> delay_nms(2000000);</p><p> if(IO1PIN_bit.P1_22==0) return 2;</p><p><b> }</b></p><p> if(IO1PIN_bit.P1_23==0) {
70、</p><p> delay_nms(2000000);</p><p> if(IO1PIN_bit.P1_23==0) return 3;</p><p><b> }</b></p><p> if(IO1PIN_bit.P1_24==0) {</p><p> delay_nm
71、s(2000000);</p><p> if(IO1PIN_bit.P1_24==0) return 4;</p><p><b> }</b></p><p> return 0xFF;</p><p><b> }</b></p><p> /////////
72、/////////排序處理//////////////////////////////</p><p> void sort(float *a,float *b,int n) //a為待排序的量,b為起位置</p><p><b> {</b></p><p> int i,j,temp;</p><p>
73、for(i=0;i<n;i++) b[i]=i+1;</p><p> for(j=0;j<=n-1;j++) </p><p><b> { </b></p><p> for (i=0;i<n-j;i++) </p><p> if (a[i]<a[i+1]) </p>
74、<p><b> { </b></p><p> temp=a[i]; </p><p> a[i]=a[i+1]; </p><p> a[i+1]=temp;</p><p> temp=b[i]; </p><p> b[i]=b[i+1]; </p>&
75、lt;p> b[i+1]=temp;</p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> //////////////////////顯示///////////////////&l
76、t;/p><p> void p3510(int v,int x,int y)</p><p><b> {</b></p><p><b> int x0;</b></p><p><b> x0=v*157;</b></p><p> x0=x
77、0/100000000;</p><p> LCD_WriteEnglishChar(x0+'0',x,y);</p><p><b> x0=v*157;</b></p><p> x0=x0/100;</p><p> x0+=1000000;</p><p> pr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 音頻信號(hào)分析儀
- 音頻信號(hào)分析儀.doc
- 初級(jí)音頻信號(hào)分析儀設(shè)計(jì)
- 音頻信號(hào)分析儀9.6.1
- 畢業(yè)論文——音頻信號(hào)分析儀
- 基于dsp的音頻信號(hào)分析儀
- 畢業(yè)論文——音頻信號(hào)分析儀
- 音頻信號(hào)分析儀(a題)——畢業(yè)論文
- 畢業(yè)設(shè)計(jì)----基于fpga的音頻信號(hào)分析儀設(shè)計(jì)
- 視音頻信號(hào)處理課程設(shè)計(jì)
- dsp課程設(shè)計(jì)-音頻信號(hào)頻譜分析
- 全國(guó)電子設(shè)計(jì)大賽優(yōu)秀論文+程序 音頻信號(hào)分析儀(a題)
- 數(shù)字通信課程設(shè)計(jì)----音頻信號(hào)分析及去噪
- 紅外音頻信號(hào)轉(zhuǎn)發(fā)課程設(shè)計(jì)報(bào)告書(shū)
- 音頻分析儀
- 音頻信號(hào)分析
- 數(shù)據(jù)的采集與音頻信號(hào)的頻譜分析-課程設(shè)計(jì)
- 虛擬儀器課程設(shè)計(jì)--基于聲卡的音頻采集分析儀與信號(hào)發(fā)生器設(shè)計(jì)
- 簡(jiǎn)易頻譜分析儀課程設(shè)計(jì)
- 虛擬儀器課程設(shè)計(jì)(doc)-虛擬信號(hào)頻譜分析儀設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論