采集音頻信號(hào)并顯示其特征
發(fā)布時(shí)間:2012/6/12 20:02:04 訪問(wèn)次數(shù):928
使用PIC16F877A內(nèi)置ADC,可以對(duì)音煩AD9832BRUZ信號(hào)進(jìn)行采樣和分析,然后把分析的結(jié)果送到顯示緩>中區(qū)中,這樣就能夠把音頻信號(hào)包含的各種信息顯示在點(diǎn)陣屏上了。本例僅做一個(gè)最簡(jiǎn)單的演示,即信號(hào)幅度隨時(shí)間的變化情況。
程序分析I main在初始化定時(shí)器、1/0口后調(diào)用Init_ADO初始化ADC,通過(guò)設(shè)定PCFG3—PCFGO來(lái)確定RAO、RAI和RA3用作
AD輸入通道,選擇VDD和GND作為參考電源,設(shè)定AD轉(zhuǎn)換的時(shí)鐘來(lái)源為Fosc/32;設(shè)定AD轉(zhuǎn)換的結(jié)果是右對(duì)齊;打開ADC。
在定時(shí)中斷處理中增加了變量ConvCount,每次中斷該變量加1,加到50時(shí)回零,并且將全局變量Conv置為Ox55.從而在main函數(shù)中開始一次AD轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,將結(jié)果除以127,即使得最終的采樣結(jié)果在0~7之間;然后將顯示緩j中區(qū)中數(shù)值依次前移一位,并將此次轉(zhuǎn)換后的結(jié)果存入緩/中區(qū)的最后一位。因此,本例中是每50ms采樣一次音頻信號(hào)的幅度,并且是依次傳遞顯示,改變這些處理方式可以得到不同的顯示效果。
程序中使用了兩個(gè)表格Codel口和Code20,當(dāng)選擇這兩個(gè)表格時(shí),可以得到兩種不同的顯示效果,Codel0表使得顯示如柱狀圖,而Code2則使得顯示為點(diǎn)妝,就像示波器圖形。硬件電路中設(shè)計(jì)了鍵盤,讀者可以自行編寫程序練習(xí),使用按鍵來(lái)控制各種顯示效果。
程序分析I main在初始化定時(shí)器、1/0口后調(diào)用Init_ADO初始化ADC,通過(guò)設(shè)定PCFG3—PCFGO來(lái)確定RAO、RAI和RA3用作
AD輸入通道,選擇VDD和GND作為參考電源,設(shè)定AD轉(zhuǎn)換的時(shí)鐘來(lái)源為Fosc/32;設(shè)定AD轉(zhuǎn)換的結(jié)果是右對(duì)齊;打開ADC。
在定時(shí)中斷處理中增加了變量ConvCount,每次中斷該變量加1,加到50時(shí)回零,并且將全局變量Conv置為Ox55.從而在main函數(shù)中開始一次AD轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,將結(jié)果除以127,即使得最終的采樣結(jié)果在0~7之間;然后將顯示緩j中區(qū)中數(shù)值依次前移一位,并將此次轉(zhuǎn)換后的結(jié)果存入緩/中區(qū)的最后一位。因此,本例中是每50ms采樣一次音頻信號(hào)的幅度,并且是依次傳遞顯示,改變這些處理方式可以得到不同的顯示效果。
程序中使用了兩個(gè)表格Codel口和Code20,當(dāng)選擇這兩個(gè)表格時(shí),可以得到兩種不同的顯示效果,Codel0表使得顯示如柱狀圖,而Code2則使得顯示為點(diǎn)妝,就像示波器圖形。硬件電路中設(shè)計(jì)了鍵盤,讀者可以自行編寫程序練習(xí),使用按鍵來(lái)控制各種顯示效果。
使用PIC16F877A內(nèi)置ADC,可以對(duì)音煩AD9832BRUZ信號(hào)進(jìn)行采樣和分析,然后把分析的結(jié)果送到顯示緩>中區(qū)中,這樣就能夠把音頻信號(hào)包含的各種信息顯示在點(diǎn)陣屏上了。本例僅做一個(gè)最簡(jiǎn)單的演示,即信號(hào)幅度隨時(shí)間的變化情況。
程序分析I main在初始化定時(shí)器、1/0口后調(diào)用Init_ADO初始化ADC,通過(guò)設(shè)定PCFG3—PCFGO來(lái)確定RAO、RAI和RA3用作
AD輸入通道,選擇VDD和GND作為參考電源,設(shè)定AD轉(zhuǎn)換的時(shí)鐘來(lái)源為Fosc/32;設(shè)定AD轉(zhuǎn)換的結(jié)果是右對(duì)齊;打開ADC。
在定時(shí)中斷處理中增加了變量ConvCount,每次中斷該變量加1,加到50時(shí)回零,并且將全局變量Conv置為Ox55.從而在main函數(shù)中開始一次AD轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,將結(jié)果除以127,即使得最終的采樣結(jié)果在0~7之間;然后將顯示緩j中區(qū)中數(shù)值依次前移一位,并將此次轉(zhuǎn)換后的結(jié)果存入緩/中區(qū)的最后一位。因此,本例中是每50ms采樣一次音頻信號(hào)的幅度,并且是依次傳遞顯示,改變這些處理方式可以得到不同的顯示效果。
程序中使用了兩個(gè)表格Codel口和Code20,當(dāng)選擇這兩個(gè)表格時(shí),可以得到兩種不同的顯示效果,Codel0表使得顯示如柱狀圖,而Code2則使得顯示為點(diǎn)妝,就像示波器圖形。硬件電路中設(shè)計(jì)了鍵盤,讀者可以自行編寫程序練習(xí),使用按鍵來(lái)控制各種顯示效果。
程序分析I main在初始化定時(shí)器、1/0口后調(diào)用Init_ADO初始化ADC,通過(guò)設(shè)定PCFG3—PCFGO來(lái)確定RAO、RAI和RA3用作
AD輸入通道,選擇VDD和GND作為參考電源,設(shè)定AD轉(zhuǎn)換的時(shí)鐘來(lái)源為Fosc/32;設(shè)定AD轉(zhuǎn)換的結(jié)果是右對(duì)齊;打開ADC。
在定時(shí)中斷處理中增加了變量ConvCount,每次中斷該變量加1,加到50時(shí)回零,并且將全局變量Conv置為Ox55.從而在main函數(shù)中開始一次AD轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,將結(jié)果除以127,即使得最終的采樣結(jié)果在0~7之間;然后將顯示緩j中區(qū)中數(shù)值依次前移一位,并將此次轉(zhuǎn)換后的結(jié)果存入緩/中區(qū)的最后一位。因此,本例中是每50ms采樣一次音頻信號(hào)的幅度,并且是依次傳遞顯示,改變這些處理方式可以得到不同的顯示效果。
程序中使用了兩個(gè)表格Codel口和Code20,當(dāng)選擇這兩個(gè)表格時(shí),可以得到兩種不同的顯示效果,Codel0表使得顯示如柱狀圖,而Code2則使得顯示為點(diǎn)妝,就像示波器圖形。硬件電路中設(shè)計(jì)了鍵盤,讀者可以自行編寫程序練習(xí),使用按鍵來(lái)控制各種顯示效果。
上一篇:PWM技術(shù)
熱門點(diǎn)擊
- 毫伏表
- 硅三極管的功能簡(jiǎn)介
- 三相電源與電動(dòng)機(jī)接線
- 電沆斬波控制
- 怎樣顯示時(shí)間?
- 具體方法
- 話筒和AF放大器
- 振蕩電路中采用陶瓷振子
- 完美無(wú)諧波變頻器
- 源極跟隨器偏置電路的構(gòu)成
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究