




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 河南科技大學(xué)畢業(yè)設(shè)計(jì)(論文)FFT在單片機(jī)上的實(shí)現(xiàn)摘 要音頻信號(hào)分析儀是一種可廣泛見于各種音響、調(diào)音和錄音設(shè)備上的,能實(shí)時(shí)地采樣及分析輸入的音頻信號(hào)的頻譜,并將其顯示在顯示屏上的設(shè)備,使人在聆聽音樂時(shí)能對(duì)音樂的高低頻能有直觀的了解。本文所介紹的即是這樣一個(gè)音頻信號(hào)分析系統(tǒng)。系統(tǒng)的硬件由信號(hào)調(diào)理、控制處理器、顯示模塊三部分組成。信號(hào)調(diào)理電路使信號(hào)可輸入300mV3V的交流音頻信號(hào)。這里只對(duì)單路信號(hào)處理:當(dāng)電壓較低時(shí)使用LM324運(yùn)放獲得增益,對(duì)超過12800Hz的信號(hào)進(jìn)行濾波處理。另外設(shè)置輸出音頻接口以便監(jiān)聽??刂铺幚砥鞑捎?1內(nèi)核1T單片機(jī)STC12C60A5S2,晶振頻率為32.768MH
2、z。該單片機(jī)自帶8路10位高速ADC,這里只用1路ADC的高8位。對(duì)信號(hào)連續(xù)采32個(gè)點(diǎn)進(jìn)行浮點(diǎn)型FFT運(yùn)算。一次完整采樣的時(shí)間為1.25ms,最高采樣頻率為25600Hz,分辨頻率為800Hz12800Hz,分16級(jí)。顯示部分主體為1602液晶顯示屏,其具有2行16列的85點(diǎn)顯示點(diǎn)陣。16分頻譜將分別以柱高形式顯示在顯示屏上。程序中設(shè)置了頻率下落效果以使觀感更好。另設(shè)置了對(duì)比度調(diào)節(jié)電阻,使屏幕對(duì)比度可調(diào)。關(guān) 鍵 詞:FFT 單片機(jī) 音頻 頻譜THE REALIZATION OF FFT IN THE MICROCONTROALERABSTRACTAudio signal analyzer is
3、 a kind of device which can be widely found in various of audio, mixing and recording devices, and can sampling and analysis of the spectrum of the input have an intuitive audio signal and displays it on the display in real-time, people can are listening to Music for music when high frequency unders
4、tanding. What presented in this article is just such an audio signal analysis system. The hardware of the system are formed with three parts: the signal conditioner, the control processorand the display module.Signal conditioning circuit makes the signal of 300mV 3V AC audio signal available for inp
5、utting. In this system,we only process with single-channel signal: When the voltage is lower the system uses LM324 op amp to gain voltage, and as to signals more than 12800Hz it filters them. In addition the system sets an output audio interface for monitoring.The control processor of the system is
6、the 51 cores 1T MCU STC12C60A5S2, with 32.768MHz crystal frequency. The device comes with 8-channel &10-bit high-speed ADC, where only one channel ADC high 8. The signal collected 32 points in consecutive floating-point FFT operation. A complete sampling time is 1.25ms, the maximum sampling frequenc
7、y is 25600Hz, and the distinguish frequency is 800Hz 12800Hz, with 16 levels.The main display section is 1602 LCD screen, which has 2 rows 16 columns - 8 5 dot display matrix. 16 points to the column height spectrum will be displayed on the display. The process of setting of the frequency drop in th
8、e perception of better effect. There is also contrast adjustment resistor, which makes the screen contrast adjustable.KEY WORDS:FFT,MCU,AUDIO SPECTRUM目 錄第1章 緒論11.1 研究的背景及意義11.1.1 課題研究背景11.1.2 課題研究意義11.2 課題發(fā)展的狀況11.3 設(shè)計(jì)任務(wù)2第2章 系統(tǒng)方案設(shè)計(jì)32.1 系統(tǒng)方案設(shè)計(jì)32.2 系統(tǒng)硬件的選擇32.2.1 處理器的比較與選擇32.2.2 采樣模塊的確定42.2.3 顯示器件的比較和選擇
9、4第3章 系統(tǒng)硬件設(shè)計(jì)53.1 單片機(jī)STC12C5A60S253.1.1 單片機(jī)STC12C5A60S2功能簡介53.1.2 單片機(jī)STC12C5A60S2引腳圖63.1.2 單片機(jī)的最小系統(tǒng)63.2 顯示屏LCD160273.2.1 LCD1602簡介73.2.2 LCD1602的硬件連接83.3.1 LM324電壓增益與偏移電路93.3.2 濾波電路10第4章 系統(tǒng)軟件設(shè)計(jì)114.1 系統(tǒng)軟件總體設(shè)計(jì)114.2 系統(tǒng)軟件詳細(xì)設(shè)計(jì)124.2.1 系統(tǒng)的準(zhǔn)備和初始化124.2.2 AD采樣子程序134.2.3 蝶形運(yùn)算的FFT算法154.2.4 顯示子程序17第5章 系統(tǒng)調(diào)試205.1 信號(hào)
10、電壓調(diào)試205.2 單頻率信號(hào)測試205.2.1 實(shí)際頻率分度測試215.2.1 頻率混疊和濾波效果225.3 實(shí)際使用效果22結(jié) 論24參考文獻(xiàn)25致 謝26附錄27一、主程序代碼27二、原理圖3536河南科技大學(xué)畢業(yè)設(shè)計(jì)(論文)第1章 緒論1.1 研究的背景及意義1.1.1 課題研究背景在家庭影院、卡拉OK等音響系統(tǒng)中,實(shí)時(shí)顯示音樂信號(hào)的頻譜將為音響系統(tǒng)增不少色彩。目前實(shí)際生產(chǎn)的音響系統(tǒng)產(chǎn)品,大多采用以下兩種方法實(shí)現(xiàn)音頻頻譜顯示:一是利用硬件濾波器和A/D轉(zhuǎn)換器;二是利用單片機(jī)或DSP處理頻譜顯示。前者實(shí)現(xiàn)簡單,但硬件成本高;后者軟件和硬件實(shí)現(xiàn)都較復(fù)雜。1.1.2 課題研究意義目前,大多數(shù)
11、音頻信號(hào)處理儀不但體積大而且價(jià)格貴,在一些特殊方面難以普及使用,而嵌入式系統(tǒng)分析儀具有小巧可靠的特點(diǎn),所以開發(fā)基于特殊功能單片機(jī)的音頻信號(hào)分析儀器是語音識(shí)別的基礎(chǔ),具有很好的現(xiàn)實(shí)意義。1.2 課題發(fā)展的狀況早期專業(yè)的音頻分析儀種類很少,在做音頻測量時(shí)一般是利用萬用電表、頻率計(jì)、示波器及頻譜儀等組合成一套音頻測試系統(tǒng)。這種測試系統(tǒng)中間環(huán)節(jié)多,各環(huán)節(jié)之間接口匹配較為困難,使用起來比較麻煩,測量結(jié)果往往也不精確。傳統(tǒng)的頻譜分析儀的前端電路是一定帶寬內(nèi)可調(diào)諧的接收機(jī),輸入信號(hào)經(jīng)變頻器變頻后由低通濾器輸出,濾波輸出作為垂直分量,頻率作為水平分量,在示波器屏幕上繪出坐標(biāo)圖,就是輸入信號(hào)的頻譜圖。由于變頻器
12、可以達(dá)到很寬的頻率,例如30Hz-30GHz,與外部混頻器配合,可擴(kuò)展到100GHz以上,頻譜分析儀是頻率覆蓋最寬的測量儀器之一。無論測量連續(xù)信號(hào)或調(diào)制信號(hào),頻譜分析儀都是很理想的測量工具。但是,傳統(tǒng)的頻譜分析儀也有明顯的缺點(diǎn),它只能測量頻率的幅度,缺少相位信息,因此屬于標(biāo)量儀器而不是矢量儀器。近年來出現(xiàn)的音頻分析儀器也與儀器的主流發(fā)展趨勢(shì)一致,朝著高度集成化、智能化的方向發(fā)展,這些儀器集成了復(fù)雜音頻信號(hào)發(fā)生裝置、功率放大裝置等,具備了一些初步的圖形化分析功能,使用戶很容易組建音頻測量系統(tǒng)。基于快速傅里葉變換(FFT)的現(xiàn)代頻譜分析儀,通過傅里葉運(yùn)算將被測信號(hào)分解成分立的頻率分量,達(dá)到與傳統(tǒng)頻
13、譜分析儀同樣的結(jié)果,。這種新型的頻譜分析儀采用數(shù)字方法直接由模擬/數(shù)字轉(zhuǎn)換器(ADC)對(duì)輸入信號(hào)取樣,再經(jīng)FFT處理后獲得頻譜分布圖。在這種頻譜分析儀中,為獲得良好的儀器線性度和高分辨率,對(duì)信號(hào)進(jìn)行數(shù)據(jù)采集時(shí)ADC的取樣率最少等于輸入信號(hào)最高頻率的兩倍,亦即頻率上限是100MHz的實(shí)時(shí)頻譜分析儀需要ADC有200MS/S的取樣率。目前半導(dǎo)體工藝水平可制成分辨率8位和取樣率4GS/S的ADC或者分辨率12位和取樣率800MS/S的ADC,亦即,原理上儀器可達(dá)到2GHz的帶寬,為了擴(kuò)展頻率上限,可在ADC前端增加下變頻器,本振采用數(shù)字調(diào)諧振蕩器。這種混合式的頻譜分析儀可擴(kuò)展到幾GHz以下的頻段使用
14、。1.3 設(shè)計(jì)任務(wù)1、 完成信號(hào)電壓調(diào)理電路和硬件的連接電路的設(shè)計(jì)。制作出硬件實(shí)物。2、 ADC模塊能正確采集到音頻的完整波形,并保證一定的精度。3、 學(xué)習(xí)頻譜分析和傅里葉變換有關(guān)原理,使用FFT算法分析出當(dāng)前音頻的頻譜。4、 設(shè)計(jì)顯示程序,使顯示屏能實(shí)時(shí)地、以柱狀圖的形式將音頻頻譜顯示出來,并有一定的美觀效果。第2章 系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)方案設(shè)計(jì)圖2-1 系統(tǒng)總體方案系統(tǒng)由信號(hào)調(diào)理電路、數(shù)模轉(zhuǎn)換模塊、主控制器、顯示部件組成。信號(hào)調(diào)理電路主要負(fù)責(zé)對(duì)音頻信號(hào)的電壓進(jìn)行變換,使其電壓變化能正確地被數(shù)模轉(zhuǎn)換模塊采集。對(duì)信號(hào)的濾波處理也在這里進(jìn)行。ADC模塊將連續(xù)變化的電壓值轉(zhuǎn)化為單片機(jī)可識(shí)別的離
15、散數(shù)字量。主控制器對(duì)采集的數(shù)據(jù)處理得到信號(hào)頻譜,并控制顯示屏將頻譜實(shí)時(shí)顯示出來。由于是對(duì)模擬信號(hào)的實(shí)時(shí)采集分析,本系統(tǒng)除了可應(yīng)用于數(shù)碼音樂播放器的音頻譜顯示,還可連接麥克風(fēng)顯示分析環(huán)境或人聲音頻譜。2.2 系統(tǒng)硬件的選擇2.2.1 處理器的比較與選擇鑒于本次設(shè)計(jì)的學(xué)習(xí)目的,處理器選擇最易操作的51內(nèi)核的單片機(jī)。傳統(tǒng)8051單片機(jī)以12個(gè)晶振周期作為一個(gè)機(jī)器周期,處理速度慢,內(nèi)存較小,且在用到ADC時(shí)需要與ADC芯片通訊花費(fèi)時(shí)間,因此舍棄傳統(tǒng)8051單片機(jī)。升級(jí)版的51內(nèi)核單片機(jī)有STC12系列和Cygnal的C8051F系列待選。其中后者被譽(yù)為51系列最快單片機(jī),內(nèi)部有最高12位高速ADC和最
16、高4K的RAM。但這款單片機(jī)價(jià)格較貴且僅有貼片形式的封裝,調(diào)試?yán)щy。STC的12系列單片機(jī)同樣有較快的處理速度,內(nèi)部有最高10位高速ADC和1280字節(jié)RAM。考慮到本次設(shè)計(jì)目的為普通的頻譜分析器,且液晶顯示屏整體刷新速度有100ms的瓶頸限制,這里采用雙排插針封裝的STC12C560S2單片機(jī)作為處理器。晶振使用單片機(jī)最高允許的32.768MHz晶振。2.2.2 采樣模塊的確定由于單片機(jī)自帶ADC轉(zhuǎn)換模塊,可以直接使用。內(nèi)部ADC模塊的采樣速度高達(dá)250K/S,遠(yuǎn)高于音頻最高頻率20KHz的二倍。使用內(nèi)部ADC模塊還可以省去通信、存儲(chǔ)等使用外部ADC芯片時(shí)的繁瑣操作。因此確定使用單片機(jī)內(nèi)部A
17、DC模塊作為采樣模塊。2.2.3 顯示器件的比較和選擇常見的單片機(jī)操作的8位顯示屏有1602和12864兩種,均為單色顯示屏。前者是分塊顯示的顯示屏。每格塊的像素點(diǎn)為85,共2行16列。后者12864為12864個(gè)像素點(diǎn)的整塊點(diǎn)陣顯示屏,用于顯示圖形十分方便,但每次更新圖形都需要整屏刷新,需要傳輸?shù)臄?shù)據(jù)量較大。綜合考慮,采用1602作為顯示設(shè)備。利用同列的兩個(gè)顯示塊顯示一個(gè)變化高度的亮柱來表示一個(gè)頻率分量的幅值大小。第3章 系統(tǒng)硬件設(shè)計(jì)3.1 單片機(jī)STC12C5A60S23.1.1 單片機(jī)STC12C5A60S2功能簡介1.增強(qiáng)型8051CPU,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051
18、 2.工作電壓:STC12C5A60S2系列工作電壓:5.5V - 3.5V(5V單片機(jī)) 3.工作頻率范圍:035MHz,相當(dāng)于普通8051的0420MHz 4.用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 5.片上集成1280字節(jié)RAM 6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,強(qiáng)上拉,僅為輸入/高阻,開漏上拉,僅為輸入/高阻,開漏上拉,僅為輸入/高阻,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過120mA 7.ISP
19、 (在系統(tǒng)可編程)/ IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器可通過串口(P3.0/P3.1 )直接下載用戶程序。 8.有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM) 9.看門狗10. 內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地) 11.外部掉電檢測電路:在P4.6口有一個(gè)低壓門檻比較器 5V單片機(jī)為1.33V,誤差為5%,3.3V單片機(jī)為1.31V,誤差為3% 12.時(shí)鐘源:外部高精度晶體/時(shí)鐘,內(nèi)部R/C振蕩器(溫漂為5%到10%以內(nèi))用戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí)鐘常溫
20、下內(nèi)部R/C振蕩器頻率為:5.0V單片機(jī)為: 11MHz 17MHz單片機(jī)為: 8MHz12MHz。精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛兄圃煺`差和溫漂,以實(shí)際測試為準(zhǔn) 。13.共4個(gè)16位定時(shí)器,兩個(gè)與傳統(tǒng)8051兼容的定時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒有定時(shí)器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器 14.3個(gè)時(shí)鐘輸出口,可由T0的溢出在P3.4/T0輸出時(shí)鐘,可由T1的溢出在P3.5/T1輸出時(shí)鐘,獨(dú)立波特率發(fā)生器可以在P1.0口輸出時(shí)鐘 15.外部中斷I/O 口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中
21、斷的PCA模塊。16.PWM (2路)/ PCA (可編程計(jì)數(shù)器陣列,2路)也可用來當(dāng)2路D/A使用,也可用來再實(shí)現(xiàn)2個(gè)定時(shí)器,也可用來再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷均可分別或同時(shí)支持) 17.A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時(shí)器或PCA軟件 19.STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2 (可通過寄存器設(shè)置到P4.2),TxD2/P1.3 (可通過寄存器設(shè)置到P4.3) 20.工作溫度范圍:-40 +85(工業(yè)級(jí)) /0
22、75(商業(yè)級(jí)) 21.封裝: PDIP-403.1.2 單片機(jī)STC12C5A60S2引腳圖圖3-1 STC12C5A60S2引腳圖3.1.2 單片機(jī)的最小系統(tǒng)STC12C60S2最高支持33MHz的晶振,為使單片機(jī)處理數(shù)據(jù)的速度盡量快,這里選用32.768MHz的晶振。當(dāng)外部晶振大于10MHz時(shí),單片機(jī)需要外部復(fù)位電路。用RC上電復(fù)位的的方式,電容為10uF、電阻為10時(shí),電容的放電時(shí)間為ms,大于RST腳高電平復(fù)位時(shí)間。單片機(jī)的串口通過PL-2303芯片與電腦USB連接用來下載程序。這里省略PL-2303芯片的連接圖。方便起見,單片機(jī)供電直接使用USB的+5V供電。下面是單片機(jī)的最小系統(tǒng)連
23、接圖:圖3-2 STC12C5A60S2最小系統(tǒng)3.2 顯示屏LCD1602 3.2.1 LCD1602簡介1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。讀CGROM地址的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。另外還有8個(gè)可由用戶自定義的5X8的字符發(fā)生
24、器CGRAM。用戶可以將自定義圖形寫入其中。其他特性為:+5V電壓,對(duì)比度可調(diào),內(nèi)含復(fù)位電路,有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM,提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。3.2.2 LCD1602的硬件連接圖3-3 單片機(jī)與1602液晶的連接3.3 信號(hào)調(diào)理電路 3.3.1 LM324電壓增益與偏移電路本系統(tǒng)的信號(hào)輸入來自數(shù)字音頻播放器如PC機(jī)的聲卡、MP3,或有源麥克風(fēng)等有源設(shè)備,單聲道輸入。輸入信號(hào)為均值為0,幅值為VV的交流信號(hào),由輸入。而進(jìn)入單片機(jī)ADC模塊的電壓要求0,為USB供電的+5V。因此必須進(jìn)行電壓調(diào)理。整個(gè)系統(tǒng)采用單電源供電,所以無法對(duì)交流信號(hào)直
25、接放大,必須先偏移再放大。該過程可由一個(gè)運(yùn)算放大器來完成。運(yùn)放選用LM324N,連線圖如下:圖3-4 電壓增益與偏移電路這是一個(gè)同向加法電路,由模擬電路相關(guān)知識(shí)易得:其中為的輸入信號(hào),電壓范圍為VV,為偏移電壓,由穩(wěn)壓二極管產(chǎn)生,其作用是使均值為0的交流音頻信號(hào)偏移使全為正值。電阻的值的計(jì)算過程略,這里只對(duì)圖中的數(shù)值進(jìn)行驗(yàn)證。當(dāng)輸入電壓為V時(shí),應(yīng)將放大倍數(shù)取最大,可變電阻取0,得:V當(dāng)?shù)妮斎腚妷簽閂時(shí),應(yīng)將放大倍數(shù)取最小, 可變電阻取,得:V可見電阻如圖取值,當(dāng)音頻信號(hào)較大和較小時(shí),都可以通過調(diào)節(jié)可變電阻R2來使采樣達(dá)到較好的效果。為使穩(wěn)壓管正常工作,穩(wěn)壓管的陰極應(yīng)接在高于穩(wěn)壓管反向?qū)妷旱?/p>
26、位置。即有:將、帶入上式,得,取。3.3.2 濾波電路如果由于原信號(hào)頻帶很寬或采樣頻率選得太低,則頻域中相鄰周期的波形就會(huì)發(fā)生重疊,從而引起誤差。這種現(xiàn)象稱頻率混疊,簡稱頻混。如果一個(gè)信號(hào)的頻譜具有無限的帶寬,則不論如何選擇采樣頻率,頻混誤差都不可避免。然而這種信號(hào)并不多見,比較常見的是一個(gè)有用的低頻信號(hào)混進(jìn)了一個(gè)高頻的噪聲信號(hào)。因此在采樣之前先用低通濾波器濾去高頻噪聲,這種低通濾波器稱為抗混淆濾波器。在現(xiàn)代數(shù)字式分析系統(tǒng)中,它已被列為基本組成環(huán)節(jié)??够煜秊V波器的截止頻率選為。由采樣定理可知:對(duì)一個(gè)頻率為的有限帶寬連續(xù)信號(hào)進(jìn)行采樣,只有當(dāng)采樣頻率時(shí),其離散傅里葉變換才不會(huì)發(fā)生頻率混淆,因而只有
27、用這樣采樣的點(diǎn)才能得到離散信號(hào)的頻譜。 人可感知的音頻中多不超過12KHz,為了凸顯低頻聲音信號(hào)的頻譜變化,本系統(tǒng)只分析12KHz以下的音頻信號(hào)。使用RC濾波器,當(dāng),截止頻率時(shí),電容值為:取10nF。另外,單片機(jī)ADC輸入的標(biāo)準(zhǔn)電路還要求加一個(gè)截止頻率為3.2MHz的濾波器。總體濾波電路圖如下:圖3-5 濾波電路第4章 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)軟件總體設(shè)計(jì) 該系統(tǒng)的軟件需要完成控制ADC模塊采樣信號(hào)、對(duì)采集的數(shù)據(jù)計(jì)算、控制液晶顯示屏顯示三個(gè)任務(wù)。三個(gè)任務(wù)理論上應(yīng)順序運(yùn)行,上一個(gè)任務(wù)完成后生成的數(shù)據(jù)交予下一個(gè)任務(wù)繼續(xù)處理。但信號(hào)采樣需要嚴(yán)格控制采樣時(shí)間間隔,數(shù)據(jù)計(jì)算任務(wù)處理速度很快,而液晶顯示的
28、控制又會(huì)間隔較長時(shí)間。因此三個(gè)部分不能一個(gè)接一個(gè)運(yùn)行。程序還包括了各模塊的初始化,總程序流程圖如下:圖4-1 系統(tǒng)程序流程總圖本程序采用中斷的方式,將需要定時(shí)的采樣程序和顯示程序分別放在兩個(gè)中斷服務(wù)程序中,而主程序一直等待采樣完成處理數(shù)據(jù)。數(shù)據(jù)的連接使用了兩個(gè)全局變量數(shù)組。這樣就使三個(gè)子程序在運(yùn)行時(shí),采樣程序的采樣時(shí)間間隔有了保障,而后兩個(gè)子程序又始終有數(shù)據(jù)可以處理。4.2 系統(tǒng)軟件詳細(xì)設(shè)計(jì)4.2.1 系統(tǒng)的準(zhǔn)備和初始化Code代碼段準(zhǔn)備了一個(gè)32個(gè)元素的nxd數(shù)組和一個(gè)88的User數(shù)組。定義如下:unsigned char code nxd32=0,16,8,24,4,20,12,28,2
29、,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31;unsigned char code User88=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,
30、0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F;nxd數(shù)組用于將32個(gè)采樣點(diǎn)重新排列,其值為采樣點(diǎn)重排的順序。這將在下面的 4.2.3蝶形運(yùn)算的FFT算法 中詳細(xì)介紹。User二維數(shù)組為液晶顯示塊的8種顯示點(diǎn)陣的分布,這將在下面的 4.2.4 顯示子程序 中詳細(xì)介紹。main()函數(shù)的開始是一些初始化程序,這包括液晶顯示屏的初始化、顯示屏CGRAM的寫入、ADC的初始化和定時(shí)器0的初始化。代碼和注釋如下:LcdInt();
31、delay(15);/調(diào)用LCD初始化函數(shù),設(shè)置顯示模式為:162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口,顯示開,有光標(biāo),光標(biāo)閃爍,光標(biāo)右移,字符不移。并清屏。CgInt(); delay(10); /調(diào)用CgInt子函數(shù),將User數(shù)組寫入LCD1602的CGRAM中的0x100x17。P1ASF = 0x06;/P1.1 P1.2口作為AD輸入,P1.1作為今后可能開發(fā)雙通道分析的保留。AUXR1&= 0xfb;/ADRJ=0,10位ADC的高8位放在ADC_RES中,后續(xù)將不再用低2位。EADC=1;/開AD中斷ADC_CONTR=0x8a; NOP5;/啟動(dòng)ADC轉(zhuǎn)換AUXR = 0x80; /
32、T0x12=1,定時(shí)器0以12倍速運(yùn)行TMOD = 0x01;/定時(shí)器0工作在方式1TL0 = T1MS;TH0 = T1MS8;/定時(shí)器0賦初值TR0 = 1;/開定時(shí)器0中斷ET0 = 1;/定時(shí)器0啟動(dòng)EA = 1;/開總中斷4.2.2 AD采樣子程序AD采樣的數(shù)據(jù)將反映信號(hào)的頻率,因此AD采樣的間隔必須保證。有兩種方案來保證時(shí)間間隔:使用高中斷優(yōu)先級(jí)的定時(shí)器或直接連續(xù)采樣,靠ADC自己的采樣延時(shí)來控制時(shí)間間隔。定時(shí)器控制看似更加準(zhǔn)確,但ADC的采樣延時(shí)仍存在,實(shí)際每兩采樣點(diǎn)的時(shí)間間隔=定時(shí)器延時(shí)時(shí)間兩次ADC采樣延時(shí)時(shí)間之差。若ADC采樣延時(shí)時(shí)間有誤差,以這種方式定時(shí)的誤差仍存在,且程
33、序結(jié)構(gòu)復(fù)雜,編寫困難。實(shí)際上,STC12C5A60S2單片機(jī)對(duì)模數(shù)轉(zhuǎn)換速度已經(jīng)有了很好的控制。本程序擬使用單片機(jī)數(shù)模轉(zhuǎn)換的轉(zhuǎn)換時(shí)間來控制采樣速率,而不再使用另外的定時(shí)器。程序流程圖如圖:圖4-2 AD采樣子程序流程圖STC12C5A60S2單片機(jī)對(duì)模數(shù)轉(zhuǎn)換速度由AUXR1中的SPEED1、SPEED0兩位控制。速度定義如表:表4-1 STC12C5A60S2數(shù)模轉(zhuǎn)換速度控制位SPEED1SPEED0A/D轉(zhuǎn)換所需時(shí)間1190個(gè)時(shí)鐘周期轉(zhuǎn)換一次,CPU工作頻率21MHz時(shí),A/D轉(zhuǎn)換速度約250KHz10180個(gè)時(shí)鐘周期轉(zhuǎn)換一次01360個(gè)時(shí)鐘周期轉(zhuǎn)換一次00540個(gè)時(shí)鐘周期轉(zhuǎn)換一次當(dāng)SPEED
34、1=0,SPEED0=0,=32MHz時(shí),采樣時(shí)間間隔有:采樣的信號(hào)的最高頻率分量有:高于音頻最高頻率22KHz。由于人可感知的音頻中多不超過12KHz,若隔點(diǎn)采樣,則變?yōu)椋憾ú蓸狱c(diǎn)數(shù)為32個(gè)點(diǎn),則通過FFT變換可將原信號(hào)變?yōu)?6個(gè)頻率分量相加(采樣點(diǎn)數(shù)的確定和FFT結(jié)果的解釋見下節(jié))。最小頻率分量為940Hz。采樣過程并未關(guān)斷定時(shí)器0中斷,因此采樣過程會(huì)被打斷。但定時(shí)器0的溢出間隔較長(5ms),期間可進(jìn)行很多次完整的32點(diǎn)采樣。只有當(dāng)32個(gè)點(diǎn)是連續(xù)采樣并被移出時(shí),主循環(huán)中的數(shù)據(jù)處理函數(shù)才開始運(yùn)行。4.2.3 蝶形運(yùn)算的FFT算法FFT(Fast Fourier Transformation
35、),即為快速傅氏變換,是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。它對(duì)傅氏變換的理論并沒有新的發(fā)現(xiàn),但是對(duì)于在計(jì)算機(jī)系統(tǒng)或者說數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說是進(jìn)了一大步。設(shè)x(n)為N項(xiàng)的復(fù)數(shù)序列,由DFT變換,任一X(m)的計(jì)算都需要N次復(fù)數(shù)乘法和N-1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實(shí)數(shù)乘法和兩次復(fù)數(shù)加法,一次復(fù)數(shù)加法等于兩次實(shí)數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運(yùn)算”(四次實(shí)數(shù)乘法和四次實(shí)數(shù)加法),那么求出N項(xiàng)復(fù)數(shù)序列的X(m),即N點(diǎn)DFT變換大約就需要N2次運(yùn)算。當(dāng)N=1024點(diǎn)甚至更多的時(shí)候,需
36、要N2=次運(yùn)算,在FFT中,利用WN的周期性和對(duì)稱性,把一個(gè)N項(xiàng)序列(設(shè)N=2k,k為正整數(shù)),分為兩個(gè)N/2項(xiàng)的子序列,每個(gè)N/2點(diǎn)DFT變換需要(N/2)2次運(yùn)算,再用N次運(yùn)算把兩個(gè)N/2點(diǎn)的DFT變換組合成一個(gè)N點(diǎn)的DFT變換。這樣變換以后,總的運(yùn)算次數(shù)就變成N+2*(N/2)2=N+N2/2。繼續(xù)上面的例子,N=1024時(shí),總的運(yùn)算次數(shù)就變成了次,節(jié)省了大約50%的運(yùn)算量。而如果我們將這種“一分為二”的思想不斷進(jìn)行下去,直到分成兩兩一組的DFT運(yùn)算單元,那么N點(diǎn)的DFT變換就只需要Nlog2N次的運(yùn)算,N在1024點(diǎn)時(shí),運(yùn)算量僅有10240次,是先前的直接算法的1%,點(diǎn)數(shù)越多,運(yùn)算量的
37、節(jié)約就越大,這就是FFT的優(yōu)越性。2點(diǎn)DFT運(yùn)算稱為蝶形運(yùn)算,而整個(gè)FFT就是由若干級(jí)迭代的蝶形運(yùn)算組成,而且這種算法采用原位運(yùn)算,故只需N個(gè)存儲(chǔ)單元圖4-3 蝶形運(yùn)算單元圖4-3是FFT頻域抽取算法的基本運(yùn)算單元,一般稱為蝶形運(yùn)算.下一步再將X(4m+i),i=0,1,2,3分解成4個(gè)N42序列,迭代r次后完成計(jì)算,整個(gè)算法的復(fù)雜度減少為O(Nlog4N)上訴結(jié)論可以推廣到N點(diǎn)的一般情況,規(guī)律是第一列只有一種類型的蝶形運(yùn)算,系數(shù)是 ,以后每列的蝶形類型,比前一列增加一倍,到第是N/2個(gè)蝶形類型,系數(shù)是,共N/2個(gè)。由后向前每推進(jìn)一列,則用上述系數(shù)中偶數(shù)序號(hào)的那一半,例如第列的系數(shù)則為參加蝶形
38、運(yùn)算的兩個(gè)數(shù)據(jù)點(diǎn)的間距,則是最末一級(jí)最大,其值為N/2,向前每推進(jìn)一列,間距減少一半。對(duì)N = 2L點(diǎn)FFT,共需L級(jí)蝶形運(yùn)算,每級(jí)有N/2個(gè)蝶形運(yùn)算組成,蝶形運(yùn)算兩節(jié)點(diǎn)的距離:2L-1(L表示級(jí)數(shù))每個(gè)蝶形運(yùn)算有一次復(fù)乘和2次復(fù)加。如圖4-4 8點(diǎn)FFT運(yùn)算示意圖本程序每次采樣32個(gè)點(diǎn),進(jìn)行32點(diǎn)FFT運(yùn)算。限于篇幅不再畫出32點(diǎn)FFT運(yùn)算圖。程序用排好的32個(gè)序號(hào)來重排采集到的32個(gè)信號(hào)點(diǎn)。運(yùn)算時(shí)的復(fù)數(shù)用結(jié)構(gòu)體存儲(chǔ)和表示。具體運(yùn)算程序見附錄。4.2.4 顯示子程序由信號(hào)處理的相關(guān)知識(shí)知,非周期信號(hào)的頻譜圖為連續(xù)函數(shù)。聲音信號(hào)顯然為非周期信號(hào),但在單片機(jī)內(nèi),頻譜只能表示為離散且成倍的頻率分量
39、。本系統(tǒng)將每個(gè)頻譜分量以亮柱的高度形式顯示在顯示屏上。LCD1602一般只能顯示CGROM內(nèi)的160個(gè)字符,不能顯示圖形。要顯示不同高度的立柱,只能編輯CGRAM。在程序初始化階段,已將CGRAM的0x100x17的用戶自定義位置寫入如下圖形:圖4-5 1602字符空間(字庫)圖當(dāng)需要在第p列顯示高為l的亮柱時(shí),先對(duì)LCD寫入p列第二行的地址,若l8,就在這個(gè)位置調(diào)取CGRAM中0x100x16對(duì)應(yīng)高度的圖形(當(dāng)l=0時(shí)調(diào)取0x20顯示空格),若l8,則在p列第二行顯示0x17全亮圖后,在第p列第一行顯示高度為l-8的亮柱。這樣就實(shí)現(xiàn)了以亮柱高度直觀展示頻率分量幅值的目的。為了獲得更好的視覺感
40、受,顯示程序還加入了頻譜亮柱緩慢下落的動(dòng)畫效果。做法為:當(dāng)本次計(jì)算的的頻率幅值大于等于上次的幅值時(shí),立即更新此幅值以待顯示。若本次計(jì)算的頻率幅值小于上次的幅值時(shí),只將上次的幅值減1顯示。如此就會(huì)使得亮柱可以突然升高,卻只能緩慢下落。這符合了人對(duì)突然增強(qiáng)的事件敏感而對(duì)突然減弱的事件不敏感的感受。由LCD1602的資料知,控制一個(gè)亮塊需要有寫地址和寫數(shù)據(jù)兩步操作,且間隔的典型時(shí)間為5ms。整屏刷新一次需要經(jīng)歷。若計(jì)算出16個(gè)頻率分量幅值后統(tǒng)一顯示,則信號(hào)采集后至少要經(jīng)過320ms才能看到結(jié)果,實(shí)時(shí)性太差。本程序利用定時(shí)器,采用了顯示與頻譜計(jì)算工作交替處理的方式,即:在兩次寫1602的等待過程中進(jìn)行
41、采樣和計(jì)算工作,每次對(duì)1602的同列兩個(gè)亮塊操作時(shí),取到的數(shù)據(jù)都是剛剛計(jì)算好的數(shù)據(jù)。這樣就使得屏幕上每隔都會(huì)有一個(gè)亮柱顯示新的數(shù)據(jù)。程序流程圖如下:圖4-6 顯示子程序流程圖顯示程序見附錄。第5章 系統(tǒng)調(diào)試5.1 信號(hào)電壓調(diào)試根據(jù)3.3.1 的設(shè)計(jì),為了達(dá)到最好的采樣效果,需要根據(jù)信號(hào)的幅值調(diào)節(jié)可變電阻R2,使輸入的信號(hào)在0中能有較大的變化。編寫調(diào)試程序,使顯示屏顯示出一段時(shí)間內(nèi)(1s左右)從P1.2腳輸入的信號(hào)電壓最大值,以表示。調(diào)試過程為:將系統(tǒng)輸入連接PC機(jī)的聲卡,輸出端連接耳機(jī),PC機(jī)播放音樂并調(diào)到合適的音量。然后調(diào)整R2阻值,使顯示屏顯示到一個(gè)200左右的數(shù)值。如屏幕顯示值為191,
42、在無信號(hào)輸入時(shí)顯示為100,則交流的信號(hào)在輸入單片機(jī)以后就變成了9191,以100為均值的數(shù)據(jù)。這里需要說明的是,F(xiàn)FT變換的交流部分并不會(huì)因信號(hào)的均值不同而不同,所以無信號(hào)時(shí)的輸入值并不需引入FFT計(jì)算中。 圖5-1 電壓調(diào)試5.2 單頻率信號(hào)測試調(diào)整好信號(hào)電壓后,使用虛擬儀器v0.94,使聲卡發(fā)出特定頻率的正弦波對(duì)系統(tǒng)性能進(jìn)行測試。5.2.1 實(shí)際頻率分度測試在4.2.2小結(jié)中計(jì)算得系統(tǒng)能識(shí)別的最小頻率分量為940Hz。實(shí)際測試中,當(dāng)發(fā)生800Hz的正弦信號(hào)時(shí),屏幕的第一個(gè)亮柱顯示滿幅值,第二個(gè)和以后的分量基本不顯示。如果再調(diào)低頻率,第一亮柱高度會(huì)下降;調(diào)高頻率,第一亮柱下降的同時(shí)第二格也
43、會(huì)有了幅值。因此可以確定該系統(tǒng)實(shí)際頻率分度,也即最小能識(shí)別的頻率分量為800Hz。圖5-2 800Hz正弦波顯示效果將頻率調(diào)高3倍和10倍屏幕顯示的情況如下:圖5-3 2400Hz正弦波顯示效果圖5-4 8000Hz正弦波顯示效果該系統(tǒng)在采樣后并沒有進(jìn)行特殊的加窗處理,理論上會(huì)造成頻譜泄露,即最后計(jì)算結(jié)果在主頻率的兩側(cè)也有較小的幅值。但從上面的結(jié)果來看,頻譜泄露的現(xiàn)象并不很明顯,為了節(jié)省計(jì)算量,不再加特別的窗函數(shù)。5.2.1 頻率混疊和濾波效果頻率混疊是由于采樣頻率過低,造成進(jìn)行模數(shù)轉(zhuǎn)換后的信號(hào)頻率產(chǎn)生失真的現(xiàn)象。本系統(tǒng)的最高采樣頻率為12800Hz,而聲音信號(hào)的頻率在2020000Hz,主要
44、信號(hào)也集中在2015000Hz。超過12800Hz的信號(hào)會(huì)與12800Hz以內(nèi)的高頻信號(hào)產(chǎn)生頻率混疊現(xiàn)象。為了盡量消除這種現(xiàn)象,可以增高采樣頻率或加低通濾波器。這里使用了加低通濾波器的方法。在不加濾波器時(shí),正弦信號(hào)每超過12800Hz頻率800Hz,屏幕亮柱就會(huì)從最右邊往左無衰減地移動(dòng)一格。增加低通濾波器后,超過12800Hz的信號(hào)會(huì)明顯被削弱。如下圖所示14400Hz的信號(hào)幅值已經(jīng)較小,但12800Hz以內(nèi)的高頻信號(hào)也會(huì)一定程度的被減弱。圖5-5 14400Hz正弦波顯示效果圖5-6 11200Hz正弦波顯示效果5.3 實(shí)際使用效果用計(jì)算機(jī)播放頻段分明的音樂時(shí),發(fā)現(xiàn)該系統(tǒng)對(duì)9600Hz以內(nèi)的
45、音頻信號(hào)反應(yīng)很好,和計(jì)算機(jī)上未經(jīng)過模擬量采樣的數(shù)字處理結(jié)果吻合好,且實(shí)時(shí)響應(yīng)速度也很快。但對(duì)于9600Hz12800Hz的頻率信號(hào)有過大增益。分析認(rèn)為這還是由于采樣頻率不足造成了頻譜混疊,12800Hz之后的信號(hào)在計(jì)算時(shí)疊加到了這一段的頻譜幅值上了。低通濾波器起到了一定的效果但還不夠強(qiáng)。圖5-7 使用效果對(duì)照結(jié) 論本系統(tǒng)利用了STC12C5A60S2的片上資源,使用內(nèi)部AD直接采樣音頻信號(hào),這既簡化了通訊程序,而且還簡化了硬件電路設(shè)計(jì),使系統(tǒng)具有更好的維護(hù)性。本系統(tǒng)實(shí)現(xiàn)了對(duì)有源聲音信號(hào)的采集與處理、分析功能,完成了基于STC12C5A60S2芯片的音頻頻譜分析顯示系統(tǒng)的設(shè)計(jì)。系統(tǒng)對(duì)單通道信號(hào)每
46、次采樣32點(diǎn),運(yùn)用蝶形運(yùn)算算法進(jìn)行離散傅里葉變換,求出采樣信號(hào)最低800Hz,最高12800Hz的頻率分量幅值。在處理由頻率超過12800Hz信號(hào)造成的頻率混疊問題上,系統(tǒng)對(duì)輸入的信號(hào)進(jìn)行了截止頻率為12KHz的RC濾波處理。這樣種方法較提高采樣頻率的方法來說雖然不能完全消除頻率混疊現(xiàn)象,但也是一個(gè)在速度較慢的單片機(jī)上實(shí)現(xiàn)FFT變換的折中方法。顯示屏采用有背光的LCD1602顯示結(jié)果,雖然該LCD本是用來顯示字符的,但通過自定義圖形讓其顯示了跳動(dòng)的柱狀圖,也達(dá)到了預(yù)期的目的。綜上所述,本系統(tǒng)基本上完成了實(shí)時(shí)分析顯示音頻信號(hào)頻譜的任務(wù)。而本系統(tǒng)幾個(gè)可以改進(jìn)的地方為:1、可以換用更快速的單片機(jī)增加
47、FFT點(diǎn)數(shù)同時(shí)提高最大采樣頻率,這樣即使直接使用矩形窗且不需濾波也能在整個(gè)信號(hào)的頻率范圍內(nèi)沒有頻率混淆。2、可以換用更高刷新率的液晶屏。本系統(tǒng)實(shí)時(shí)顯示的瓶頸在于顯示屏的刷新速度,如果換用高速單片機(jī)的同時(shí)改用更高刷新率的液晶屏實(shí)時(shí)效果會(huì)更好。3、可增加一個(gè)采樣通道,實(shí)現(xiàn)雙通道采樣,雙通道切換分析或者合并分析顯示。當(dāng)然這也需要單片機(jī)更快速的性能。參考文獻(xiàn)1 韓建海、馬尾機(jī)械工程測試技術(shù)J清華大學(xué)出版社2010.52 孫立功電子技術(shù)(電工學(xué)II)J高等教育出版社2010.12 3 吳繼發(fā)、陳特放單片機(jī)實(shí)現(xiàn)音頻頻譜顯示的快速算法研究M2009.114 姚永平STC12C5A60S2系列單片機(jī)器件手冊(cè)Z
48、2011.25 偉納電子通用1602液晶顯示模塊使用手冊(cè)Z2011.86 張登奇、李宏民、李丹按時(shí)間抽取的基2FFT算法分析及MATLAB實(shí)現(xiàn)M電子技術(shù)2011第38卷第2期7 胡漢才單片機(jī)原理及接口技術(shù)J北京:清華大學(xué)出版社1999 8 潘永雄新編單片機(jī)原理與應(yīng)用J西安 西安電子科技大學(xué)出版社,2003 9 陳享成耿長青基于單片機(jī)的顯示終端設(shè)計(jì)M電力自動(dòng)化設(shè)備,200710 陳興文劉燕單片機(jī)應(yīng)用系統(tǒng)硬件調(diào)試技巧M中國測控網(wǎng),2009 11 盧官明、宗肪數(shù)字音頻原理及應(yīng)用J機(jī)械工業(yè)出版社2001.612 宋瑜數(shù)字音頻及多媒體廣播接收系統(tǒng)J世界廣播電視出版社2003.1213 張韶高數(shù)字聲頻技術(shù)
49、原理及應(yīng)用J國防工業(yè)出版社2001.214 林福宗多媒體技術(shù)基礎(chǔ)J清華大學(xué)出版社2001.6致 謝如果說任何機(jī)會(huì)都是需要去創(chuàng)造出來的話,那么那個(gè)創(chuàng)造者,其實(shí)就是自己。時(shí)間過得真快,轉(zhuǎn)眼間已經(jīng)有一個(gè)多月了,現(xiàn)在回想起來,往事還歷歷在目。但是不可否認(rèn)的卻是這些經(jīng)歷將會(huì)是我人生當(dāng)中不可多得的財(cái)富和經(jīng)驗(yàn)的累積。在沒有做畢業(yè)設(shè)計(jì)以前覺得畢業(yè)設(shè)計(jì)只是對(duì)這幾年來所學(xué)知識(shí)的單純總結(jié),但是通過這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會(huì),什么東西
50、都懂,有點(diǎn)眼高手低。通過這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。不管學(xué)會(huì)的還是學(xué)不會(huì)的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。在此要感謝我的指導(dǎo)老師黃曉東對(duì)我悉心的指導(dǎo),感謝老師給我的幫助。導(dǎo)師淵博的專業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng)、平易近人的人格魅力對(duì)我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)習(xí)目標(biāo)、掌握了基本的研究方法
51、,還使本人明白了許多為人處事的道理。在設(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太完美,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。在此,謹(jǐn)向黃老師表示崇高的敬意和衷心的感謝!附錄一、主程序代碼#include #include #include#d
52、efine NOP5 _nop_();_nop_();_nop_();_nop_();_nop_()#define FOSC L#define NMS 4#define T1MS (65536-NMS*FOSC/12/1000)sbit RS=P20;/寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21;/讀寫選擇位,將RW位定義為P2.1引腳sbit E=P22;/使能信號(hào)位,將E位定義為P2.2引腳sbit BF=P07;/忙碌標(biāo)志位,將BF位定義為P0.7引腳unsigned char code User88=0x00,0x00,0x00,0x00,0x00,0x00,0x0
53、0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F;unsigned char code nxd32=0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31;unsigned char data132;struct complexfloat re,im;struct complex d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保安服務(wù)質(zhì)量監(jiān)控與保障手冊(cè)
- 績效考核指標(biāo)全面指南
- 職業(yè)教育國際化進(jìn)程
- 固體廢物處理與處置教學(xué)方案
- 創(chuàng)新驅(qū)動(dòng)下的企業(yè)數(shù)字化轉(zhuǎn)型路徑
- 區(qū)域中心小學(xué)餐飲配送服務(wù)體系建設(shè)規(guī)劃方案探討
- 合肥特殊疾病管理辦法
- 學(xué)校三年發(fā)展規(guī)劃實(shí)施成果評(píng)估與反思總結(jié)報(bào)告
- 江蘇紅酒倉儲(chǔ)管理辦法
- 回遷工作經(jīng)費(fèi)管理辦法
- 2025年計(jì)算機(jī)程序設(shè)計(jì)考試試卷及答案
- 2025年河南省中考數(shù)學(xué)真題含答案
- 人力中介公司管理制度
- 抗精神病藥氯丙嗪講課件
- 2025人教英語初中八年級(jí)下冊(cè)期末測試卷(含答案)
- 燃?xì)馊霊艋卦L管理制度
- 燃?xì)夤居?jì)量管理制度
- 綜合與實(shí)踐 白晝時(shí)長規(guī)律的探究 同步練習(xí)(含答案)人教版七年級(jí)數(shù)學(xué)下冊(cè)
- 2025年山西煙草專賣局考試題庫帶答案分析試卷及答案
- 2025-2030中國餐廚垃圾處理服務(wù)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報(bào)告
- 2025年反假幣知識(shí)競賽題庫及答案(共50題)
評(píng)論
0/150
提交評(píng)論