基于AT89C51單片機的量程自切換頻率計
2 軟件設計
在單片機應用系統的開發過程中,C語言的應用最為廣泛。C語言不僅能直接對計算機的硬件進行操作,而且語言靈活、程序結構良好、代碼效率高、可移植性好。
2.1 系統總流程圖
流程圖分析:當電源開啟后,系統進行初始化,系統開始運行,單片機內部開始判斷輸入信號頻率的高低,按從高到低的順序進行分頻測算從而得到合適的分頻系數來控制數據選擇器實現對信號進行分頻處理,根據頻率的高低范圍來確定點亮相應的量程指示燈以及確定要顯示小數的位數,最后將倍頻后的結果通過動態掃描的顯示方式在四位數碼管上顯示出相應的測量結果。系統總流程圖如圖8所示。本文引用地址:http://www.104case.com/article/170617.htm
2.2 量程顯示的程序流程圖
流程圖分析:在系統確定了量程范圍后,根據不同的量程范圍分別電路不同顏色的量程指示燈:當頻率范圍在0~9999Hz時,綠色的發光二極管點亮;頻率范圍在10~999.9kHz時,黃色的發光二極管點亮;當頻率范圍在1~20 MHz時,紅色的發光二極管點亮。顯示量程的程序流程圖如圖9所示。
3 電路調試與結果
系統的調試主要從軟件調試和硬件調試兩方面著手,當然,所有的一切都是為了實現既定任務為目標的。軟件調試和硬件調試過程是緊密相關、互相配合的,本次頻率計設計重點是對軟件程序的調試。
利用函數信號發生器輸入正弦信號分別為279 Hz時,觀察數碼管的結果。得到結果如圖10所示。
利用函數信號發生器輸入方波信號分別為680 kHz時,得到結果如圖11所示。
利用函數信號發生器輸入鋸齒波信號分別為2.76 MHz時,觀察數碼管的結果。得到結果如圖12所示。
利用函數信號發生器輸入三角波信號分別為583 Hz時,觀察數碼管的結果。得到結果如圖13所示。
4 結論
本設計經Keil軟件進行調試后在Proteus軟件中進行仿真,并且經過實物的測試,實現了對方波、三角波、鋸齒波、正弦波的頻率進行測量。具有自動切換并指示量程,精度較高,測量范圍較大等特點,符合電子儀表的發展趨勢,具有一定的實用價值。
評論