51微控制器制作頻率計,測周法如何測量 用T0和T1兩個就可以了嗎 ,求大蝦幫忙啊,最好詳細點

時間 2022-08-12 19:00:02

1樓:匿名使用者

#include

#define u8 unsigned char

u8 code tab=;

u8 code scn=;//先點亮左邊一個數碼管

u8 buf[4]=;// 顯示緩衝區

u8 cnt = 0;   // 掃描計數

unsigned int freq = 0;

unsigned int f;

void main(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);

void exint0(void) interrupt 0 // 外部中斷0 服務程式

{ freq++;

void timeint(void) interrupt 1 // 定時器0中斷服務程式

{ char i;

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;

2樓:匿名使用者

下降沿 產生中斷~定時器計時 配合計數器~ 算出波的週期~ 換算成頻率就好~ 這個不難的

51微控制器頻率計 12m晶振 t0計數 a為計數溢位次數 測周法測量 , f=1000000.0/(th0*256+tl0+a*65535)嗎

3樓:匿名使用者

應該f=1000000.0/(th0*256+tl0+a*65536)

51的微控制器可以實現t0定時和t1計數同時進行麼?

4樓:盧超

是滴。這種用法很正常啊,比如你做一個頻率計,那麼,既要能計輸入脈衝數(計數運用),又要能判斷單位時間(定時),然後通過演算法,即輸入脈衝/單位時間。這就是微控制器做的頻率計。

當然,兩個一起用的,還有很多場合。

5樓:hi漫海

51的微控制器可以實現t0定時和t1計數同時進行;計數器是相互獨立的;

51微控制器是對所有相容intel 8031指令系統的微控制器的統稱。該系列微控制器的始祖是intel的8004微控制器,後來隨著flash rom技術的發展,8004微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是atmel公司的at89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的相容機型推出,今後很長的一段時間內將佔有大量市場。

51微控制器是基礎入門的一個微控制器,還是應用最廣泛的一種。需要注意的是51系列的微控制器一般不具備自程式設計能力。

6樓:唯武德馨一般幾

當然可以同時進行,兩個獨立的定時器

7樓:

可以的,這兩個部分是獨立的

微控制器定時器t0和t1有什麼區別呀?求助~~~

8樓:忻憐雲

huststi

有幾句話說的不對,方式3不同。但是t0是被拆分成th0 tl0兩個獨立的8位計數器。

在方式3下 to可以構成2個定時器或者一個定時器一個計數器。

方式3下 t1是不工作的。。

還有需要補充的是 to和t1所產生的中斷優先順序別不同。 找個你查下中斷優先順序 就知道了。。。

9樓:做而論道

相同點:

都可以工作在:

方式0(13位);

方式1(16位);

方式2(8位,自動恢復初值)。

不同點:

t0能夠工作在方式3(雙8位);

t1能夠當做序列口波特率發生器。

10樓:匿名使用者

t0和t1的工作方式0,1,2相同,方式3不同。t0用的是13位計數器(高三位不用),t1用的是16位計數器。所以兩者的最大即使時間不同。

在處理問題時,可先設定一個時間基準,再乘以倍數達到要求。

11樓:茆清安壽橋

工作方式3不同唄,當m1m0都為1時,為方式3,但僅是適用於t0,t1停止計時;但是(方式0,1,2)t0、t1都是相同的。

12樓:

t0是為了相容以前更早的微控制器的定時器,要不怎麼能排到前面呢

13樓:匿名使用者

huststi 回答的很好

at89c51微控制器設計頻率計,測量0hz--99.99khz的頻率,精度0.1%,分頻是怎麼分的,詳細解釋一下,謝謝啦

14樓:匿名使用者

100k以內,直接用51定時器的計數模式來做,完全能達到0.1%的精度,沒必要分頻。 實在想分頻,那你可以用74系列的計數器比如74hc160來做,可以任意設定你想要的分頻係數。

15樓:qq稱

at89c51微控制器設計頻率計,測量0hz--99.99khz的頻率,精度0.1%,如果您方便

可以合作

16樓:做而論道

1000hz 以上,使用計數法,以下,應用測周法。

我想做一個用微控制器頻率計,用t0計數,t1定時1s,數碼管顯示,但當頻率大於10khz 時顯示就不行了,求指教!

用51微控制器寫一個簡單的脈衝計數程式

17樓:匿名使用者

你好!相當於一個簡易的頻率計

測周法測頻率怎麼用微控制器實現。 5

18樓:胖大海君

主要是利用微控制器的定時器計時,測量2個時間引數t1和t2,即如下所示:

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

微控制器頻率計如何計算更精確,用51微控制器做的頻率計為什麼會有誤差?

1全部100ms,測量一次,顯示一次,顯示數值跳動,是正常的。可以把四次的數值,取平均值,每隔400ms,顯示一次 這樣,跳動的現象就會明顯減小。如果把八次的數值,取平均值,每隔800ms,顯示一次 這時,顯示的就會很穩定了,但是,也顯得 遲鈍 和 冷漠 多了。每隔400ms,顯示一次平均值,效果最...

求助 用微控制器制作遙控電動小車,求助 用微控制器制作一個遙控電動小車

這個分幾大模組。搖控模組 這一部分要用到無線裝置,有用紅外線的,而我作的時候用的是ptr8000是用nrf905晶片整合的一塊模板,要一次一對,具體命令廠家提供 電機驅動模組 電機有選用四電機,雙電機,還有單電機的,我用過的是雙電機,一個電機控制一百的輪子,也就是說一個控制左邊一個控制右邊,而電機用...

51微控制器產生一定佔空比和頻率的PWM

程式修改了一下,試試,ucount是字元變數而且也只能是字元變數,所以不能大於255.include define count 50 define th m1 65536 count 256 設定定時器t0的定時時間 define tl m1 65536 count 256 設定定時器t0的定時時間...