国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于51單片機(jī)的低頻信號(hào)發(fā)生器的設(shè)計(jì)與仿真

2011-10-09 09:46:40逯久鑫樊軍慶
電子設(shè)計(jì)工程 2011年16期
關(guān)鍵詞:失真度正弦波子程序

逯久鑫,彭 旋,樊軍慶

(海南大學(xué)機(jī)電學(xué)院 海南 儋州 571737)

單片機(jī)是在20世紀(jì)70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是由中央處理器(CPU)芯片、ROM芯片、RAM芯片和I/O接口以及其他外圍電路等通過(guò)印刷電路板上總線連接成一體的完整的計(jì)算機(jī)系統(tǒng)。具有成本低、體積小、性能穩(wěn)定等特點(diǎn)。信號(hào)發(fā)生器是一種在生產(chǎn)實(shí)踐和科技領(lǐng)域中都有著廣泛應(yīng)用的一種信號(hào)源。傳統(tǒng)的正弦信號(hào)源根據(jù)實(shí)際需要一般價(jià)格昂貴,低頻輸出時(shí)性能不好且不便于自動(dòng)調(diào)節(jié),工程實(shí)用性較差。現(xiàn)利用單片機(jī)的優(yōu)越特性制作一種體積小,使用方便的低頻信號(hào)發(fā)生器。以AT89C51單片機(jī)為核心結(jié)合低速D/A,通過(guò)設(shè)計(jì)與編程實(shí)現(xiàn)了鋸齒波、方波、正弦波的產(chǎn)生及其自由切換以及實(shí)現(xiàn)頻率、相位的可調(diào)與多相波的同時(shí)輸出。

1 方案設(shè)計(jì)

設(shè)計(jì)電路如圖1所示,由波形的控制端口控制何種波形的輸出并使連接在P0口的相應(yīng)指示燈亮。信號(hào)數(shù)據(jù)由P0口輸出,經(jīng)低速D/A、放大電路、濾波電路最后輸出。頻率的調(diào)整信號(hào)由P2口輸入,經(jīng)過(guò)改變相應(yīng)的延時(shí)子程序改變輸出波的頻率,相位的調(diào)整信號(hào)由P2口輸入。而信號(hào)的幅值是通過(guò)改變連接在D/A上的滑動(dòng)變阻器而改變D/A的參考電壓來(lái)實(shí)現(xiàn)的[2]。

圖1 電路圖Fig.1 Circuit diagram

1.1 產(chǎn)生波形的原理

由D/A的模擬輸出公式 Vout=B×VR(VR為常數(shù),由參考電壓 VREF=Vref+-Vref-決定;B 為數(shù)字量,常為一個(gè)二進(jìn)制數(shù),由單片機(jī)輸出給D/A)可知:當(dāng)改變數(shù)字量B時(shí),D/A產(chǎn)生一個(gè)相應(yīng)的Vout。如果單片機(jī)輸出給D/A的B1值由延時(shí)子程序保持一段時(shí)間(如1/2周期T)后再突變?yōu)榱硪粋€(gè)數(shù)值B2并保持相同一段時(shí)間之后再變回B1,循環(huán)上述程序即可產(chǎn)生一個(gè)方波;當(dāng)B3在00H~0FFH線性變化為B4時(shí)(如以 00H開始,每相隔一定的時(shí)間用“INC”指令加1,直至等于B4=0FFH)再突變回B3,此時(shí)Vout也產(chǎn)生一個(gè)線性值,同樣循環(huán)上述程序便可產(chǎn)生鋸齒波;同理,如果將正弦波對(duì)應(yīng)的二進(jìn)制碼放在單片機(jī)的存儲(chǔ)區(qū),通過(guò)“MOVC A,@A+DPTR”不斷取數(shù)據(jù)送P0端口,則在濾波輸出端可得到正弦波信號(hào)[3]。此時(shí)由D/A轉(zhuǎn)換出的波形信號(hào)是一種離散信號(hào)。既所獲得的信號(hào)不是連續(xù)的模擬信號(hào),而是由一個(gè)個(gè)離散的點(diǎn)組成的離散信號(hào)。所以,為了使輸出的波形信號(hào)盡量減少失真,必須要獲得準(zhǔn)確的波形數(shù)據(jù)。為此,需要對(duì)模擬信號(hào)進(jìn)行離散化處理[4]。這里以正弦信號(hào)為例進(jìn)行說(shuō)明。如圖2所示,正弦信號(hào)是由D1,D2,D3……DN這種的點(diǎn)組合成的離散信號(hào)。為了減小輸出信號(hào)的失真度,必須保證組成信號(hào)離散點(diǎn)的個(gè)數(shù),使其盡可能的接近正弦波以滿足失真度滿足使用要求。根據(jù)不同的采樣的多少計(jì)算出相應(yīng)的失真度如表1所示。由表1可知,采樣點(diǎn)越多,失真度越小[5]。離散時(shí)取得的采樣點(diǎn)越多,數(shù)值量化的位數(shù)越多,則用DAC復(fù)現(xiàn)的波形精度越高。但是這時(shí)由于選取的點(diǎn)過(guò)多的話會(huì)影響單片機(jī)的輸出速度(會(huì)直接影響得到的波形的頻率)。由于離散點(diǎn)的原始數(shù)據(jù)存在于程序的表格中,離散點(diǎn)取的過(guò)多會(huì)使表格占用單片機(jī)內(nèi)存過(guò)多。

圖2 正弦波形的離散化Fig.2 Sine wave discretization

表1 采樣點(diǎn)與失真度之間的關(guān)系Tab.1 Relationship between sampling points and the distortion degree

1.2 波形頻率與相位的調(diào)整

由圖2所示,由于得到的信號(hào)[6]是由一個(gè)個(gè)的離散點(diǎn)組成的離散信號(hào)。此時(shí),一個(gè)點(diǎn)與另一個(gè)點(diǎn)之間的時(shí)間間隔△t1主要是由延時(shí)子程序(其中也包括單片機(jī)執(zhí)行每個(gè)命令所使用的時(shí)間)所控制的。以取256個(gè)點(diǎn)為例,正弦波的周期T=256×△t1當(dāng)延時(shí)子程序所控制的時(shí)間間隔△t1正弦波周期T也就有相應(yīng)的時(shí)間變化。所以基于上述原理,通過(guò)在單片機(jī)的P2.0與P2.1兩端口設(shè)兩個(gè)獨(dú)立按鍵來(lái)實(shí)現(xiàn)延時(shí)子程序所控制的時(shí)間間隔△t1的增大與減少進(jìn)而實(shí)現(xiàn)波形頻率的可調(diào)。以正弦波為例,當(dāng)需要改變波形的初始相位時(shí)即改變波形在t=0時(shí)刻的值。由圖2所示,可看出初始設(shè)定的正弦波在t=0時(shí)刻的值為零。這時(shí)單片機(jī)從查表程序中取出的是以零對(duì)應(yīng)的表中數(shù)據(jù),然后依次向外輸送之后表中的數(shù)據(jù),由此推知,如果在t=0時(shí)輸出與圖2中D1的值所對(duì)應(yīng)的程序表中的數(shù)據(jù),這時(shí)在t=0時(shí)刻的值就由0變?yōu)榱薉1,也就可以看出,正弦波形向左移動(dòng)了一個(gè)單位。

1.3 波形幅值的調(diào)整

由D/A的模擬輸出公式Vout=B×VR。當(dāng)Vout與B為常量時(shí),改變VR的大小可以相應(yīng)改變Vout,即改變波形的幅值。由電路圖1可以看出,Vref是由外部電源提供一個(gè)+5 V的電壓,這里通過(guò)串聯(lián)一個(gè)滑動(dòng)變阻器R1。通過(guò)改變滑動(dòng)變阻器R1的大小改變VR,當(dāng)VR線性變化時(shí)也就實(shí)現(xiàn)了波形幅值的連續(xù)可調(diào)。

1.4 三波異相的同時(shí)輸出

實(shí)際使用過(guò)程中通常會(huì)遇到要使用多波同時(shí)輸出,為了實(shí)現(xiàn)這種功能可以使用3塊低速D/A轉(zhuǎn)換器(包括其后的放大電路與低通濾波電路)連接在同一單片機(jī)上。雖然一塊單片機(jī)不能同時(shí)向3塊D/A輸出其所需要的數(shù)據(jù),但可以通過(guò)單片機(jī)向D/A的控制端口輸送不同的控制信號(hào),是其中的一塊D/A工作另兩塊不工作,并向其中的工作的D/A輸送數(shù)據(jù),然后關(guān)閉第一塊D/A開放第二塊,以此進(jìn)行循環(huán)。三波的幅值是由各D/A的參考電壓Vref決定,參照1.3中敘述的方法,可以改變各自的幅值。這里筆者通過(guò)單片機(jī)給通過(guò)P3.0,P3.1,P3.2 3接口連接相應(yīng)3塊D/A的控制端口。由程序控制P3.0,P3.1,P3.2 端口,依次使 P3.0,P3.1,P3.2 處于低電平,另外兩個(gè)端口處于高電平(連接高電平端口的D/A處于不工作狀態(tài))。使單片機(jī)向3塊D/A逐個(gè)輸送數(shù)據(jù)便可實(shí)現(xiàn)3波同時(shí)輸出。但由于單片機(jī)的主頻限制,這時(shí)會(huì)使輸出波的頻率大大下降。

1.5 數(shù)模(D/A)轉(zhuǎn)換部分

D/A轉(zhuǎn)換部分選用的是DAC0832。DAC0832是CMOS工藝制造的8位單片D/A轉(zhuǎn)換器,屬于R-2RT型電阻網(wǎng)絡(luò)的8位D/A轉(zhuǎn)換器,建立時(shí)間150 ms,為電流輸出型,并且片內(nèi)帶輸入數(shù)字鎖存器[7]。DAC0832與8031接成的是直通方式。由單片機(jī)的P0口直接把信號(hào)送達(dá) “八位DAC寄存器”,ILE接+5 V,XFER、WR2接地以及 WR1與 CS分別接單片機(jī)的WR與P3.0(當(dāng)使用多片D//A產(chǎn)生3相信號(hào)時(shí),另外兩個(gè)與P3.1與P3.2相接)相接。為提高波形質(zhì)量和負(fù)載能力,后級(jí)處理采用低通濾波器和功率放大電路。濾波電路采用一階低通濾波器,其阻帶特性衰減太慢,一般為-20 dB/10,所以這種電路適用于對(duì)低頻信號(hào)濾波特性要求不高的場(chǎng)合。

2 程序流程圖

主程序的流程圖如圖3所示。子程序流程圖如圖4所示。

圖3 主程序流程圖Fig.3 Flow chart of main program

圖4 子程序流程圖Fig.4 Subroutines flowchart

3 軟件仿真

在Protues繪制電路圖,加載單片機(jī)程序,有如下仿真。

1)不同波形的仿真,如圖5所示。

圖5 不同的波形仿真Fig.5 Different waveform simulation

2)不同頻率的波形,以正弦波為例,如圖6所示。

圖6 不同頻率的波形Fig.6 Waveforms of different frequency

3)改變滑動(dòng)變阻器來(lái)改變波形的幅值以正弦波為例,如圖7所示。

圖7 不同幅值的波形Fig.7 Waveform of different amplitude

4)三相正弦波波同時(shí)輸出以正弦波為例,如圖8所示。

圖8 三相正弦波Fig.8 Three-phase sine wave

4 結(jié) 論

由以上仿真結(jié)果可以表明,以單片機(jī)為核心制作的小型低頻的信號(hào)發(fā)生器[8]不僅成功的產(chǎn)生了方波、鋸齒波、正弦波以及多鐘波型的共同產(chǎn)生,并且實(shí)現(xiàn)了頻率與相位的可調(diào),而且波形并無(wú)明顯失真現(xiàn)象。

不足之處就是筆者以12 MHz的晶振進(jìn)行仿真,得到的信號(hào)頻率很低。理論上提高晶振的頻率或是使用更高速的單片機(jī)可以改善低頻的現(xiàn)象。

[1]李道霖,韓緒鵬,肖春芳.正弦信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2010,18(12):165-169.

LI Dao-lin,HAN Xu-peng,XIAO Chun-fang.Design and implementation of sinusoidal signal generator[J].Electronic Design Engineering, 2010,18(12):165-169.

[2]胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2004.

[3]雷發(fā)禹,賓淼林,李永枧,等.基于單片機(jī)的信號(hào)發(fā)生器設(shè)計(jì)與仿真[J].邵陽(yáng)學(xué)院學(xué)報(bào):自然科學(xué)版,2009,6(3):39-43.

LEI Fa-yu, BIN Miao-lin, LI Yong-jian,et al.The design and simulation of signal generator based on MCU[J].Journal of Shaoyang University:Natural Science Edition,2009,6(3):39-43.

[4]徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2004.

[5]徐陽(yáng),鐘寶榮.基于單片機(jī)的低頻信號(hào)發(fā)生器設(shè)計(jì)[J].長(zhǎng)江大學(xué)學(xué)報(bào):自然科學(xué)版,2008,5(3):71-73.

XU Yang,ZHONG Bao-rong.Design of a microcontrollerbased low frequency signal generator[J].Journal of Yangtze University:Natural Science Edition, 2008,5(3):71-73.

[6]李婷婷.絕緣子放電聲信號(hào)研究及污穢度預(yù)測(cè)[J].陜西電力,2010,38(3):38-41.

LI Ting-ting.Study on acoustic emission signal of insulator and ESDD forecasting[J].Shaanxi Electric Power,2010,38(3):38-41.

[7]唐麗麗,何剛,文小森.基于89C51的信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2007(2):76-78.

TANG Li-li,HE Gang,WEN Xiao-sen.Design and implement of signal generator based on 89C51[J].Instrument Technique and Sensor,2007(2):76-78.

[8]安平花,薛安成,畢天姝.調(diào)速系統(tǒng)引入遠(yuǎn)方信號(hào)抑制區(qū)域低頻振蕩可行性研究[J].陜西電力,2009,37(4):1-5.

AN Ping-hua,XUE An-cheng,BI Tian-shu.Feasibility study on governor-side damping controller for inter-area low frequency oscillation of power system with remote signal[J].Shaanxi Electric Power,2009,37(4):1-5.

猜你喜歡
失真度正弦波子程序
單相正弦波變頻電源設(shè)計(jì)與實(shí)現(xiàn)
采用BC5016S的純正弦波逆變器設(shè)計(jì)及制作
電子制作(2019年7期)2019-04-25 13:18:18
淺談信號(hào)衰減對(duì)于民航地空通信信號(hào)質(zhì)量的影響
淺談子程序在數(shù)控車編程中的應(yīng)用
基于基波抑制法測(cè)量諧波失真度時(shí)的數(shù)值修正與誤差分析
子程序在數(shù)控車加工槽中的應(yīng)用探索
基于蒙特卡羅法的失真度測(cè)量不確定度分析
天津科技(2014年4期)2014-05-14 01:49:32
基于嵌入式技術(shù)的電網(wǎng)同步正弦波發(fā)生裝置研究
交流電失真度測(cè)量方法研究與實(shí)現(xiàn)
西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
昌邑市| 塔河县| 内丘县| 蓬莱市| 理塘县| 灵璧县| 襄城县| 茂名市| 南京市| 岗巴县| 泰宁县| 松桃| 邹城市| 嘉义市| 开化县| 高台县| 鄂伦春自治旗| 林口县| 浦城县| 阜阳市| 嵊州市| 徐州市| 阿克| 江油市| 隆子县| 鄂州市| 博客| 钟山县| 满洲里市| 独山县| 定陶县| 师宗县| 桃园县| 榆社县| 开平市| 神木县| 新巴尔虎左旗| 中江县| 雅安市| 寻乌县| 卓资县|