新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機89C51制作的頻率計的設計方法,

        基于單片機89C51制作的頻率計的設計方法,

        作者: 時間:2013-03-08 來源:網絡 收藏

          
          當上述測量判斷過程直到計數閘門寬度達到1 s(對應的頻率測量范圍為100~999 Hz)時測量結果仍不具有3位有效數字,則使用定時方法測量待測信號的周期。定時/計數器的工作被設置為定時器方式,定時/計數器的計數寄存器清0,在判斷待測信號的上跳沿到來后,運行控制位TR置為1,以工作周期為單位進行計數,直至信號的下跳沿到來,運行控制位TR清0,停止計數。16位定時/計數器的最高計數值為65 535,當待測信號的頻率較低時,定時/計數器將發生溢出。產生溢出時,程序進入定時器中斷服務程序,對溢出次數進行計數。待測信號的周期由3個字節組成:定時/計數器溢出次數、定時/計數器的高8位和低8位。信號的頻率f與信號的周期T之間的關系為: f=1/T
          
          完成信號的周期測量后,需要做一次倒數運算才能獲得信號的頻率。為提高運算精度,采用浮點數算術運算。浮點數由3個字節組成:第1字節最高位為數符,其余7位為階碼;第2字節為尾數的高字節;第3字節為尾數的低字節。待測信號周期的3個字節定點數通過截取高16位、設置數符和計算階碼轉換為上述格式的浮點數。然后浮點數算術運算對其進行處理,獲得用浮點數格式表達的信號頻率值。再通過浮點數到BCD碼轉換模塊把用浮點數格式表達的信號頻率值變換成本的顯示格式,送到顯示模塊顯示待測信號的頻率值。完成顯示后,都開始下一次信號的頻率測量。系統軟件流程圖如圖2所示。

        點擊瀏覽下一頁

          系統軟件設計采用模塊化設計方法。整個系統由初始化模塊、顯示模塊和信號頻率頻率測量模塊等各種功能模塊組成。上電后,進入系統初始化模塊,系統軟件開始運行。在執行過程中,根據運行流程分別調用各個功能模塊完成頻率測量、量程自動切換、周期測量和測量結果顯示。

        5 實測結果和誤差分析
          
          為了衡量這次設計的頻率計的工作情況和測量精度,我們對系統進行了試驗。以南京電訊儀器廠制造的E312B型通用計數器為基準,用這次設計的頻率計對信號源進行了測量,測量數據如表1所示。
          
          如圖1信號預處理電路所示,待測信號在進入之前經過了10×2次分頻。頻率計以進入時的信號頻率=100 Hz為基準(即待測信號頻率為2 kHz),大于此頻率采用頻率測量,小于此頻率采用周期測量。由表1頻率測量對比表可以看出,頻率測量的測量精度大于周期測量的測量精度。

        點擊瀏覽下一頁

          采用計數法實現頻率測量,誤差來源主要有計數誤差和閘門誤差2部分。誤差表達式為:

        點擊瀏覽下一頁
        其中:N為計數值,t為閘門時間。

          閘門時間相對誤差dt/t主要取決于單片機晶振的頻率穩定度,選擇合適的石英晶體和振蕩電路,誤差一般可<10-6。當僅顯示3位有效數字時,該項誤差可以忽略。對于dN/N部分,無論閘門時間長短,計數法測頻總存在1個單位的量化誤差。在表1中,待測信號頻率>2 kHz時的誤差就來源于計數誤差。增加顯示的有效數字位數可降低該項誤差的影響。
          
          當待測信號頻率<2 kHz時,直接測量的是信號的周期。周期測量的誤差表達式為:

        點擊瀏覽下一頁

        其中:dN/N為量化誤差,dτ0/τ0為單片機晶振的頻率穩定度。
          
          進行周期測量時進入單片機的信號頻率<100 Hz,使用12 MHz時鐘時的最小計數值為10 000。當僅顯示3位有效數字時,該項誤差現在也可以忽略。待測信號的周期測量值通過浮點數運算變換成頻率值,這時的誤差來源于浮點數運算和數制轉換所帶來的誤差。

        6 結 語
          
          介紹了一種基于單片機制作的頻率計的設計方法,所制作的頻率計需要外圍器件較少,適宜用于嵌入式系統。該頻率計應用周期測量和相應的數學處理實現低頻段的頻率測量,因此很容易擴展實現信號的周期測量和占空比測量。該頻率計被應用于筆者設計的“高頻實驗裝置”之中,用來對LC振蕩器和RC振蕩器輸出信號的頻率穩定度進行測量,取得良好的應用效果。

        施密特觸發器相關文章:施密特觸發器原理

        上一頁 1 2 下一頁

        關鍵詞: 單片機 89C51 頻率計

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定安县| 神池县| 石泉县| 湖口县| 北流市| 通化县| 台中市| 高要市| 卓资县| 文成县| 尼木县| 新绛县| 登封市| 长垣县| 平遥县| 天镇县| 东台市| 北安市| 巴林右旗| 炎陵县| 赣榆县| 临海市| 阿尔山市| 河间市| 乡城县| 高要市| 昆山市| 盘锦市| 合江县| 竹溪县| 土默特左旗| 安国市| 梅州市| 牙克石市| 河东区| 沭阳县| 西峡县| 贵港市| 巴马| 沁源县| 常熟市|