白苗潔成都理工大學信息科學與技術學院
?
基于微控制器的數(shù)字信號發(fā)生器的設計與實現(xiàn)
白苗潔
成都理工大學信息科學與技術學院
摘要:本設計是基于單片機STC89C52的多功能波形發(fā)生器。由STC98C52、D/A轉換、LM324運放放大器、示波器液晶顯示、外圍電路構成的數(shù)字信號發(fā)生器。利用STC89C52單片機產生數(shù)字信號波形,再通過D/A轉換將數(shù)字信號轉換成模擬信號,在經過有LM324組成的運放電路放大信號,由示波器輸出,之后再經過有LM324組成的反向電路使得模擬信號反向輸出,最后,一起顯示在示波器里。
關鍵字:STC89C52單片機 DA轉換 數(shù)字信號
不論是在生產還是在科研與教學上,信號發(fā)生器都是電子工程師仿真實驗的最佳工具。隨著我國經濟和科技的發(fā)展,對相應的測試儀器和測試手段也提出了更高的要求,信號發(fā)生器己成為測試儀器中至關重要的一類,因此開發(fā)信號發(fā)生器具有重大意義。傳統(tǒng)的信號發(fā)生器采用專用芯片,成本高,控制方式不靈活?,F(xiàn)在很多設計利用單片機靈活的控制、豐富的外設處理能力,實現(xiàn)頻率、幅值可調的函數(shù)波形的輸出,同時可以根據(jù)需要方便地實現(xiàn)各種比較復雜的調頻、調相和調幅功能,具有良好的實用性。
經過再三考慮,確定方案如下:利用STC89C52單片機采用程序設計的方法產生方波、矩形波、三角波、正弦波四個波形,再通過D/A轉換器DAC0832將數(shù)字信號轉換成模擬信號,濾波放大,再通過反向電路,最終由示波器顯示出來。通過由STC8C52產生的數(shù)字信號通過DAC0832轉換為模擬信號,有數(shù)字量的大小直接和模擬信號的頻率成正比。因為單片機本身的可提供的最大頻率并不是很穩(wěn)定,所以在單片機P2端口處加排阻連接在一起,又此來確定波形的最大頻率。本設計用單片機控制所產生信號的幅度,并且充分地利用了單片機強大的程序控制和計算功能,采用查表的方法利用軟件生成了各種信號,從而大大地節(jié)省了硬件開銷,動態(tài)地實現(xiàn)了目標信息的模擬。
3.1單片機模塊
STC89C52單片機是一種低功耗、高性能8位單片微型計算機。它把構成計算機的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構成較為完整的計算機、而且其價格便宜。
3.2D/A轉換模塊
D/A轉換是由最常用的DAC0832來完成,主要優(yōu)點有:分辨率為8位;電流穩(wěn)定時間1us;可單緩沖、雙緩沖或直接數(shù)字輸入;只需在滿量程下調整其線性度;單一電源供電(+5V~+15V);低功耗,20mW。而且相對其他D/A轉換設施DAC0832容易入手,可快速掌握。
3.3運放模塊
在運放模塊中,現(xiàn)實常用的芯片有LM358,TL062,TL072,TL082,LF353,NE5532等等,在這里我選擇的是LM324,主要是因為在以前的實訓中使用過LM324,所以比較熟悉它的性能。
3.4反向電路模塊
因為在運放模塊中選擇的是LM324,所以為了節(jié)約成本,所以反向電路用的也是LM324。使用LM324也可以提高集成度,使得做出的電路板面積減小,易于使用。
3.5鍵盤模塊
矩陣式鍵盤。矩陣式鍵盤的按鍵觸點接于由行、列母線構成的矩陣電路的交叉處。當鍵盤上沒有鍵閉合時,所有的行和列線都斷開,行線都呈高電平。當某一個鍵閉合時,該鍵所對應的行線和列線被短路。
單片機內部數(shù)據(jù)只能以0,1輸出,所產生的信號都是離散的信號。為了能夠讓單片機實現(xiàn)函數(shù)信號輸出功能,采用對信號采樣,量化的方法。在設計中,對正弦信號進行采樣,通過查表來實現(xiàn)輸出不團的幅度值。采樣點越密集,信號失真度就越小。對于三角波的輸出,就是實現(xiàn)兩次循環(huán),通過有最小值到最大值和由最大值到最小值的循環(huán)來實現(xiàn)三角波的輸出。方波的輸出時間間隔由軟件通過定時、計數(shù)器來控制。鋸齒波的輸出就是三角波的1/2步驟由最小到最大,一直重復這個步驟。
產生指定波形可以通過DAC來實現(xiàn),不同波形產生實質上是對輸出的二進制的數(shù)字量進行相應改變來實現(xiàn)的。
(1)方波信號是利用定時器中斷產生的,每次中斷時,將輸出的信號反向即可。
(2)三角波信號是將輸出的二進制數(shù)字信號依次加1,達到0xff時依次減1,并實時將數(shù)字信號經D/A轉換得到。
(3)鋸齒波信號是將輸出的二進制數(shù)字信號依次加1,達到0xff時置為0x00并實時將數(shù)字信號經D/A轉換得到的。
(4)正弦波是利用MATLAB將正弦曲線均勻取樣后,得到等間隔時刻的y方向上的二進制數(shù)值,然后依次輸出后經D/A轉換得到。
參考文獻
[1]米昶. Protel2004電路設計與仿真(高等學校計算機輔助設計規(guī)劃教材)[M].機械工業(yè)出版,2006.
[2]何立民.單片機高級教程-應用與設計[M].北京航空航天大學出版社,2008.
[3]李剛,等.ADUC845單片機原理、開發(fā)方法及應用實例[M].電子工業(yè)出版社,2006.
[4]張毅剛單片機原理及應用J高等教育出版社,2003