波形發(fā)生器是能夠發(fā)出一定規(guī)律的周期性信號的裝置,比如正弦波、方波、三角波、鋸齒波等,一些數字信號發(fā)生器可以發(fā)出任意波形。波形發(fā)生器按照實現原理,一般有兩種,一種是模擬式、另外一種是數字式,模擬式主要以模擬電路為主,通過各種信號發(fā)生電路來產生對應的信號;另外一種是利用數字控制的方式。今天我們介紹一個利用51單片機產生簡易正弦波、方波、三角波的實驗方法。
控制核心是AT89C51單片機、四個獨立的控制按鍵、一個1602液晶顯示器、波形輸出方面使用的是DAC0832,比較典型的DAC,雖然現實中不怎么使用但是很多教材里都對這款芯片情有獨鐘,DA的輸出端利用兩個運放組成的反向電路對信號進行了處理和放大。四個按鍵的主要功能是對輸出波形的種類進行選擇、對輸出波形的頻率進行調整、對輸出波形的幅值進行調整。
上電以后1602顯示的內容為波形類型、波形頻率、波形幅值。信號的基本要素都顯示有顯示。
接下來點開示波器看一下產生的波形圖。左側第一個按鍵是用于進行波形選擇的。
三種波形還算可以沒有出現嚴重的失真。在波形幅值方面主要是從1-5V。左側開始第二個按鍵用于參數加、第三個按鍵用于參數減,第四個按鍵用于修正參數的選擇。
波形的主要實現方式是將三種波形的數據轉換成數組,然后通過對數組的查詢,實現相應波形的輸出,通過修改數據輸出的時間間隔就可以達到修改信號頻率的目的。通過對表中數據進行運算就可以改變相應的幅值。