數(shù)字信號發(fā)生器課程設(shè)計_第1頁
數(shù)字信號發(fā)生器課程設(shè)計_第2頁
數(shù)字信號發(fā)生器課程設(shè)計_第3頁
數(shù)字信號發(fā)生器課程設(shè)計_第4頁
數(shù)字信號發(fā)生器課程設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)字信號發(fā)生器的設(shè)計摘要信號發(fā)生器也叫做振蕩器或是信號源,在現(xiàn)在的科技生產(chǎn)實踐中有著廣泛而重耍的 應用?,F(xiàn)在的特殊波形發(fā)生器在價格上不夠經(jīng)濟,有些昂貴。而基于at89c51單片機 的函數(shù)信號發(fā)生器可以滿足此要求。根據(jù)傅里葉變換,各種波形均可以用三角函數(shù)的相 關(guān)式子表示出來。函數(shù)信號發(fā)生器能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波、方 波和正弦波。本文通過在單片機的外圍加上鍵盤,控制波形的種類和輸出頻率的大小,加上led 顯示出和應信息。單片機輸出為數(shù)字信號,于是在輸出端用dac0832進行d/a轉(zhuǎn)換, 再通過兩級運放對波形進行調(diào)整。最終在示波器上顯示出來。關(guān)鍵詞:信號發(fā)生器,at89c51,

2、d/a轉(zhuǎn)換,波形調(diào)整目錄1緒論11課題研究背景11.2波形介紹12系統(tǒng)設(shè)計32方案選擇32.2框圖設(shè)計32.3單片機模塊42.4按鍵控制與顯示電路設(shè)計62.5 d/a轉(zhuǎn)換電路72.6顯示電路92.7放大電路設(shè)計122.8整體的電路原理圖132.9元件清單133軟件設(shè)計153程序流程圖153.2程序代碼154系統(tǒng)仿真及調(diào)試184.1系統(tǒng)仿真圖184.2系統(tǒng)調(diào)試19總結(jié)21致謝22參考文獻231緒論 1.1課題研究背景隨著經(jīng)濟與科技不斷發(fā)展,相應的測試儀器與手段也冇了許多改善與提高,但是對 z要求也不斷提高。波形發(fā)生器的信號已知,使用者然后根據(jù)具體的耍求,將其作為激 勵源,測得感興趣的參數(shù)。信號源

3、仿真各種測試信號,給待測屯路,從而滿足現(xiàn)實需求。 信號發(fā)生器在仿真實驗占有重要地位,對于測試儀器來說也同樣不可缺少。因此對相關(guān) 信號發(fā)生器的研究開發(fā)有著一定的意義。傳統(tǒng)的信號發(fā)生器電路復雜,控制靈活度不夠,成本也相對較高。雖然我國所研制 的波形發(fā)生器在一定程度上已有了一些成果,但與國外技術(shù)確實還存在一定差距,因此 很冇必要提高相關(guān)方面的研究。利用單片機的控制靈活性,外設(shè)處理能力強等特點,實現(xiàn)頻率與幅度可調(diào)的多種波 形,這就克服了傳統(tǒng)的缺點,具有良好的實用性。同時根據(jù)程序的易控制性,可以容易 實現(xiàn)各種較復朵的調(diào)頻調(diào)幅功能。1.2波形介紹正弦波,正弦信號可用如下形式表示f(t)=asin( 3 /

4、+ 0 )(1 )英屮,a為振幅,3是角頻率,0為初相位。正弦函數(shù)為一周期信號如下圖1所示:方波方波函數(shù)是我們常用且所熟知的簡單波形函數(shù),做脈沖等,其表示形式如門r a(°“于)/()= . t 2 (2)2方波波形如圖2。圖2圖形當方波下半段幅值為0吋,就為矩形波,一個原理,所以不再贅述矩形波。鋸齒波,鋸齒波如圖3所示。三角波,三角波波形如下圖4所示。2系統(tǒng)設(shè)計2.1方案選擇方案一:利用單片的函數(shù)發(fā)生器的傳統(tǒng)方式,比如8038就行。它可很容易地產(chǎn)生 止弦波和方波等波形,而后用數(shù)/模轉(zhuǎn)換器對電壓進行調(diào)制,也可以用數(shù)字調(diào)控對頻率實 現(xiàn)改變,但這種方法產(chǎn)生頻率不穩(wěn)定。方案二:采用頻率合成

5、器,鎖相環(huán)式的。對于所選擇的頻率,用vco (壓控振蕩 器)加以選定。這種方法較第一種性能上好,但是對于頻率的輸出范圍難以達到。而且 冇一個特點,即電路較為復雜。方案三:可以利用單片機編程的方法來實現(xiàn)波形的輸出??蛇x用at89c51作為控 制器,輸出相應波形的數(shù)字信號,再用d/a轉(zhuǎn)換器輸岀相應波形的模擬信號。用dac0832 作為d/a轉(zhuǎn)換器,再經(jīng)過兩級放大后輸出,最終在示波器上顯示??梢允褂冒存I掃描來 實現(xiàn)波形的變化。由于方案一的輸出信號的頻率不穩(wěn)定述冇二方案的電路較為復雜,頻率可調(diào)范圍難 以達標等缺點,所以決定采用方案三的設(shè)計方法。方案三的設(shè)計用軟件可以很方便的實 現(xiàn)對駛件的控制,輸出需要

6、的波形。而且方案三中涉及的器件都是容易得到而且價格較 為便宜的,所以價格上也有優(yōu)勢。2.2框圖設(shè)計基于at89c51單片機的函數(shù)信號發(fā)生器由電源電路、單片機主控電路、信號輸出電路和按鍵控制電路四部分組成,整體設(shè)計框圖如圖5所示圖5函數(shù)信號發(fā)牛器系統(tǒng)圖at89c51單片機是整個函數(shù)信號發(fā)生器的主控部分,通過電腦對程序改寫,可以產(chǎn) 生不同波形,也可對同種波形的頻率幅度進變換。當單片機輸出數(shù)字信號經(jīng)過轉(zhuǎn)換電路 后輸岀相應模擬信號。上圖中輸出電路包涵轉(zhuǎn)換電路與整波電路。圖6為函數(shù)信號發(fā)生 器的原理圖。圖6信號發(fā)生器原理框圖2.3單片機模塊2.3.1單片機最小系統(tǒng)8051片內(nèi)有4kb的rom/eprom

7、,因此只需要外接晶振電路和復位電路就可以構(gòu)成最小系統(tǒng)了,如圖7所示。121314151617xellxim2rst eawp psen alep3.0rdp3d/txd p3.24mo p3.3anh p3.4top3.5t1 p3.6mr p3.7aovccpooado p0.1/ad1po.2/ad2po.3/ad3po.4/ae4p03ad5pq6ad6p0.7/ad7pi.qt2p1.1/i2exp2(ya8p21/a9 p2.2/a10 p23a11 p2.4/a12lbsn74ls138n20p2.5/a13p2&a14vssp27/a15s1s2s3sip2.40_393

8、83736353431_322_3_-45一6_-7_8一2122乃242526刀28p80c32ubpn圖7單片機最小系統(tǒng)該最小系統(tǒng)的特點如下:(1) 由于片外沒冇擴展存儲器和外設(shè),po、pl、p2、p3都可以作為用戶i/o 接口使用。(2) 片內(nèi)數(shù)據(jù)存儲器有128b,地址空間為ooh7fh,片外沒數(shù)據(jù)存儲器。(3) 片內(nèi)有4kb的程序存儲器,地址空間為0000h0fffh,沒有偏外存儲器,ea 應接高電平。(4) 可以使用兩個定時/計數(shù)器to和t1, 一個全雙工的串行通信接口,5個中斷 源。晶振電路工作原理及應用單片機冇18、19兩引腳。分別為xtal1和xtal2。單片機采取內(nèi)部振蕩電路

9、時, 將這兩引腳接石英晶體與微調(diào)電容。此設(shè)計采用的是12m品振和兩個30pf的電容。在 芯片內(nèi)部結(jié)構(gòu)中,xtal1和xtal2引腳是一反相放人器的兩個輸入端,構(gòu)成單片機內(nèi) 部振蕩器。同樣,根據(jù)需要不同,也可采用外部吋鐘方式。木次設(shè)計采用內(nèi)部吋鐘方式。vta t圖8時鐘電路單片機復位屯路工作原理及應用計算機在啟動運行吋都需要復位,復位是使屮央處理器cpu和內(nèi)部其他部件處于 一個確定的初始狀態(tài),從這個狀態(tài)開始工作。89c51單片機有一個復位引腳rst,高 電頻冇效。在時鐘電路工作以后,當外部電路使得rst端出現(xiàn)2個機器周期以上的高 電平后系統(tǒng)就會內(nèi)部復位。我們采用按鍵復位方式。如圖9所示。圖9按鈕

10、復位電路2.4按鍵控制與顯示電路設(shè)計本次設(shè)計共設(shè)計了 4個按鍵,分別為開關(guān)si、s2、s3和s4。分別接單片機的p3.0、 p3.1、p3.3、p3.4 口。s1用來控制輸出波的類別,每按一次,切換到另一個波形;s2 與s3則調(diào)節(jié)輸出波形頻率的增減,按s2時,輸出平率增加,而s3則減?。籹4則用來 顯示波形的種類與頻率的大小。如圖10所示。pudtmu p0.vad1 pu2/m2 pu3tm3 pci .4/ad< pqsms po&rdg p 口 .7/ad7pnjdwsp2.1/a9 pzaid p23tmi p2.4/a12 p2<va13 p2&m p2.

11、7/a1sp3iyhxdp3.1hxd p3nttt p3nmp3.4/t0 p3stt1 paj&fnnr pm/ivo"37pqz f3835p0<pq5 '33pck '3zfspcdplji21z25zr云1dtt12圖10按鍵電路2.5 d/a轉(zhuǎn)換電路d/a轉(zhuǎn)換器經(jīng)常用于信號發(fā)生器的設(shè)計中,通過它可以生成各種波形。其基本原理 如下:利用d/a轉(zhuǎn)換器輸出模擬量與輸入數(shù)字量成正比這一特點,通過程序控制cpu 向d/a轉(zhuǎn)換器送出隨時間成一定規(guī)律變化的數(shù)字,則d/a轉(zhuǎn)換器輸出端就可輸出隨時 間按一定規(guī)律變化的波形。2.5.1 d/a轉(zhuǎn)換的必要性d/a是

12、先把數(shù)字量轉(zhuǎn)換成模擬量,在單片機設(shè)計屮經(jīng)常用到。眾所周知,單片機輸 出信號為數(shù)字量,而本設(shè)計旨在輸出各種波形,屬模擬量,所以單片機的數(shù)字量必須經(jīng) 過d/a的轉(zhuǎn)換變?yōu)槟M信號才能滿足耍求。2.5.2 dac0832的特性及應用dac0832是一個8位的d/a轉(zhuǎn)換器,為dac0830的一種。dac0832內(nèi)部主要由 8為輸入寄存器、8位dac寄存器、8位d/a轉(zhuǎn)換器和控制邏輯屯路組成。由于dac0832 與單片機接口方便,其轉(zhuǎn)換與控制較易實現(xiàn),所以在實際工作中有其重要的作用,使用 的也較為頻繁。其內(nèi)部結(jié)構(gòu)及引腳圖如圖11所示。uref 【0ut2 【0ut1rfbagnd圖11 dac0832的內(nèi)

13、部結(jié)構(gòu)uccdgnd12345678910dirfcsagndd3d2dourefdgnddac 083220191817161514131211uccilexferd6io2lold4d5d7圖12daco832的引腳圖daco832是d/a轉(zhuǎn)換器的一類,屬電流型,所以后耍跟著i/v轉(zhuǎn)換。數(shù)字輸入端 口j以有單緩沖、雙緩沖或直通方式輸入。當引腳wr1、wr2、cs、xfer直接接地時,ile接電源,daco832處于直通工作方式。這種狀態(tài)下,有輸入就立即有輸出,處理方式簡單,但只能通過獨立的i/o接 口連接。當連接ile、wr1、腋2、cs和xfer引腳,使得兩鎖存器分別工作在直通與受 控狀

14、態(tài),或者兩個同事被控制,則dac0832處于單緩沖工作方式1。只要數(shù)據(jù)dac0832 寫入8位輸入鎖存器,就立即開始轉(zhuǎn)換。雙緩沖方式即將對8位dac寄存器與對鎖存器的控制分開進行,占用的i/o 口相 對較大。根據(jù)以上分析,此次設(shè)計選取單緩沖方式。如圖13所示。jquti地址譯碼器圖13 dac0832單緩沖方式的連接2.6顯zf電路顯示電路分為3部分,分別為led燈顯示,led數(shù)碼管顯示,最后還有示波器顯 示。 led燈顯示本次設(shè)計共用了 4個led燈,分別表示示波器上顯示了對應的波形,單片機的 p2. 4p2. 7分別控制相應燈的亮滅。屯路圖如圖14所示。vgc圖14電路圖 led數(shù)碼管顯示

15、本次led數(shù)碼管的作用是用來顯示相應輸出信號的頻率。led數(shù)碼管顯示電路盡管其所能顯示的信息簡單,但由于其清晰、亮度高使用吋間 長和所需電壓要求低等優(yōu)勢,在單片機應用中有著應用頻率較高。led數(shù)碼管顯示器是簡單地發(fā)光二級管按特定的電路連接起來的顯示性器件。而我 們在一些單片機設(shè)計中常用的是8段式的led數(shù)碼管顯示器,其分為兩類,共陰和共陽 之分。其結(jié)構(gòu)如圖所示。本次設(shè)計采用共陰方式。e d com c dpdpodp外形和引腳共陽極結(jié)構(gòu)gnu com共陰極結(jié)構(gòu)圖15 led數(shù)碼管結(jié)構(gòu)圖常用數(shù)字和字符的編碼如下表:表1常川寧段編碼表顯示字符共陰極字段碼共陽極字段碼顯示字符共陰極字段碼共陽極字段碼

16、03fhcohc39hc6h106hf9hd5eha1h25bha4he79h86h34fhbohf7ih8eh466h99hp73h8ch56dh92hu3ehc1h67dh82ht3ihceh707hf8hy6eh91h87fh80hl38hc7h96fh90h8.ffh00ha77h88h“滅,00ffhb7ch83hled數(shù)碼管在顯示的方式上有動態(tài)顯示和靜態(tài)顯示兩種方法。當led靜態(tài)顯示時,公共端接地或接電源,根據(jù)共陰述是共陽決定。但每一段的段 選段都要與i/o接口連接。這種方式結(jié)構(gòu)簡單,程序也簡單易理解。但缺點也因此點而 來,一個數(shù)碼管就要8個i/o 口,數(shù)碼管若多有幾個,則就會占用

17、很多i/o 口。而當led采取動態(tài)顯示吋,是將所有數(shù)碼管的段選段并接在一起的,用公共的i/o 控制端,公共端不接地或是電源,而是連接i/o 口,實現(xiàn)位選,即選取那個數(shù)碼管亮, 幾個數(shù)碼管輪流顯示相應信息,這樣不斷循環(huán)。根據(jù)人限短暫滯留性,當循環(huán)周期足夠 快時,看著就像幾個一起顯示的。此種方式優(yōu)點是所用i/o 口少,線路較簡單,但軟件 與cpu的占用較大。一般當所用led顯示器的個數(shù)少吋用靜態(tài)顯示。反之則用動態(tài)顯示。木次設(shè)計采取 了動態(tài)顯示的方案完成顯示工作。led動態(tài)顯示方式如圖16所示。1/0(1)1/0(2)圖16 led動態(tài)顯示2.7放大電路設(shè)計可知,單片機出來的信號經(jīng)d/a轉(zhuǎn)換后的模擬

18、信號也只是電流信號,所以要將次電 流信號轉(zhuǎn)換為電壓信號。于是,需加上雙極性轉(zhuǎn)化電路。此電路需要兩個放大器,若干 電阻,英具體電路如圖17所示。12 8 9 7 n 11 ncswriwr2ile嚴7654 6 543<! <1 «1 «101234 5 67 i i n n i* il i i dddddddd2iooutvddvrefrfb1out1 /1out2 dac0832圖17雙極性轉(zhuǎn)化電路圖中第一個放大器的作用是將輸出的電流信號傳換成電壓信號,第二個運算放大器和兩電阻組成的是方向加法器。2.8整體的電路原理圖6009222創(chuàng)二口 創(chuàng)二匚i 邑.創(chuàng)二i

19、二i合=耳4!'§創(chuàng)二口cm*2y.22122r-><£ri氏匚sess2sss§ § § § y一diis-iso3s dm 4d iss a 25&sas2ssffi §52si£ £iiiid12jm20 £1i8£i1fr1isii1igi11i1i-;一2.9元件清單ay電"i 口 6 j 一 自二圖18整體仿真電路表2元器件元件名稱型號數(shù)竝/個用途單片機at89c511主控芯片品振12mhz1晶振電路電容30pf2晶振電路電解電容10u

20、f1復位電路電阻10k歐1復位電路開關(guān)button1復位電路開關(guān)button4選擇輸出集成塊dac08321d/a轉(zhuǎn)換集成塊lm3582運放電路集成塊74ls5731驅(qū)動電路數(shù)碼管共陰、藍色1顯示電路電阻10k歐、7k歐2運放電路滑動變阻器10k歐1運放電路電源+5v1提供電源排阻lk1顯示電路發(fā)光二級管紅色4顯示電路3軟件設(shè)計3.1程序流程圖圖19程序流程圖3.2程序代碼正弦波的代碼可分為256個數(shù)值,相應時段付相應值,這樣既可產(chǎn)生模擬的正弦波形,代碼如下sm256= (0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x?c,0x9f,0xa2,0

21、xa5,0xa8,ox ab,0xae,0xbl,0xb4,0xb7,0xba,0xbc,0xbf0xc2,0xc5,0xc7,0xc a,0xcc,0xcf0xdl ,0xd4,0xd6,0 xd8,0xda,0xdd,0xdf0xel,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef;0xfl,0xf2,0xf4,0xf5,0 xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xf0xfr,0xf0xf0xff,0xff;0xff,0xff,0xf f,0xff,0xf0xff,0xfe,0xfd,0xfd,0

22、xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf:l,0xf2,0xfl,0xe fi0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xel,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xdl,0xcf;0x cc,0xca,0xc7,0xc5,0xc2,0xbf0xbc,0xba,0xb7,0xb4,0xbl,0xae,0xab,0xa8,0xa5,0xa2,0x.?f0 x?c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x7

23、2,0x6f',0x6 c,0x69,0x66,0x63,0x60,0x5d,0x5 a,0x57,0x55,0x5 l,0x4e,0x4 c,0x48,0x45,0x43,0x40,0x3d, 0x.3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1 e,oxl c,oxl a,0xl 8,ox 16,0xl5,0xl3,0xll,0xl0,0x0e,0x0d,0x0b,0x0a,0x09,0x0&0x07,0x06,0x060x04,0x03,0x0 2,0x02,0x01,0x00,0x00,0x00

24、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x.0a,0x0b,0x0d,0x0e,0x10,0x 11,0x13,0x15 ,0x16,0x18,ox.l a,ox.l c,0x1 e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0 x3a,0x3d,0x40,0x43,0x45,0x4&0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,

25、0x63,0x66 ,0 x69,0x6c,0x6£0x72,0x76,0x79,0x7c,0x80 );正弦波碼卩單片機輸出正弦波三角波方波等信號的程序如下:按鍵s1按一下,輸出止弦波ifffun=l) 32da0832=tosmb;卄按鍵si按兩下,輸出三角波else if(fun=2)2if(c<128)da0832=c*2 elseda0832=(255-c)*2 www、*申屮按鍵si按三下,輸出方波else if(fun=3)vv7if(d<=128)da0832=0x00else da0832=0xff;www*/按鍵si按4下,輸岀鋸齒波else if(f

26、un=4)已+屮da0832=e;頻率顯示部分:當按鍵s4按下后,顯示頻率,頻率計算公式為th0=(65535-temp)/256;tl0=(65535-temp)%256;/temp定義為定時器定義時間f= (int)(1000000/(temp*256); /f 為頻率頻率控制部分:根據(jù)按鍵控制temp的值,頻率就會增大或減小。4系統(tǒng)仿真及調(diào)試4.1系統(tǒng)仿真圖正弦波如下圖20所示。圖20仿真正弦波形三角波如下圖21所示。圖21仿真三角波形方波波形如下圖22所示。圖22仿真方波波形鋸齒波波形如下圖23所示。圖23仿真鋸齒波波形4.2系統(tǒng)調(diào)試本次設(shè)計是函數(shù)信號發(fā)生器,所以所用元器件盡量與理論的器件相符,這樣是為 使謀差盡量減小。我們知道單片機的硬件調(diào)試與軟件調(diào)試是分不開的。信號沒有輸出 是冇很多方面的,許多硬件錯誤是可以結(jié)合微調(diào)軟件程序發(fā)現(xiàn)和糾正的。但是,從本 次設(shè)計的調(diào)試過程屮,可以發(fā)現(xiàn)硬件調(diào)試是最為重要和基礎(chǔ)的。因為若存在明顯的硬 件錯誤根本就不會有任何顯示結(jié)果,更別談軟件的調(diào)試了。硬件調(diào)試主要目的是把電路中各參數(shù)值調(diào)整到最設(shè)計的理想要求。最開始就是 要先確保設(shè)計的止確性。其次就是排除小障礙,優(yōu)化電路。參數(shù)值的取舍,短路斷 路虛焊等單片機是本次設(shè)計的核心,一定要確保其連接的正確性。比如接電源的40腳是 否為+5v,晶振是否作用,復位腳r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論