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