基于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口
模擬信號相關(guān)文章:什么是模擬信號
51單片機相關(guān)文章:51單片機教程
c語言相關(guān)文章:c語言教程
負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理
評論