?? 單片機設計頻率計.txt
字號:
用單片機設計頻率計
By 527dz 2004-09-24
實驗目標
頻率計是我們經常會用到的實驗儀器之一,本實驗要使用單片機和計數電路及液晶器件來設計一個寬頻的頻率計。
期望達到10Hz-1.1G范圍的頻率精確測量。
實驗電路圖(初步方案)
1) 計數及顯示電路:圖43
2)前置放大及分頻電路:
那位大俠有好的電路???
設計思路
頻率的測量實際上就是在1S時間內對信號進行計數,計數值就是信號頻率。用單片機設計頻率計通常采用兩種辦法,1)使用單片機自帶的計數器對輸入脈沖進行計數,或者測量信號的周期;2)單片機外部使用計數器對脈沖信號進行計數,計數值再由單片機讀取。
由于單片機自帶計數器輸入時鐘的頻率通常只能是系統時鐘頻率的幾分之一甚至幾十分之一,因此采用單片機的計數器直接測量信號頻率就受到了很大的限制。
本實驗電路采用方式2,使用一片74LS393四位雙二進制計數器和Atmega8的T1計數器組成了24位計數器,最大計數值為16777215。如果輸入信號經過MB501分頻器進行64分頻后再進行測量,則固定1S時基下最高測量頻率為1073.741760Mhz。
為了方便得到準確的1秒鐘測量閘門信號,我們使用了Atmega8的異步實時時鐘功能,采用32.768Khz的晶振由TC2產生1秒鐘的定時信號。
測量原理:
單片機打開測量閘門,即PB1輸出高電平,同時TC2定時器啟動。74LS393開始對輸入脈沖進行計數,74LS393每計數達256時,Atmega8的T1計數器也向上計數1次。當1S定時到達時,單片機產生中斷,PB1輸出低電平關閉測量閘門,然后Atmega8讀取74LS393和T1的計數值,然后送LCD顯示。
實驗進展
2004-09-27
根據設計思路編寫程序初步獲得了一些實驗結果,如下圖所示。下圖是測量8M有源晶振的輸出結果。
由于1S的測量閘門時間在業余條件下不好測試,因此,實驗程序中在LCD上同時顯示實時時鐘用于判斷1S閘門時間的準確性。實驗中,我使用CDMA手機上顯示的GPS衛星精確時間進行比較。手機時間顯示的最小單位是分鐘,測量時一旦手機分鐘值發生跳變,則立即記錄下LCD顯示的秒值,這樣的話讓頻率計運行一段時間后,再多次記錄下LCD顯示的秒,就可以準確判斷頻率計的異步時鐘是否準確。實驗過程中,我讓頻率計走了10個小數左右,測量的1S時鐘還是非常準確的。
實驗源程序: FrequencyMeter.txt
3310LCD.txt
bmp.txt
6x8.txt
delay.txt
實驗問題:實驗測試8M有源晶振的測量結果如上圖所示,而測試4M普通晶振的測量結果是3.999932MHz。感覺上好像測量稍稍有一點偏低。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -