王麗琴,史 航
(1.常州信息職業技術學院,江蘇 常州213000;2.江蘇理工學院,江蘇 常州213000)
以單片機STC89C52為核心,采用倍頻法,根據頻段設置倍頻系數將經放大、整形的低頻信號進行倍頻后再進行測量,高頻段則直接測量用定時、計數的方法測量頻率,采用一個2個四位共陰的數碼管顯示6位數。測量范圍從500Hz-1MHz的正弦波、方波的頻率測量。
數字頻率計的工作過程為:被測信號fx經脈沖電路整形,變成脈沖波形,其周期Tx與被測信號的周期相同。實際電路輸出標準時間信號,設其高電平持續時間為1s,則計數器的計數時間就為1s,計數器計得的脈沖數N就是被測信號的頻率。邏輯控制單元的作用有兩個:其一,產生清零脈沖,使計數器每次從零開始計數;其二,產生鎖存信號,使顯示器上的數字穩定不變。
本頻率計的數據采集系統的核心元器件是單片機STC89C52,由它完成對待測信號頻率的計數和結果顯示等功能,外部還要有分頻器、顯示器等器件??煞譃閹讉€模塊:放大整形模塊、分頻模塊、單片機系統、數碼管顯示模塊。
(1)放大整形模塊。在本次設計中,輸入信號的幅度要求為0.5V-5V可變時,所測的頻率變化范圍不得大于1%。又因后級電路使用了電壓比較器LM339N,在反向輸入信號采用分壓方式固定了一個2.5V的門限電壓?,F在要解決的問題就是將低于2.5V的輸入小信號進行放大,使信號的幅度低于2.5V以下時,其頻率不變。采用脈沖數倍頻測頻法,通過A倍頻,把待測信號頻率放大A倍,以提高測量精度。先將輸入信號經過一個放大電路,放大電路的主要作用是把微弱的電信號放大到負載所需的數值。當輸入信號為正弦波、三角波等多種波形,我們要將各種輸入波形轉化成計數所能用到的方波脈沖波,即此電路為信號整形電路,本文用了一個電壓比較器LM339N實現信號的整形。
(2)分頻模塊。本設計的頻率范圍為1Hz-10MHz,頻率在1Hz-999999Hz內,六位數碼管可顯示,當頻率在999999Hz-10MHz時,數碼管不能夠正確顯示。這時需要將處于999999Hz-10MHz的頻率進行分頻,使測得的處于這段區域的頻率值精確的顯示在數碼管上。我們可進行16分頻即可解決問題。當頻率為最大10M時,進過16分頻后等于625000,可以在數碼管上顯示。在輸入信號為單端的情況下,D觸發器用起來最為方便,其狀態方程為Qn+1=Qn,其輸出狀態的更新發生在CP脈沖的上升沿,故又稱為上升沿觸發的邊沿觸發器,觸發器的狀態只取決于時鐘到來前D端的狀態,D觸發器的應用很廣,可用作數字信號的寄存,移位寄存,分頻和波形發生等。有很多種型號可供各種用途的需求而選用。在此構成16分頻電路選用了D觸發器。選用了SN74LS74AN的雙上升沿D觸發器構成16分頻器。該電路由2片即4個上升沿觸發的D觸發器連接組成,使各D觸發器均處于計數狀態。分頻后,由于干擾及傳輸線路的分布電容等因素而使信號發生畸變,出現前、后沿變壞或信號電平波形上疊加脈動干擾波等現象。本文用一個施密特觸發器利用它的脈沖整形特性,就可以很好的解決干擾,得到一個方波送到單片機的定時器端。
(3)數碼管顯示電路。在設計中選用的是四位共陰數碼管,實現0-9的數字顯示,數碼管顯示驅動選用了高壓輸出驅動器SN7407N。
方案主要應用了89C52內部的定時器、中斷、計數器和數據處理,其程序設計相應軟件包括:主程序、數據處理、顯示主程序等。利用AT89C51單片機的T0、T1進行定時、計數功能,設置T0為外部計算器,T1為中斷定時器。完成對輸入的信號進行頻率計數,計數的頻率結果通過6位動態數碼管顯示出來。要求能夠對160HZ-1MHZ的信號頻率進行準確計數,計數誤差不超過1%。
(1)定時器T0、計數器T1的工作原理。先對定時器T0、計數器T1進行初始化設置,對一秒內的輸入脈沖進行計數,計數的個數即為頻率。T0為定時器工作方式,定時時間為1S,開中斷。將T1設為計數器工作方式,待測輸入脈沖從P3.5輸入。其計數器處置清零,即TH1=00H,TL1=00H.在1S定時到時,在T0中斷服務程序中,讀取TH1TL1中計數值到內存中的頻率單元。隨后清零TH1TL1,以便下次讀數。
(2)顯示數據處理分析。在將內存單元計得的數進行二-十進制轉換子程序轉換為十進制數,并拆為非壓縮BCD碼后送顯示緩沖區,調用顯示子程序,送數碼管延時顯示頻率值。
數字頻率計以單片機STC89C52為核心,采用倍頻測量法,根據頻段設置倍頻系數將低頻輸入信號進過放大、整形、分頻后測量,高頻段用定時、計數的方法測量頻率,采用一個2個四位共陰的數碼管顯示6位數。測量范圍從500Hz-1MHz的正弦波、方波的頻率測量。所制作的頻率計需要外圍器件較少,適宜用于嵌入式系統。該頻率計應用直接測量和相應的數據處理實現頻率測量。