一種基于STC89C52的便攜式頻率計(jì)設(shè)計(jì)
引 言
在電子測(cè)量領(lǐng)域,頻率是一個(gè)重要的參數(shù),往往作為計(jì)算的基礎(chǔ)參量與參考數(shù)值,隨著計(jì)算機(jī)網(wǎng)絡(luò)和電子科學(xué)技術(shù)的不斷發(fā)展,頻率的測(cè)量要求越來越高[1]。常見的測(cè)頻方法中,以電子計(jì)數(shù)器測(cè)量頻率的方法最為常見,電子計(jì)數(shù)器測(cè)頻電路主要由時(shí)序邏輯電路和組合邏輯電路組成,成品頻率計(jì)體積大,測(cè)量速度較慢,測(cè)量結(jié)果誤差較大 [2]。這種傳統(tǒng)的硬件電路測(cè)頻方法已不能滿足現(xiàn)代頻率測(cè)量的要求,需重新引入軟件設(shè)計(jì),尋求一種更快速、準(zhǔn)確的頻率測(cè)量方法。因此本文采用 STC89C52 單片機(jī)設(shè)計(jì)了一種便攜式數(shù)字頻率計(jì),它較好地克服了傳統(tǒng)頻率計(jì)存在的不足,提高了頻率測(cè)量精確度該頻率計(jì)具有適用范圍廣,產(chǎn)品體積小巧,測(cè)量準(zhǔn)確,便于攜帶等特點(diǎn)
1 設(shè)計(jì)要求與原理框圖
為減小量化誤差,一般采用測(cè)頻法測(cè)量高頻信號(hào),采用測(cè)周法測(cè)量低頻信號(hào) [3]。對(duì)于頻率范圍在 1 Hz20 MHz 的信號(hào),采用測(cè)周法更為準(zhǔn)確。設(shè)計(jì)要求具體如下
(1) 測(cè)量信號(hào) :方波,正弦波和三角波等周期信號(hào)
(2) 測(cè)量范圍:1 Hz20 MHz
(3) 顯示范圍:8位數(shù)值
電路由信號(hào)采集模塊、脈沖產(chǎn)生模塊、分頻模塊、單片機(jī)系統(tǒng)和輸出顯示模塊組成,經(jīng)信號(hào)采集與放大后的被測(cè)信號(hào),從施密特反相器 74HC14 輸入后觸發(fā)并反相,將放大的被測(cè)信號(hào)整形為平滑、沒有毛刺的信號(hào),當(dāng)頻率過大時(shí)再通過分頻電路進(jìn)行分頻處理,后經(jīng)單片機(jī) STC89C52 脈沖計(jì)數(shù),最后顯示在液晶顯示屏 LCD1602上。系統(tǒng)原理框圖如圖 1 所示
2 硬件電路設(shè)計(jì)
頻率計(jì)原理如圖 2 所示。被測(cè)信號(hào)從 P1 輸入,將微弱頻率信號(hào)通過電容耦合、三極管 2SC3355 放大電路放大到可檢測(cè)到的信號(hào)。經(jīng)放大后的信號(hào)進(jìn)入74HC14 施密特觸發(fā)反相器,對(duì)不同的波形進(jìn)行變換,變換成穩(wěn)定清晰、平滑的脈沖信號(hào)。若該信號(hào)頻率大于 20 kHz,進(jìn)入計(jì)數(shù)器 74HC390 進(jìn)行100 分頻。未經(jīng)分頻的脈沖信號(hào)進(jìn)入單片機(jī)的定時(shí) / 計(jì)數(shù)器 0 而 100 分頻后的脈沖信號(hào)進(jìn)入單片機(jī)的定時(shí)/ 計(jì)數(shù)器 1,經(jīng)軟件算法量程自動(dòng)切換處理,換算出真實(shí)數(shù)值,輸出待測(cè)信號(hào)頻率數(shù)值,最后通過 LCD1602 液晶顯示器顯示測(cè)量值,顯示的最高位為 8 位,頻率單位為Hz。實(shí)際上,被測(cè)信號(hào)在整形之前,信號(hào)頻率未知,有時(shí)無法采集到微弱信號(hào),而單片機(jī)STC89C52 對(duì)輸入電壓要求很嚴(yán),達(dá)到一定范圍的電平值才能夠?qū)╗4],因此,要確保合適的信號(hào)輸入,需調(diào)節(jié)放大器的增益,放大微弱信號(hào),衰減強(qiáng)信號(hào)。由于單片機(jī)只能辨識(shí)采樣信號(hào),也只能對(duì)脈沖波形進(jìn)行計(jì)數(shù),而實(shí)際的被測(cè)信號(hào)往往可能是三角波、正弦波等,為提高波形的平滑度、減小毛刺,需對(duì)這類信號(hào)整形處理,以減小測(cè)量誤差??稍诜糯箅娐泛蠹由险坞娐?,利用施密特觸發(fā)器將邊緣平滑,將待測(cè)信號(hào)變換成相同頻率的脈沖波后計(jì)數(shù)。
3 軟件設(shè)計(jì)
軟件系統(tǒng)設(shè)計(jì)部分通過模塊化實(shí)現(xiàn),包括初始化模塊、頻率測(cè)量模塊、量程自動(dòng)切換模塊以及顯示模塊等。軟件編程采用功能強(qiáng)大、兼容性強(qiáng)的 C 語言實(shí)現(xiàn) [5]。分頻器,寄存器,中斷控制,量程檔位,顯示器和計(jì)數(shù) / 定時(shí)器等通過初始化模塊進(jìn)行初始化。其中起到初始化作用的是初始化定時(shí)器 0 和計(jì)數(shù)器 1,當(dāng)脈沖信號(hào)分別經(jīng)過初始化定時(shí)器 0 和初始化計(jì)數(shù)器 1 時(shí),信號(hào)每下降一次就會(huì)觸發(fā)一次計(jì)數(shù)器 1,執(zhí)行一次中斷處理,在中斷處理程序中就會(huì)相應(yīng)的加 1 次,如果用下降沿次數(shù) Cnt 來表示,即 Cnt+1。與此同時(shí),每 50 ms 觸發(fā)一次定時(shí)器 0,對(duì)下降沿次數(shù)進(jìn)行計(jì)數(shù)處理,如果數(shù)據(jù)大于 20 kHz,即轉(zhuǎn)入量程自動(dòng)切換模塊,自動(dòng)切換量程后,算上 100 分頻后作為最后的數(shù)據(jù),計(jì)算出信號(hào)頻率的實(shí)際值,輸入到顯示模塊,表示數(shù)值。主程序流程如圖 3 所示。
4 焊接與調(diào)試
焊接是工藝設(shè)計(jì)中的重要環(huán)節(jié),應(yīng)保證焊接工藝質(zhì)量,優(yōu)化排版布局,減小焊接過程對(duì)元器件的損傷 [6]。同時(shí)盡可能減少程序調(diào)試,達(dá)到理想的指標(biāo)和要求。首先,焊接輸入波形的整形放大電路,通過示波器觀察輸入波形和輸出波形,若波形出現(xiàn)偏差,檢查各元器件引腳焊接是否存在“虛焊”現(xiàn)象,或者引腳連接是否正確,發(fā)現(xiàn)問題,及時(shí)調(diào)整,直至出現(xiàn)正確的波形 ;其次,焊接分頻電路和顯示電路接入函數(shù)信號(hào)發(fā)生器,調(diào)節(jié)頻率為 1 Hz ~ 20 MHz 范圍內(nèi)的方波、三角波、正弦波,觀察顯示是否正確,若不正確,重新調(diào)試;最后將兩部分電路連接起來再調(diào)試,多次復(fù)測(cè),直至出現(xiàn)正確結(jié)果。在 Proteus 中繪制仿真圖,
若輸出準(zhǔn)確波形,則說明電路符合設(shè)計(jì)要求,再繪制電路原理圖,最后用 Keil 軟件進(jìn)行軟件編程及調(diào)試,直至出現(xiàn)正確結(jié)果 [7]。
輸入正弦波時(shí)的一組測(cè)量結(jié)果見表 1 所列。測(cè)量結(jié)果與實(shí)際值接近,測(cè)量誤差很小,表明所設(shè)計(jì)的頻率計(jì)符合要求。
5 結(jié) 語
本文基于STC89C52單片機(jī)設(shè)計(jì)的頻率計(jì)適用于多種場(chǎng)合,可準(zhǔn)確測(cè)量常見波形的頻率值,具有高精確度,操作簡(jiǎn)單,顯示速度快,自動(dòng)測(cè)量等優(yōu)點(diǎn)。雖然可測(cè)量1 Hz ~ 20 MHz 之間的頻率,但仍存在一定的局限性,當(dāng)測(cè)量頻率接近 20 MHz 時(shí),誤差增大,還需改進(jìn)。