導航:首頁 > 操作系統 > 周測法測頻率單片機程序

周測法測頻率單片機程序

發布時間:2022-07-07 21:56:44

1. 用單片機測頻率的程序

我只有51的程序,沒有MSP430的,但是我可以告訴您的思路:
1、你將輸入信號輸入外部中斷引腳。
2、開啟您的定時器T0;
3、使用定時器T0計時5S,然後讀取外部中斷了多少次。
4、計算外部中斷的次數N,這樣你就得到你所需要的頻率了。那就是N*12=1分鍾的次數。

2. 測周法測頻率怎麼用單片機實現。

主要是利用單片機的定時器計時,測量2個時間參數t1和t2,即如下所示:

計算信號的一個波形的周期t=t1+t2 則可以求出頻率f=1/t

3. 基於89c51單片機實現測頻,利用測頻法以及測周法(兩種方法測不同頻率但是需要在同一個程序中)

先說測脈沖個數,用於頻率較高場合,直接測周期用於頻率較低場合。先默認計數法,當算得頻率低於某一值時,改為測周期法,當頻率高於某一值時,採用測脈沖個數法。

4. 51單片機測周C程序怎麼寫,計算兩個脈沖之間的時間,程序怎麼寫!

或是低電平脈沖則直接接到單片機外部中斷的引腳上就行了,一個低脈沖過來,進入中斷,啟動定時器/計數器,再來一個脈沖,再進入中斷,關閉定時器/計數器,取得這個時間段的時鍾周期,根據晶振頻率算出時間就OK了。是不是很簡單?

5. 51單片機製作頻率計,測周法如何測量(用T0和T1兩個就可以了嗎),求大蝦幫忙啊,最好詳細點

#include<REG51.H>

#defineU8unsignedchar

U8codetab[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28};

U8codescn[]={0x7f,0xbf,0xdf,0xef};//先點亮左邊一個數碼管

U8buf[4]={0,0,0,0};//顯示緩沖區

U8cnt=0;//掃描計數

unsignedintfreq=0;

unsignedintF;

voidmain(void)

{EA=1;//允許中斷

TMOD=0x01;//設定時器0為模式1(16位)

ET0=1;//定時器0中斷允許

TH0=(65536-5000)/256;//晶振12MHz,中斷周期5mS

TL0=(65536-5000)%256;;

TR0=1;//開始計數

PX0=1;//外部中斷優先順序高

EX0=1;//允許外部中斷

IT0=1;//外部中斷下降沿觸發

while(1);

}

voidexint0(void)interrupt0//外部中斷0服務程序

{freq++;

}

voidtimeint(void)interrupt1//定時器0中斷服務程序

{chari;

TH0=(65536-5000)/256;//晶振12MHz,中斷周期5mS

TL0=(65536-5000)%256;;

i=cnt&0x03;//求應點亮的LED號(從左到右依次為0,1,2,3)

P0=tab[buf[i]];//筆劃代碼送P0口

P2=scn[i];//控制掃描碼送P2口

cnt++;

if(cnt==200)

{cnt=0;//到1秒鍾,顯示的數字加一

F=freq;freq=0;

buf[0]=F/1000;

buf[1]=(F/100)%10;

buf[2]=(F/10)%10;

buf[3]=F%10;

}

}

6. 51單片機測頻率的程序

測頻率時,頻率高的時候,採用「定時計數法」。
樓上給出的「開啟一個定時器,計算一定時間t內的count值」,就是這種方法。
但是,頻率低的時候,這種方法是不適用的。
因為想要計幾個數,就要花費很長的時間。
故此,頻率低的時候,應該使用「測量周期法」,再換算成頻率。

閱讀全文

與周測法測頻率單片機程序相關的資料

熱點內容
為什麼空氣難壓縮是因為斥力嗎 瀏覽:641
郭天祥單片機實驗板 瀏覽:599
伺服器有什麼危害 瀏覽:256
飢荒怎麼開新的獨立伺服器 瀏覽:753
文件夾變成了 瀏覽:560
linuxpython綠色版 瀏覽:431
怎麼下載小愛同學音箱app 瀏覽:554
python佔位符作用 瀏覽:76
javajdbcpdf 瀏覽:543
php網頁模板下載 瀏覽:192
python試講課pygame 瀏覽:409
安居客的文件夾名稱 瀏覽:677
家裡伺服器如何玩 瀏覽:451
網站源碼使用視頻 瀏覽:748
stc89c52單片機最小系統 瀏覽:452
郵件安全證書加密 瀏覽:416
雲伺服器如何訪問百度 瀏覽:279
常州電信伺服器dns地址 瀏覽:839
用小方塊製作解壓方塊 瀏覽:42
圖像壓縮編碼實現 瀏覽:68