吳蓓 袁飛
摘 要:函數信號發生器作為科學實驗中必不可少的儀器設備,在現代測控領域中已被廣泛應用。本設計采用軟硬件結合的方法,以STC89C52RC 為控制核心,結合液晶顯示模塊、信號產生模塊、程控增益模塊、負壓產生模塊等實現了正弦波、方波、三角波和鋸齒波的輸出。
關鍵詞:STC89C52RC;信號發生器;DAC0832;LCD1602
函數信號發生器是一種精密儀器,也是科研實驗室中一種常用的實驗設備[1]。它主要用來產生各類波形,諸如正弦波、方波等。得益于數字化技術的應用,信號發生器的準確度和精度都很高,低到幾μHz,高到幾十MHz,都能夠完美勝任。
1 硬件電路設計
本系統以STC89C52單片機為核心模塊,用戶在按鍵模塊中設定相應頻率幅值及其所需波形,由單片機運算器加以處理,通過波形產生模塊中的DAC0832芯片產生相應頻率的波形,然后經過程控增益模塊中的DAC0832進行程控放大,得到所需幅值的波形并輸出。硬件電路圖如圖1所示。
STC89C52RC主控模塊在整個系統中起主要作用,用以檢測按鍵的輸入,控制波形的輸出等各種功能,同時還需驅動液晶顯示相關參數。采用單片機的P0口作為LCD1602數據線,VO口接一個2.7K電阻至地端,使其液晶顯示背光適中。鍵盤模塊使用的是多位獨立按鍵,用來切換不同參數設置界面、切換波形、頻率和幅值等參數以及步進增減等。DAC0832是電流輸出型DAC芯片,需要采用運算放大器轉換成電壓,本設計使用了TL072搭建成一個加法器進行信號放大和偏置調整。輸出電壓幅值范圍為2.5V ~ 2.5V。程控放大模塊的基準是接到波形發生電路的輸出,因此輸出為VOUT=VREF×DATA/256 ,DAC0832的數據口與單片機P2口相連,相應電源引腳正常使用,UA741的輸出腳至DAC0832形成負反饋。此外,由于電路中運算放大器需要±5V電源供電,而本設計中USB電源接口只能提供+5V電壓,因此此處使用ICL7660產生一個5V的電壓[2] [3]。
2 軟件設計
如果說硬件是整個系統的骨干部分,那么控制單片機的軟件就是整個系統的靈魂所在。軟件設計部分采用keil軟件編寫C語言程序。系統軟件設計總流程圖如圖2所示。
3 功能實現
為了證實本文系統的可行性,下面給出硬件調試輸出波形圖。圖3為輸出幅值為5Vpp、頻率為1000Hz的正弦波;圖4為輸出幅值為5Vpp、頻率為500Hz,占空比為50%的方波;圖5為輸出幅值為5Vpp、頻率為500Hz的三角波;圖6為輸出幅值為3Vpp、頻率為500Hz的鋸齒波。
4 總結
本文以STC89C52RC單片機為控制核心,結合LCD1602液晶顯示模塊、波形產生模塊、程控增益模塊、負壓產生模塊等設計了一款函數信號發生器,能夠實現正弦波、方波、三角波、鋸齒波等多種波形。
參考文獻:
[1]王正剛.基于DSP 的數字信號發生器設計[D].南京理工大學,2009.
[2]陳華敏,任立民.基于AT89C51 的信號發生器的設計[J].現代電子技術, 2011 (2):135137.
[3]王浩坤.三維空間中心臟電生理過程實驗研究[D].吉林大學,2007.