一種基于AT89C51低頻信號源的設(shè)計
正弦信號本身是非線性的,而其相位是線性的,如圖4所示。
因此,每隔一段時間△t(時鐘周期),有對應的相位變化△p,即:
p=ω△t=2πf△t
從上式可以得到合成信號的頻率f為:
3 系統(tǒng)硬件設(shè)計
其系統(tǒng)硬件原理圖如圖5所示。
3.1 單片機選擇
本系統(tǒng)中使用AT89C51單片機。電路板上的EA引腳可利用跳線接電源,也可接地。因此,在此管座上可以插AT89C51,AT80C31等芯片。
3.2 D/A轉(zhuǎn)換電路
DAC0832與單片機的連接中對主要功能信號的處理方法如下:
圖中DAC0832與AT89C51的連接方式是單緩沖方式。這種單緩沖方式是DAC0832的兩個緩沖器同時受控,將CS與XFER相連受控于 AT89C51的P2.0信號,WR1和WR2相連受控于AT89C51的WR信號,由于P2.0連至DAC0832的CS,故該片的地址為FEFFH (無關(guān)位取“1”)。
3.3 開關(guān)的功能和應用
由于本設(shè)計中要用按鍵控制波形輸出,現(xiàn)將各按鍵說明如下:
K0~K4分別與AT89C51的P1.0~P1.4相連,依次控制著鋸齒波、方波、三角波、梯形波、正弦波的產(chǎn)生。
通過對51單片機進行D/A轉(zhuǎn)換接口擴展,通過對INT0端設(shè)置按鈕改變20H單元中的內(nèi)容以調(diào)整頻率,利用中斷與查詢相結(jié)合的方式進行波形選擇,具體可以通過對P1口來設(shè)置完成。例P1.0為鋸齒波信號選擇開關(guān),當加上電源后,自動復位電路開始工作,單片機開始工作。當K0鍵按下,即想要輸出鋸齒波時,P1.0為低電平,掃描程序調(diào)用鋸齒波子程序,產(chǎn)生的數(shù)字信號送DAC0832進行數(shù)模轉(zhuǎn)換,其輸出經(jīng)運算放大電路后輸出鋸齒波。
4 軟件設(shè)計
4.1 主程序流程圖
程序流程圖如圖6所示。
4.2 正弦波的流程圖及子程序
4.2.1 流程圖
流程圖如圖7所示。
4.2.2 子程序
5 結(jié) 語
該信號源的設(shè)計是以MCS-51單片機和DAC0832為核心元件,結(jié)合較簡捷的外圍電路來構(gòu)建低頻信號源。它能產(chǎn)生三角波、正弦波等5種信號,本設(shè)計采用硬件和軟件相結(jié)合,電路較傳統(tǒng)的簡單且操作方便,具有一定的參考價值。
評論