廖小芳
【摘 要】提出了一種基于單片機開發(fā)的簡易數(shù)字頻率計的設(shè)計。系統(tǒng)以單片機STC89C52為核心器件,包括信號放大整形、LED數(shù)碼管顯示和按鍵控制等模塊,構(gòu)成完備的測量系統(tǒng)。系統(tǒng)程序采用C語言編寫,經(jīng)Keil軟件編譯調(diào)試后在Protues軟件中進行仿真。系統(tǒng)可以實現(xiàn)對不同波形的頻率測量,具有體積小、成本低、簡單易實現(xiàn)等優(yōu)點。
【關(guān)鍵詞】單片機;頻率計;測量
Design of Simple Digital Frequency Meter Based on SCM
LIAO Xiao-fang
(Chengdu College of University of Electronic Science and Technology of China, Chengdu Sichuan 611731, China)
【Abstract】The design of simple digital frequency meter based on SCM is proposed. Using STC89C52 as the core device, this complete measurement system is composed of the signal amplification shaping module,the digital LED tube display module and key control module, etc. The system program written by C language is compiled and debugged by the Keil software,and then simulated in the Proteus software. The system can realize the measurement of the frequency of different waveforms, which has the properties of small size, low cost, easy implementation.
【Key words】SCM; Frequency meter; Measurement
0 引言
隨著科學(xué)技術(shù)的迅速發(fā)展,尤其是單片機技術(shù)和半導(dǎo)體技術(shù)的高速發(fā)展,推動了儀器儀表的快速發(fā)展,用代碼編程來簡化硬件電路的復(fù)雜程度,使其不斷向著體積小,價格低廉,功能更加多樣化、智能化的方向發(fā)展。數(shù)字頻率計作為一種基礎(chǔ)的電子測量儀器,在工業(yè)、電子、電力等方面應(yīng)用十分廣泛。采用單片機與頻率測量[1]技術(shù)相結(jié)合可以大大提高頻率計的自動化控制程度和靈活性。頻率的測量實際上就是在單位時間內(nèi)對被測信號進行計數(shù)[2],計數(shù)值就是信號的頻率。本文設(shè)計的頻率計就是基于上述思想,利用單片機內(nèi)部的定時/計數(shù)器及靈活的軟件運算和控制功能,對外部信號進行計數(shù),可實現(xiàn)測量一定電壓范圍內(nèi)的正弦波、三角波及方波的頻率,并進行實時顯示。
1 硬件電路設(shè)計
該頻率計的硬件組成框圖如圖1所示。系統(tǒng)主要以單片機為核心器件,包括信號放大整形電路、LED數(shù)碼管顯示電路和按鍵控制等。
如圖1所示,采集到的被測信號首先進入信號放大整形電路進行放大和波形整形,將其轉(zhuǎn)化為幅度適中的方波,然后進入單片機的T1端(P3.5口),由單片機的計數(shù)器和定時器的功能對被測信號進行計數(shù)并計算頻率,處理后把測出的頻率數(shù)據(jù)送出去,由8位LED數(shù)碼管顯示電路進行顯示,由按鍵控制電路控制測頻功能啟動,按鍵采用一個獨立按鍵,接P1.0口。
1.1 控制核心
以單片機STC89C52為核心,由復(fù)位電路和時鐘電路組成其外圍電路。時鐘電路單片機提供STC89C52 工作的時間基準,在單片機的XTAL1和XTAL2兩個管腳接一只晶振及兩只電容構(gòu)成單片機的時鐘電路, 本設(shè)計選取12MHz的石英晶體振蕩器。STC89C52包含3個16位定時/計數(shù)器[3],16位定時/計數(shù)器用于實現(xiàn)待測信號的頻率測量,定時/計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能,將內(nèi)部計數(shù) /定時器 T1的功能設(shè)為計數(shù),用于對外部輸入的被測信號進行計數(shù),T0設(shè)為定時,實現(xiàn)對測量時間的定時。
1.2 放大整形電路
采用NPN型三極管 9013和施密特觸發(fā)器74LS14一起構(gòu)成放大整形電路[4],能夠有效對方波、正弦波和三角波等信號進行放大和整形,并且能夠穩(wěn)定的輸出,具有較強的驅(qū)動能力。圖2給出了整形電路圖,信號從三極管輸入,由74LS14輸出經(jīng)放大整形后的信號。
1.3 LED數(shù)碼管顯示電路
LED 數(shù)碼管顯示模塊是發(fā)光二極管顯示字段的顯示器件。在單片機應(yīng)用中通常使用7段或者8段LED,這種顯示塊有共陰極與共陽極兩種。在本設(shè)計系統(tǒng)中,顯示器電路采用8位8段共陰極的LED數(shù)碼管來動態(tài)顯示所測得的信號頻率。由單片機的P0口接上拉排阻,同相驅(qū)動數(shù)碼管各段。單片機的P2口的低3位接3-8譯碼器輸入端,其輸出控制8位數(shù)碼管的8個公共極COM實現(xiàn)位選。
2 軟件設(shè)計
軟件流程主要包括主程序,顯示子程序和定時中斷處理子程序,工作流程圖如圖3所示。主程序首先完成初始化工作包括設(shè)置定時器 T0、T1,開中斷等工作方式,開始測輸入信號頻率。然后顯示初始值,如果判斷有鍵按下,則計算出頻率值并顯示,如果無鍵按下則顯示之前頻率值。
當設(shè)定定時時間50ms一到,進入T0 定時中斷服務(wù)子程序,50ms定時計數(shù)器加1,重裝T0初值,判斷50ms定時計數(shù)器滿20即計滿1s,取出T1對輸入信號的計數(shù)值,將T1清零,從而完成一次測量。
顯示子程序采用動態(tài)掃描法,功能是實現(xiàn)8位數(shù)碼管的數(shù)值顯示。測量所得的頻率數(shù)據(jù)賦值給相應(yīng)的變量,經(jīng)過運算處理,分離出個位、十位、百位、千位、萬位和十萬位的有效值。
3 protues仿真結(jié)果
通過protues仿真,當函數(shù)信號發(fā)生器輸入正弦信號為15614Hz時,觀察示波器和數(shù)碼管的結(jié)果,得到結(jié)果如圖4所示,從示波器上可以看出系統(tǒng)將正弦波轉(zhuǎn)換為方波,數(shù)碼管顯示頻率結(jié)果為15614Hz,由此驗證了系統(tǒng)的設(shè)計正確。
4 總結(jié)
本設(shè)計以STC89C52單片機為控制芯片,選擇市場上常用的低價格元件,構(gòu)成完備的測頻系統(tǒng),可以實現(xiàn)較大頻率范圍內(nèi)對不同波形如方波、三角波、正弦波等信號的頻率測量?;赟TC89C52單片機的簡易頻率計滿足體積小、性價比高、電路設(shè)計簡單實用的優(yōu)點,具有一定的應(yīng)用價值。
【參考文獻】
[1]劉竹琴,白澤生.一種基于單片機的數(shù)字頻率計的實現(xiàn)[J].現(xiàn)代電子技術(shù),2010(1):90-96.
[2]凌振寶,葉劍峰,孫正光.多功能數(shù)字頻率計的設(shè)計與研究[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2011(4):95-101.
[3]曹巧媛.單片機原理及應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[4]孔令榮.基于AT89C51單片機的量程自切換頻率計[J].電子設(shè)計工程,2012(20):167-169.
[責任編輯:鄧麗麗]