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

周測法測頻率單片機程序

發布時間: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值」,就是這種方法。
但是,頻率低的時候,這種方法是不適用的。
因為想要計幾個數,就要花費很長的時間。
故此,頻率低的時候,應該使用「測量周期法」,再換算成頻率。

閱讀全文

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

熱點內容
怎麼可以加密消息 瀏覽:607
編譯原理單詞的文法 瀏覽:508
程序的執行編譯和翻譯 瀏覽:170
發圖片文件夾的格式 瀏覽:94
將數據加密儲存到資料庫 瀏覽:972
集權伺服器是什麼 瀏覽:392
故事存檔在哪個文件夾 瀏覽:132
程序員欠債29萬 瀏覽:244
錘子手機拍攝的照片在哪個文件夾 瀏覽:96
ca指標源碼大全 瀏覽:241
為什麼國內手機攝像頭不做演算法 瀏覽:182
蘋果手機的app怎麼不顯示 瀏覽:129
不用的文件夾可以做什麼 瀏覽:22
win10c語言編程軟體 瀏覽:334
刪掉的平安app怎麼找回來 瀏覽:842
javastring相加 瀏覽:647
單片機設置斷點 瀏覽:522
wfiif怎麼加密 瀏覽:413
蘋果手機加密組件 瀏覽:814
線切割單片機操作指令 瀏覽:942