找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3003|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

初學(xué)者關(guān)于頻率計(jì)的一點(diǎn)疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:158391 發(fā)表于 2022-12-17 05:41 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 ldc2000 于 2022-12-17 05:43 編輯

前兩天學(xué)了51定時(shí)器計(jì)數(shù)器和中斷,然后看到論壇里有關(guān)頻率計(jì)的好幾個(gè)例子,看得有點(diǎn)懵。
現(xiàn)在我的問題是:為什么加那么多復(fù)雜的電路?51本身就有計(jì)數(shù)器,為什么不直接把信號(hào)輸入到51的中斷腳上,或隨便哪個(gè)I/O腳,比如P3^2 INT0,然后讓這個(gè)中斷捕捉信號(hào)的下降沿,每捕捉到一次變量++,一秒內(nèi)捕捉到多少個(gè)下降沿就是多少頻率唄。按用12M晶振算,測(cè)量1MHz以下的頻率應(yīng)該沒問題吧?信號(hào)弱的頂多加個(gè)放大電路

我這個(gè)想法是不是太簡(jiǎn)單了?請(qǐng)大佬指教
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-12-17 11:12 | 只看該作者
想法不錯(cuò),但是想法和實(shí)際產(chǎn)品的距離有多大,要自己做一遍才會(huì)知道。
回復(fù)

使用道具 舉報(bào)

板凳
ID:158391 發(fā)表于 2022-12-17 11:42 | 只看該作者
Hephaestus 發(fā)表于 2022-12-17 11:12
想法不錯(cuò),但是想法和實(shí)際產(chǎn)品的距離有多大,要自己做一遍才會(huì)知道。

是什么原因呢,是51的反應(yīng)速度跟不上嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:1034262 發(fā)表于 2022-12-17 11:53 | 只看該作者
我做頻率計(jì)一直是用的51,特別是STC的1T51,計(jì)數(shù)器可以計(jì)數(shù)的最高頻率為主頻的一半,比如我常用溫補(bǔ)晶振32.768MHz做時(shí)鐘做頻率計(jì)/周期計(jì),可以計(jì)數(shù)到16MHz,精度可達(dá)0.1ppm。MCU用PCA高速輸出高電平1秒低電平10ms信號(hào)接INT0 INT1分別對(duì)Timer0和Timer1做門控計(jì)數(shù),同時(shí)允許下降沿中斷,高電平計(jì)數(shù),低電平停止計(jì)數(shù),進(jìn)外部中斷讀取計(jì)數(shù)值即是頻率。輸入用不同的方式分頻,0~50MHz分辨率是1Hz,2.4GHz分辨率是100Hz。
回復(fù)

使用道具 舉報(bào)

5#
ID:158391 發(fā)表于 2022-12-17 12:32 | 只看該作者
coody_sz 發(fā)表于 2022-12-17 11:53
我做頻率計(jì)一直是用的51,特別是STC的1T51,計(jì)數(shù)器可以計(jì)數(shù)的最高頻率為主頻的一半,比如我常用溫補(bǔ)晶振32. ...

我 我是新手,剛百度了PPM和分頻,1T51是啥?單片機(jī)型號(hào)?可以2個(gè)時(shí)鐘周期運(yùn)算1次的?沒查到。
不分頻的話可以嗎,分頻的作用是什么呢,會(huì)不會(huì)加大誤差?因?yàn)槲蚁霚y(cè)的信號(hào)頻率頂多也就幾十KHz,不過這個(gè)信號(hào)應(yīng)該是復(fù)合的,即有低頻也有高頻,還沒想好怎么測(cè)
回復(fù)

使用道具 舉報(bào)

6#
ID:491875 發(fā)表于 2022-12-17 13:19 | 只看該作者
ldc2000 發(fā)表于 2022-12-17 12:32
我 我是新手,剛百度了PPM和分頻,1T51是啥?單片機(jī)型號(hào)?可以2個(gè)時(shí)鐘周期運(yùn)算1次的?沒查到。
不分頻的 ...

只要脈沖波形規(guī)則(方波)也就是有陡峭的下降沿,電平和頻率符合單片機(jī)要求就可以直接使用。
回復(fù)

使用道具 舉報(bào)

7#
ID:149799 發(fā)表于 2022-12-17 14:00 | 只看該作者
老愚童63 發(fā)表于 2022-12-17 13:19
只要脈沖波形規(guī)則(方波)也就是有陡峭的下降沿,電平和頻率符合單片機(jī)要求就可以直接使用。

能不能發(fā)個(gè)程序,讓我們學(xué)習(xí)學(xué)習(xí)。感謝。
回復(fù)

使用道具 舉報(bào)

8#
ID:155507 發(fā)表于 2022-12-17 15:49 | 只看該作者
王秋冬 發(fā)表于 2022-12-17 14:00
能不能發(fā)個(gè)程序,讓我們學(xué)習(xí)學(xué)習(xí)。感謝。

給你一個(gè)。用89C51單片機(jī)制作了一個(gè)頻率計(jì)



  1. /****************************************************
  2. 名稱:頻率計(jì),用8位數(shù)碼管顯示

  3. 說明:用計(jì)數(shù)器1對(duì)外部頻率信號(hào)進(jìn)行計(jì)數(shù),用定時(shí)器0每隔
  4.           一秒查詢計(jì)數(shù)器1的累計(jì)值,就是信號(hào)頻率。
  5.         89c52 主頻11.0592M         在開發(fā)板上測(cè)試通過
  6. ****************************************************/

  7. #include <REGX52.H>
  8. #include "SMG.h"

  9. unsigned long num;           //        儲(chǔ)存計(jì)算頻率值
  10. unsigned char T1_count;         //計(jì)數(shù)器1計(jì)滿65536的次數(shù)

  11. void init()
  12. {
  13.         TMOD = 0x51;// 0101 0001
  14.         TH0 = 0x4c;// 初值=65536 - 11.0592/12*50000;定時(shí)50ms
  15.         TL0 = 0x00;
  16.         PT0 = 1;
  17.         EA = ET1 = ET0 =1;
  18.         TR0 = TR1 = 1;
  19.         TI = 1;
  20. }
  21. void main()
  22. {
  23.         init();
  24.         while(1)
  25.         {
  26.                  smgxs8w(num);         //數(shù)碼管顯示8位數(shù)
  27.         }
  28. }

  29. void T1_int() interrupt 3        //計(jì)數(shù)65536次觸發(fā)一次
  30. {
  31.         T1_count++;        
  32. }

  33. void T0_int() interrupt 1        //50ms觸發(fā)一次
  34. {
  35.         static unsigned char T0_count;
  36.         TR1 = 0;
  37.         TH0 = 0x4c;//定時(shí)50ms
  38.         TL0 = 0x13;        //理論值0x00,實(shí)測(cè)0x13最準(zhǔn)
  39.         if(++T0_count == 20)          //達(dá)到1秒
  40.         {
  41.                 num = T1_count *65536 + TH1*256+TL1;
  42.                 TH1 = TL1 = 0;
  43.                 T1_count = 0;
  44.                 T0_count = 0;
  45.         }         
  46.         TR1 = 1;

  47. }

復(fù)制代碼




回復(fù)

使用道具 舉報(bào)

9#
ID:158391 發(fā)表于 2022-12-17 17:09 | 只看該作者
angmall 發(fā)表于 2022-12-17 15:49
給你一個(gè)。用89C51單片機(jī)制作了一個(gè)頻率計(jì)

哈哈哈,作過校驗(yàn)沒有,精度怎么樣?
回復(fù)

使用道具 舉報(bào)

10#
ID:158391 發(fā)表于 2022-12-17 17:15 | 只看該作者
老愚童63 發(fā)表于 2022-12-17 13:19
只要脈沖波形規(guī)則(方波)也就是有陡峭的下降沿,電平和頻率符合單片機(jī)要求就可以直接使用。

感謝感謝
回復(fù)

使用道具 舉報(bào)

11#
ID:158391 發(fā)表于 2022-12-17 17:36 | 只看該作者
coody_sz 發(fā)表于 2022-12-17 11:53
我做頻率計(jì)一直是用的51,特別是STC的1T51,計(jì)數(shù)器可以計(jì)數(shù)的最高頻率為主頻的一半,比如我常用溫補(bǔ)晶振32. ...

除了STC12系列,其他的還有能工作在1T模式下的嗎
回復(fù)

使用道具 舉報(bào)

12#
ID:158391 發(fā)表于 2022-12-18 11:08 | 只看該作者
有沒有大佬還有別的看法?
回復(fù)

使用道具 舉報(bào)

13#
ID:420836 發(fā)表于 2022-12-20 09:51 | 只看該作者
為了創(chuàng)造實(shí)用的設(shè)計(jì),我們需要添加信號(hào)調(diào)理電路、濾波電路和補(bǔ)償電路等。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表