基于AT89S51單片機的低頻信號設(shè)計及仿真研究
摘要:文中采用AT89S51單片機來設(shè)計簡易的信號發(fā)生器,通過DAC0832轉(zhuǎn)換并還原了波形信號,得到了相應(yīng)的方波、鋸齒波、三角波和正弦波等波形信號。在電路設(shè)計的基礎(chǔ)上,本文還對上述4種波形進行了波形自由轉(zhuǎn)換、相位和頻率自由調(diào)節(jié)等技術(shù)設(shè)計,并對其進行了仿真調(diào)試。
關(guān)鍵詞:低頻信號;AT89S51;DAC0832;Protues
傳統(tǒng)的低頻信號源或發(fā)生裝置,因其大部分采用模擬電路設(shè)計的原因,一般具有價格昂貴、輸出性能欠佳且不便于調(diào)節(jié)等問題,工程應(yīng)用價值較低。為避免傳統(tǒng)低頻信號源或發(fā)生裝置的上述技術(shù)缺點,降低技術(shù)開發(fā)成本和提高技術(shù)開發(fā)效率,文中利用AT89S51可以在線編寫程序的特點,結(jié)合了DAC接口技術(shù),設(shè)計了波形、頻率、相位均調(diào)節(jié)方便并可產(chǎn)生方波、三角波、鋸齒波、正弦波四種波形的技術(shù)方案。這種新的低頻信號源設(shè)計方案,可以使得波形信號的產(chǎn)生由單片機查表軟件產(chǎn)生,波形的周期依靠程序設(shè)置來改變,具有線路簡單、結(jié)構(gòu)緊湊、價格低廉、性能優(yōu)越等優(yōu)點。
1 設(shè)計目標和思路
文中設(shè)計目標是完成4種波形信號輸出,即正弦波、三角波、方波和鋸齒波,并使其在低頻范圍內(nèi)具有穩(wěn)定穩(wěn)定性好、性能可靠、體積較小、占空比調(diào)節(jié)方便等技術(shù)優(yōu)勢。文中采用鍵盤控制的辦法,來實現(xiàn)并輸出方波、鋸齒波、三角波和正弦波等信號。另外,對頻率和幅值的變換情況,用鍵盤也能夠較好的進行控制和調(diào)整。同時,本文還將其產(chǎn)生的信號參數(shù)用LCD進行仿真顯示和調(diào)試。
在設(shè)計中,首先在函數(shù)中對某個數(shù)組附值,利用DAC0832來實現(xiàn)輸出波形信號輸出轉(zhuǎn)換,再經(jīng)過功放濾波模塊處理,這樣的話,就會在示波器上觀察到不同函數(shù)值的波形信號。但是,因為函數(shù)對數(shù)組中的數(shù)附值之后并不是一次就輸出顯示出來,這就需要編寫AT89S51的控制字,使其開中斷,然后再用計數(shù)器計數(shù)。當計數(shù)器溢出時便提出中斷請求,這時調(diào)用中斷函數(shù),將數(shù)組中一個值送到DAC0832中。這樣連續(xù)不斷的送值,最后在示波器上顯示的就是一個連續(xù)的波形。最后,為了產(chǎn)生不同的波形,利用獨立按鍵開關(guān)實現(xiàn)波形的不同頻率,來控制波形的頻率,以及利用滑動變阻器來為DAC0832提供不同的參考電壓來實現(xiàn)不同幅值的波形。
2 電路原理圖
當按下“波形選擇”鍵時,發(fā)生外部中斷,并在LCD顯示所對應(yīng)的波形序號,通過AT89S51單片機執(zhí)行某一段中斷波形發(fā)生程序,向DAC0 832轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)送數(shù)據(jù),從而在DA0832轉(zhuǎn)換電路的輸出端得到相應(yīng)的電壓波形。再經(jīng)過放大器的放大作用和二階低通濾波電路濾波作用,濾除高次諧波,最后在模擬示波器上顯示出更加光滑平整的目標波形。在上述的基礎(chǔ)上,通過選擇按下頻率增加鍵和頻率減少鍵可以改變波形的頻率,再利用滑動變阻的分壓作用,改變DAC0832的參考電壓Vref以致改變電流i,即改變參考電壓,使輸出電壓幅度隨i發(fā)生改變,從而實現(xiàn)幅度的調(diào)節(jié)。
基于單片機函數(shù)信號發(fā)生器原理接線圖如圖1所示。
3 4種波形技術(shù)分析
文中利用定時器TMR0定時中斷與預(yù)設(shè)波形數(shù)據(jù)表配合,來實現(xiàn)波形生成,將定時器設(shè)定成定時方式1,在每次中斷發(fā)生時,對波形數(shù)據(jù)進行采集,或者對定時時間進行調(diào)整。從而實現(xiàn)當前時刻的波形數(shù)據(jù)的輸出,以及頻率的調(diào)整。
3.1 方波技術(shù)分析
生成方波原理:周期性翻轉(zhuǎn)輸出引腳(端口)的電平,只取兩種電平數(shù)據(jù)極限值之一:0XFF(對應(yīng)輸出高電平),0X00(對應(yīng)輸出低電平)。每次TMR0發(fā)生中斷時,立即翻轉(zhuǎn)端口電平:0XFF-0X00或0X00—0XFF,定時時間也不同,輸出波形頻率也不同,所以要改變輸出頻率,就要通過定時初值來控制中斷時間完成。
相關(guān)的2個變量:iudge……………//方波當前判斷值
DAdata…………//定義為P1口
judge=1,DAdata=0XFF,正向翻轉(zhuǎn);judge=0,DAdata=0X00,負向翻轉(zhuǎn)。
3.2 鋸齒波技術(shù)分析
生成鋸齒波的原理是每次定時器TMR0發(fā)生中斷時。并將更新后的采樣值立即通過單片機端口輸出至DAC0832進行D/A轉(zhuǎn)換成對應(yīng)模擬電壓。為了控制輸出數(shù)值范圍,當采樣值增至8位最大值0XFF即255時,立即將其置0,如此周而復(fù)始連續(xù)的操作,每次從0增至255又返回0,這樣通過D/A轉(zhuǎn)換后的模擬電壓即為鋸齒波波形。對波形頻率的控制可通過改變采樣步進值,增加步進值,則采樣數(shù)值增幅變大。因此從0~255之間采樣點數(shù)減少,所以完成一個周期波形所需要時間相應(yīng)變小,輸出波形頻率增大,反之亦然。但是步進若增幅過大,則采樣點數(shù)急劇減少,輸出波形離散化趨勢增加,波形變得不再連續(xù)平滑,因此可在DAC0832轉(zhuǎn)換器輸出端接上濾波電路,以濾除高次諧波,使波形趨于平滑。
相關(guān)的2個變量:juchibo—tab[]………//鋸齒波數(shù)組
DAdata………//定義為P1口
3.3 三角波技術(shù)分析
其原理與鋸齒波類似,不同的是在于當采樣值增加至最大值0XFF(255)時,在隨后的采樣時刻,采樣值減去步進值,以此更新。當采樣值減小到0時,在后續(xù)采樣時刻,采樣值則與步進值相加,以此更新。如此周而復(fù)始連續(xù)地操作,采樣值經(jīng)過D/A轉(zhuǎn)換后就能輸出對稱三角波,調(diào)節(jié)頻率的方法和鋸齒波相同。
相關(guān)2個變量:triangle_tab[]…………//三角波采樣輸出數(shù)組
DAdata…………//定義為P1口
3.4 正弦波技術(shù)分析
一個正弦數(shù)值表Table(含256個元素值),此表是將一個周期的正弦波離散成256個采樣值,在每個采樣時刻,按索引值序號選取并輸出此表中相應(yīng)的值,經(jīng)D/A轉(zhuǎn)換后輸出與此表值對應(yīng)的模擬電壓信號,則采樣完此表中256個數(shù)值即可輸出一個完整周期的正弦波。此處的所引值取代了鋸齒波或三角波中的步進值,在調(diào)節(jié)正弦波頻率時依然有兩種方法:一種是計數(shù)上限(即調(diào)節(jié)采樣周期),上限值越大,采樣周期越長,輸出波形周期也越長,頻率則越小,反之亦然。第二種是調(diào)節(jié)索引值步進,增加步進值,則采樣數(shù)值增幅變大,因此從0~255之間采樣點數(shù)減少,所以完成一個周期波形所需要時間相應(yīng)變小,輸出波形頻率增大,反之亦然。但是步進若增幅過大,則采樣點數(shù)急劇減少,輸出波形離散化趨勢增加,波形變得不再連續(xù)平滑,因此可在DAC0832轉(zhuǎn)換器輸出端接上濾波電路,以濾除高次諧波,使波形趨于平滑。
相關(guān)2個變量:sine_tab[256]………//正弦波數(shù)組
DAdata………//定義為P1口
4 ProtueS仿真調(diào)試
本設(shè)計方案的思路是通過Protues軟件仿真來進行波形調(diào)試,利用定時器TMR0定時中斷與預(yù)設(shè)波形數(shù)據(jù)表配和起來實現(xiàn)波形的生成,將定時器設(shè)定成定時方式1,在每次中斷發(fā)生時,對波形數(shù)據(jù)進行采集,或者對定時時間進行調(diào)整。從而實現(xiàn)當前時刻的波形數(shù)據(jù)的輸出,以及頻率的調(diào)整。是在keil軟件上編譯,用C語言設(shè)計程序的源代碼。
下圖2~5即為調(diào)試所得各類波形。
仿真過程中,本設(shè)計可以實現(xiàn)預(yù)期的4種常用低頻信號波形的輸出,各輸出波形標準規(guī)范。同時各種波形的輸出均可實現(xiàn)調(diào)頻和調(diào)幅操作:對于調(diào)頻操作,在單片機工作時鐘頻率為24 MHz條件下,正弦波、鋸齒波、三角波可以在1 kHz以下范圍內(nèi)保持輸出波形不變形,方波的保形頻率范圍則可以達到2 kHz,對調(diào)幅操作,可以做到4種波形幅值在0~5 V范圍內(nèi)連續(xù)調(diào)節(jié)。
5 結(jié)束語
盡管技術(shù)調(diào)試過程中,出現(xiàn)了諸如正弦波、三角波、鋸齒波的頻率在0~1 kHz范圍調(diào)節(jié)可以得到清晰、連續(xù)平整的沒有變形的波形,但是超過這個范圍輸出的波形會失真變形;不能一次同時多波形輸出等技術(shù)難題。但是,實驗數(shù)據(jù)仍然表明,文中采用AT89S51單片機設(shè)計的方案,是合理可行。同時,從仿真的數(shù)據(jù)結(jié)果和分析來看,新的設(shè)計技術(shù)方案獲得的輸出低頻波形信號規(guī)整、可靠性較好,符合普通常用低頻
信號源基本要求,其實驗結(jié)果是令人滿意的。
另外,在調(diào)試中發(fā)現(xiàn),因DAC0832受到轉(zhuǎn)換位數(shù)和建立時間的限制,從而引起了輸出波形不夠規(guī)整、前后沿不陡峭等問題。我們認為,如果能夠采用其他諸如DAC9881等芯片來提高轉(zhuǎn)換位數(shù)和建立時間的話,設(shè)計方案將能夠獲得更加完美的輸出波形。