導航:首頁 > 操作系統 > 畫單片機頻譜

畫單片機頻譜

發布時間:2024-03-25 01:48:11

單片機音樂頻譜程序求解釋!

音樂頻譜的解析關鍵就是FFT函數,它可將幅域信號轉換為頻域信號,你可以看看相關的高等數學中的信號處理部分。
從jpg圖來看,你那個程序將頻域設定為16個頻點,8個高度值

❷ 基於單片機的音樂頻譜顯示儀設計背景及意義

背景是電子信息技術的進步,意義是採集數據轉換成音頻。
一切聲音都是由振動產生的,聲音之所以千變萬化各不相同,是因為它們的振動各不相同。產生音調高低的不同,是由於振動的頻率不同。頻率越高,音高也就越高。
根據傅立葉分析,任何聲音可以分解為數個甚至無限個正弦波。

❸ 怎麼使用單片機的定時計數器,實現最簡單的對外部信號進行測頻,試畫出電路圖並

CPU時序的有關知識
振盪周期:為單片機提供定時信號的振盪源的周期(晶振周期或外加振盪周期)

狀態周期:2個振盪周期為1個狀態周期,用S表示。振盪周期又稱S周期或時鍾周期。

機器周期:1個機器周期含6個狀態周期,12個振盪周期。

指令周期:完成1條指令所佔用的全部時間,它以機器周期為單位。

例如:外接晶振為12MHz時,51單片機相關周期的具體值為:
振盪周期=1/12us;
狀態周期=1/6us;
機器周期=1us;
指令周期=1~4us;
在學習定時器之前需要明白的
51單片機有兩組定時器/計數器,因為既可以定時,又可以計數,故稱之為定時器/計數器。

定時器/計數器和單片機的CPU是相互獨立的。

定時器/計數器工作的過程是自動完成的,不需要CPU的參與。

51單片機中的定時器/計數器是根據機器內部的時鍾或者是外部的脈沖信號對寄存器中的數據加1。

有了定時器/計數器之後,可以增加單片機的效率,一些簡單的重復加1的工作可以交給定時器/計數器處理。CPU轉而處理一些復雜的事情。同時可以實現精確定時作用。

定時/計數器的工作原理
定時/計數器實質上是一個加1計數器。它隨著計數器的輸入脈沖進行自加1,也就是每來一個脈沖,計數器就自動加1,,當加到計數器為全1時,再輸入一個脈沖就使計數器回零,且計數器的溢出使相應的中斷標志位置1,向CPU發出中斷請求(定時/計數器中斷允許時)。如果定時/計數器工作於定時模式,則表示定時時間已到;如果工作於計數模式,則表示計數值已滿。

可見,由溢出時計數器的值減去計數初值才是加1計數器的計數值。

51單片機定時器結構
定時/計數器的實質是加1計數器(16位),由高8位和低8位兩個寄存器THx和TLx組成。TMOD是定時/計數器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。

定時/計數器的控制
51單片機定時/計數器的工作由兩個特殊功能寄存器控制。TMOD用於設置其工作方式;TCON用於控制其啟動和中斷申請。

1、工作方式寄存器TMOD

工作方式寄存器TMOD用於設置定時/計數器的工作方式,低四位用於T0,高四位用於T1。其格式如下:

GATE是門控位, GATE=0時,用於控制定時器的啟動是否受外部中斷源信號的影響。只要用軟體使TCON中的TR0或TR1為1,就可以啟動定時/計數器工作;

GATA=1時,要用軟體使TR0或TR1為1,同時外部中斷引腳INT0/1也為高電平時,才能啟動定時/計數器工作。即此時定時器的啟動條件,加上了INT0/1引腳為高電平這一條件。

C/T :定時/計數模式選擇位。C/T =0為定時模式;C/T =1為計數模式。

M1M0:工作方式設置位。定時/計數器有四種工作方式。

2、控制寄存器TCON

TCON的低4位用於控制外部中斷,已在前面介紹。TCON的高4位用於控

制定時/計數器的啟動和中斷申請。其格式如下:

TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬體自動置TF1為1。CPU響應中斷後TF1由硬體自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟體置1或清0,同硬體置1或清0的效果一樣。

TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟體置1或清0。所以,用軟體可控制定時/計數器的啟動與停止。

TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。

TR0(TCON.4):T0運行控制位,其功能與TR1類同。

定時/計數器的工作方式
1、方式0

方式0為13位計數,由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標志,向CPU發出中斷請求。

定時器模式時有:N=t/ Tcy

計數初值計算的公式為:X=2^13-N。

定時器的初值還可以採用計數個數直接取補法獲得。

計數模式時,計數脈沖是T0引腳上的外部脈沖。

門控位GATE具有特殊的作用。當GATE=0時,經反相後使或門輸出為1,此時僅由TR0控制與門的開啟,與門輸出1時,控制開關接通,計數開始;當GATE=1時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號和TR0共同控制。當TR0=1時,外中斷引腳信號引腳的高電平啟動計數,外中斷引腳信號引腳的低電平停止計數。這種方式常用來測量外中斷引腳上正脈沖的寬度。

2、方式1

方式1的計數位數是16位,由TL0作為低8位,TH0

作為高8位,組成了16位加1計數器 。

計數個數與計數初值的關系為:X=2^16-N

3、方式2

方式2為自動重裝初值的8位計數方式。

計數個數與計數初值的關系為:X=2^8-N

工作方式2特別適合於用作較精確的脈沖信號發生器。

4、方式3

方式3隻適用於定時/計數器T0,定時器T1處於方式3時相當於TR1=0,停止計數。

工作方式3將T0分成為兩個獨立的8位計數器TL0和TH0 。

使用定時器,該做哪些工作
初始化程序應完成如下工作:

1.對TMOD賦值,以確定T0和T1的工作方式。
2.計算初值,並將其寫入TH0、TL0或TH1、TL1。
3.中斷方式時,則對EA賦值,開放定時器中斷。
4.使TR0或TR1置位,啟動定時/計數器定時或計數。
計數器初值的計算:

機器周期也就是CPU完成一個基本操作所需要的時間。

機器周期=1/單片機的時鍾頻率。

51單片機內部時鍾頻率是外部時鍾的12分頻。也就是說當外部晶振的頻率輸入到單片機裡面的時候要進行12分頻。比如說你用的是12MHZ的晶振,那麼單片機內部的時鍾頻率就是12/12MHZ,當你使用12MHZ的外部晶振的時候。機器周期=1/1M=1us。

而我們定時1ms的初值是多少呢,1ms/1us=1000。也就是要計數1000個數,初值=65535-1000+1(因為實際上計數器計數到64536才溢出)=64536=FC18H

定時器中斷
使用定時器,該做哪些工作

初始化程序應完成如下工作:

對TMOD賦值,以確定T0和T1的工作方式。

計算初值,並將其寫入TH0、TL0或TH1、TL1。

中斷方式時,則對EA賦值,開放定時器中斷。

使TR0或TR1置位,啟動定時/計數器定時或計數。

❹ 如何採用matlab對單片機採集的數據進行頻譜分析

N=2500; %2500個采樣點
Fs=1000; %采樣頻率
t=(0:N-1)/Fs; %時域
X=[]; %要快速傅里葉變換的原始信號
Y=fft(X,N); %快速傅里葉變換
f=(0:N-1)*Fs/N; %頻域的點數
subplot(2,1,1);
plot(f,abs(Y)) %頻譜圖
subplot(2,1,2);
plot(f,angle(Y)) %相位譜

❺ 如何用51單片機實現音頻信號的頻譜顯示(在LCD上顯示)

12864可以作為顯示器件

頻譜分析涉及到FFT,如果你這個不會,那還是再學習學習吧。
簡單原理: 通過快速FFT將音頻分析成多個正弦波的組合,正弦波的頻率就是高音低音,振幅就是音量的大小。
FFT運算量比較大,普通51難以接受,要選用1T的高速51,
聲音信號要通過ad進行采樣,然後將其進行分析,所以要選用一個精度高速度快的ad,一般高檔51中ad可以勝任這個工作
聲音信號在ad采樣之前需要調整成合適振幅的信號

閱讀全文

與畫單片機頻譜相關的資料

熱點內容
看比賽用哪個app 瀏覽:974
如何評價如故app 瀏覽:149
建立表結構的命令 瀏覽:579
安卓文件為什麼蘋果手機打不開 瀏覽:82
東奧輕4可以在哪個app做題 瀏覽:163
金融科技加密卡 瀏覽:835
程序員那麼開一共有多少集 瀏覽:980
面試程序員被問數學問題怎麼辦 瀏覽:91
背大學英語的app哪個最好 瀏覽:719
哪個app買的衣服好 瀏覽:467
天刀以前玩過的伺服器忘了怎麼辦 瀏覽:211
單片機基礎代碼解讀 瀏覽:233
廣東青少年編程學習 瀏覽:509
買男士香水去哪個app 瀏覽:548
androidsleep函數 瀏覽:151
android內核代碼下載 瀏覽:665
伺服器如何添加墨跡 瀏覽:747
diglinux安裝 瀏覽:279
虛擬機執行命令 瀏覽:446
cctv16奧林匹克頻道加密播出 瀏覽:901