宋 璐,衛(wèi)亞博,馮艷平
(1.陜西中醫(yī)藥大學(xué) 醫(yī)學(xué)技術(shù)學(xué)院,陜西 咸陽(yáng)712046;2.平頂山學(xué)院 河南 平頂山 467000;3.鄭州職業(yè)技術(shù)學(xué)院 河南 鄭州450121)
基于單片機(jī)的數(shù)字頻率計(jì)的設(shè)計(jì)和仿真
宋 璐1,衛(wèi)亞博2,馮艷平3
(1.陜西中醫(yī)藥大學(xué) 醫(yī)學(xué)技術(shù)學(xué)院,陜西 咸陽(yáng)712046;2.平頂山學(xué)院 河南 平頂山 467000;3.鄭州職業(yè)技術(shù)學(xué)院 河南 鄭州450121)
為了能夠精確測(cè)量頻率等參數(shù),提出了一種基于單片機(jī)的數(shù)字頻率計(jì)的設(shè)計(jì)方法,以AT89S51單片機(jī)作為系統(tǒng)的主控芯片,待測(cè)信號(hào)經(jīng)過(guò)放大整形電路和分頻后,輸入到單片機(jī)中進(jìn)行采樣測(cè)量,最后通過(guò)顯示和存儲(chǔ)電路將結(jié)果顯示并存儲(chǔ)起來(lái),可以測(cè)量待測(cè)信號(hào)的頻率、周期、脈沖寬度和占空比等參數(shù)。并基于Multisim仿真軟件設(shè)計(jì)了仿真電路,結(jié)合keil軟件進(jìn)行了軟硬聯(lián)調(diào),結(jié)果表明該電路能精確的測(cè)量待測(cè)信號(hào)的各種參數(shù),頻率測(cè)量誤差低于0.05%,測(cè)量范圍為1 Hz~1 MHz,仿真效果良好。
頻率計(jì);單片機(jī);Multisim;仿真
頻率作為電子電工學(xué)里非常重要的一個(gè)參數(shù),是對(duì)電壓、電流和電阻等參數(shù)的補(bǔ)充。同時(shí)由于頻率信號(hào)抗干擾能力強(qiáng),且易獲得較高的測(cè)量精度,所以在實(shí)際應(yīng)用中可以把大量的待測(cè)量先由傳感器轉(zhuǎn)換為脈沖信號(hào),然后通過(guò)測(cè)量頻率的方法,最后經(jīng)過(guò)一定的計(jì)算處理來(lái)實(shí)現(xiàn)[1]。
傳統(tǒng)的頻率計(jì)大多由組合邏輯電路和時(shí)序邏輯電路所構(gòu)成,結(jié)構(gòu)復(fù)雜,測(cè)量精度低,應(yīng)用范圍有限[2]。文獻(xiàn)[3]給出了一種基于單片機(jī)和FPGA的等精度頻率計(jì)的設(shè)計(jì)方法,具有測(cè)量速度快,范圍寬,可靠性高等優(yōu)點(diǎn),但成本較高,不利于推廣。為此,設(shè)計(jì)了一種基于51單片機(jī)的數(shù)字頻率計(jì),采用定時(shí)和計(jì)數(shù)的方法測(cè)量頻率,并設(shè)計(jì)了相應(yīng)的單片機(jī)程序。
設(shè)計(jì)的數(shù)字頻率計(jì)的電路框圖如圖1所示,主要包括以下5個(gè)組成部分:放大與整形電路、分頻電路、單片機(jī)主控電路、顯示及存儲(chǔ)電路和電源電路。
1.1 放大與整形電路
放大與整形電路示意圖如圖2所示。待測(cè)信號(hào)首先通過(guò)高精度大帶寬運(yùn)算放大器OPA690進(jìn)行放大,采用同相比例的接法,可以通過(guò)調(diào)整電阻大小來(lái)改變電路的放大倍數(shù)。放大后的信號(hào)再利用高速精密電壓比較器AD8561進(jìn)行整形,AD8561是美國(guó)AD公司生產(chǎn)的低功耗7 ns精密比較器[4],具有單獨(dú)的輸入和輸出部分,非常適合于信號(hào)整形電路。經(jīng)過(guò)放大整形電路后,待測(cè)信號(hào)會(huì)變?yōu)榉冗m中、頻率相等的方波信號(hào),以便后端單片機(jī)進(jìn)行處理。
圖1 頻率計(jì)硬件框圖
圖2 放大與整形電路
1.2 分頻電路
放大與整形電路輸出的方波信號(hào)若為高頻信號(hào),則需經(jīng)過(guò)分頻電路之后,才能送入到單片機(jī)中再進(jìn)行測(cè)量[5]。分頻電路如圖3所示,核心器件為12位二進(jìn)制串行計(jì)數(shù)/分頻器CD4040,所有計(jì)數(shù)器均為主從觸發(fā)器,計(jì)數(shù)器在時(shí)鐘下降沿進(jìn)行計(jì)數(shù),CR為高電平時(shí),對(duì)計(jì)數(shù)器進(jìn)行清零,它有12個(gè)分頻輸出端,最小可得2(21)分頻,最大可得4 096(212)分頻,完全滿足電路的需求。
分頻后的信號(hào)再通過(guò)8選1數(shù)據(jù)選擇器74LS151,利用單片機(jī)控制地址碼來(lái)選擇分頻系數(shù),由于CD4040低位分頻系數(shù)過(guò)小,僅選擇高八位作為74LS151的數(shù)據(jù)輸入,從數(shù)據(jù)選擇器輸出的信號(hào)可直接送入單片機(jī)進(jìn)行測(cè)量。
1.3 其他電路
單片機(jī)主控電路的核心器件為AT89S51,是低功耗、高性能的8位單片機(jī)[6],采用了CMOS工藝和ATMEL公司高密度NVRAM(非易失性隨機(jī)存儲(chǔ)器),片內(nèi)帶有一個(gè)4KB的FLASH FPROM,兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳,集成FLASH程序存儲(chǔ)器,既可在線編程(ISP),也可以用傳統(tǒng)方法進(jìn)行編程[7],具有集成度高、系統(tǒng)簡(jiǎn)單、價(jià)格便宜等優(yōu)點(diǎn)。
經(jīng)過(guò)放大整形和分頻電路后的待測(cè)信號(hào),輸入到AT89S51的外部中斷端,由單片機(jī)內(nèi)部定時(shí)器測(cè)量數(shù)據(jù)并輸出到顯示及存儲(chǔ)電路中。顯示及存儲(chǔ)電路用來(lái)顯示單片機(jī)測(cè)量出來(lái)的頻率,并可以把數(shù)據(jù)保存下來(lái)。
圖3 分頻電路
Multisim仿真軟件是由加拿大Interactive Image Technologies公司開發(fā)的一種基于SPICE工業(yè)標(biāo)準(zhǔn)的EDA軟件,它的元件庫(kù)提供了數(shù)千種電路元器件供實(shí)驗(yàn)選用,虛擬測(cè)試儀器儀表種類齊全,可以對(duì)模擬、數(shù)字和模擬/數(shù)字混合電路進(jìn)行仿真,具有界面形象、易學(xué)易用、采用圖形方式創(chuàng)建電路等特點(diǎn)[8-11]。
2.1 仿真系統(tǒng)電路設(shè)計(jì)
打開Multisim軟件,點(diǎn)擊文件—新建—設(shè)計(jì),然后根據(jù)需要設(shè)計(jì)Multisim仿真電路,并采用keil軟件進(jìn)行軟硬聯(lián)調(diào)[12]。設(shè)計(jì)好的單片機(jī)仿真電路如圖4所示,仿真電路采用AT89S51單片機(jī)做為主控芯片,分頻電路的輸出信號(hào)從單片機(jī)的外部中斷0端輸入,開啟內(nèi)部定時(shí)器,在一定的時(shí)間內(nèi)由外部中斷0檢測(cè)方波信號(hào)的下降沿的數(shù)目,從而測(cè)量出待測(cè)信號(hào)的頻率。占空比和脈沖寬度的測(cè)量可以通過(guò)單片機(jī)內(nèi)部的定時(shí)器來(lái)實(shí)現(xiàn),采用定時(shí)器記錄待測(cè)信號(hào)一個(gè)周期內(nèi)上升沿和下降沿的時(shí)刻,然后再使用各種運(yùn)算將占空比和脈沖寬度計(jì)算出來(lái),具體可參考文獻(xiàn)[13],這里不再贅述。
仿真電路設(shè)計(jì)完成后將編寫好的keil C51程序?qū)氲組ultisim軟件中(軟件設(shè)計(jì)可參照文獻(xiàn)[14]),即可在Schematic Capture環(huán)境下點(diǎn)擊Run按鍵,觀察電路仿真結(jié)果,或者也可以利用MCU Module全面的高級(jí)調(diào)試功能,詳細(xì)了解仿真過(guò)程中程序的運(yùn)行情況[15]。
圖4 基于Multisim的單片機(jī)仿真電路
2.2 軟件設(shè)計(jì)
單片機(jī)控制程序流程圖如圖5所示,單片機(jī)上電后,系統(tǒng)進(jìn)行初始化,首先由單片機(jī)判斷待測(cè)信號(hào)是否是方波信號(hào),若不是方波信號(hào),則進(jìn)入到整形電路中將其他類型的信號(hào)轉(zhuǎn)換為方波信號(hào),再進(jìn)行測(cè)量;若為方波信號(hào),則直接送入到頻率測(cè)量模塊。在頻率測(cè)量模塊中,由單片機(jī)判斷輸入信號(hào)頻率的高低,從而自動(dòng)選擇合適的分頻系數(shù)來(lái)實(shí)現(xiàn)對(duì)待測(cè)信號(hào)的分頻處理,最后將測(cè)量結(jié)果送LCD顯示輸出。
一次測(cè)量結(jié)束之后,程序不斷循環(huán),持續(xù)判斷,若帶測(cè)信號(hào)頻率發(fā)生變化,則LCD顯示器的顯示的結(jié)果也隨之變化,從而達(dá)到動(dòng)態(tài)檢測(cè)待測(cè)信號(hào)各項(xiàng)電參數(shù)的功能。
2.3 仿真結(jié)果
數(shù)字頻率計(jì)的最終測(cè)試結(jié)果如表1所示,可以看出在各種不同信號(hào)類型和頻段的情況下,對(duì)頻率、周期和占空比的測(cè)量誤差均不高于0.05%,實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。
表1 數(shù)字頻率計(jì)測(cè)試結(jié)果
圖5 單片機(jī)控制程序流程圖
利用Multisim作為仿真平臺(tái),基于AT89C51單片機(jī)設(shè)計(jì)的數(shù)字頻率計(jì),能夠測(cè)量不同類型的信號(hào),實(shí)現(xiàn)頻率、周期、脈沖寬度和占空比等參數(shù)的測(cè)量,精度能夠達(dá)到預(yù)期的要求,采用LCD顯示各個(gè)測(cè)量出來(lái)的參數(shù),且設(shè)計(jì)有存儲(chǔ)電路,可將數(shù)據(jù)批量存儲(chǔ)起來(lái),具有體積小、結(jié)構(gòu)簡(jiǎn)單、成本低、性能高等特點(diǎn),適用于各種測(cè)量環(huán)境。
[1]金寧寧,武燕,王燕霜.基于AVR單片機(jī)輸入捕捉功能的頻率計(jì)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2010,30(3):38-40.
[2]彭道林.基于AVR單片機(jī)的自動(dòng)準(zhǔn)同期裝置頻率測(cè)量方法[J].吉首大學(xué)學(xué)報(bào):自然科學(xué)版,2009,28(3):76-78.
[3]吳海明,王偉.基于單片機(jī)與FPGA的等精度頻率計(jì)設(shè)計(jì)[J].兵工自動(dòng)化,2009,28(3):79-80.
[4]韓宇宏,楊樹,馬海強(qiáng).量子通信中單光子探測(cè)器的實(shí)驗(yàn)研究[J].應(yīng)用光學(xué),2010,31(2):232-236.
[5]王捷,艾紅.?dāng)?shù)字頻率計(jì)分頻電路的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2003,11(2):156-160.
[6]郭宏亮.PC機(jī)與AT89C51單片機(jī)的串行通信接口設(shè)計(jì)[J].平原大學(xué)學(xué)報(bào),2007,24(3):117-119.
[7]薛玲,孫曼,張志會(huì),等.基于單片機(jī)AT89S51的溫濕度控制儀[J].化工自動(dòng)化及儀表,2010,37(7): 66-69.
[8]張志友.Multisim在電工電子課程教學(xué)中的典型應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(4):108-110.
[9]任駿原.Multisim在觸發(fā)器工作波形分析中的應(yīng)用[J].現(xiàn)代電子技術(shù),2010,15:184-186.
[10]付楊.Multisim仿真在電工電子實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2011,30(4):120-122.
[11]鄧維禮,秦嵐,劉俊,等.基于Multisim的準(zhǔn)靜態(tài)電荷放大器仿真分析[J].國(guó)外電子測(cè)量技術(shù),2009,28(4):24-26.
[12]王超,楊蓮紅,楊奇.聯(lián)合Keil C51在Multisim10平臺(tái)下實(shí)現(xiàn)單片機(jī)的仿真[J].昌吉學(xué)院學(xué)報(bào),2012(2): 75-80.
[13]凌振寶,葉劍峰,孫正光.多功能數(shù)字頻率計(jì)的設(shè)計(jì)與研究[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2011,7(4):376-382.
[14]肖春芳,韓緒鵬.基于單片機(jī)控制的數(shù)字頻率計(jì)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(1):140-143.
[15]張錚.Multisim在單片機(jī)系統(tǒng)仿真中的應(yīng)用[J].現(xiàn)代電子技術(shù),2008,31(10):174-176.
Design and simulation of digital frequency meter based on single chip microcomputer
SONG Lu1,WEI Ya-bo2,F(xiàn)ENG Yan-ping3
(1.Department of Medical Technology,Shaanxi University of Chinese Medicine,Xianyang 712046,China;2.Pingdingshan College,Pingdingshan 467000,China;3.Zhengzhou Technical College,Zhengzhou 450121,China)
In order to accurately measure parameters such as frequency,This paper provides a design method of digital frequency meter based on single chip microcontroller.After amplification and shaping circuit and frequency dividing circuit,the signal is sampled by AT89S51 which is the main control chip of the system.And the measure results are displayed and stored.The system can measure many parameters such as frequency、period、pulse width and duty cycle.Simulation circuit was also designed base on the Multisim simulation software.Finally finish the software and hardware joint debugging combined with the keil software.Result show that the circuit can measure all parameters accurately,and the frequency error is less than 0.05%,and the measuring of 1 Hz~1 MHz.The simulation result is good.
frequency meter;single chip microcontroller;Multisim;simulation
TN02
:A
:1674-6236(2017)01-0140-03
2015-12-02稿件編號(hào):201512021
宋 璐(1984—),女,陜西咸陽(yáng)人,碩士研究生,講師。研究方向:大學(xué)物理和電子教學(xué)以及實(shí)驗(yàn)。