多功能信號發(fā)生器設計_第1頁
多功能信號發(fā)生器設計_第2頁
多功能信號發(fā)生器設計_第3頁
多功能信號發(fā)生器設計_第4頁
多功能信號發(fā)生器設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機與接口技術課程設計(論文)多功能信號發(fā)生器設計院(系)名稱電子與信息工程學院專業(yè)班級通信122學號120學生姓名指導教師起止時間:2015.7.4—2015.7.13課程設計(論文)任務及評語院(系):電子與信息工程學院教研室:通信工程學號學生姓名專業(yè)班級通信122課程設計(論文)題目多功能信號發(fā)生器設計課程設計(論文)任務完成多功能信號發(fā)生器的硬件和軟件設計。任務包括:1、系統(tǒng)硬件框圖設計說明2、采用單片機和D/A轉(zhuǎn)換器設計多種信號發(fā)生器,可輸出鋸齒波、三角波、方波;3、輸出信號電壓范圍為0~5V,分辨率為0.02V,頻率10~1KHz;4、可按鍵設置輸出波形、頻率;同時具有信號參數(shù)顯示功能。5、在keil中完成程序的編輯和調(diào)試;6、通過keil和proteus進行聯(lián)合仿真。指導教師評語及成績平時成績:答辯成績:論文成績:總成績:指導教師簽字:年月日注:平時成績占20%,答辯成績占40%,論文成績占40%。本科生課程設計(論文)第2章信號發(fā)生器的設計2.1設計原理數(shù)字信號可以通過數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,因此可通過產(chǎn)生數(shù)字信號再轉(zhuǎn)換成模擬信號的方法來獲得所需要的波形。89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及、數(shù)模轉(zhuǎn)換及波形輸出、放大電路等部分,即可構成所需的波形發(fā)生器。89C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉(zhuǎn)換和信號幅度的調(diào)節(jié)。當數(shù)字信號電路到達轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號也就是所需要的輸出波形。采用AT89S52單片機和DAC0832芯片,直接連接鍵盤和顯示。該種方案主要對AT89S52單片機的各個I/O口充分利用。P1口是連接鍵盤,P0口接顯示電路,P2口連接DAC0832輸出波形。這樣總體來說,能對單片機各個接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本。也對按照系統(tǒng)便攜式低頻信號發(fā)生器的要求所完成。占用空間小,使用芯片少,低功耗。2.2設計思路課設需要各個波形的基本輸出。如輸出正弦波、方波、鋸齒波、三角波。這些波形的實現(xiàn)的具體步驟:(1)方波:按照設定的周期值將輸出的電壓改變即可。(2)鋸齒波:也使用查表法。將三角波的一個周期(360度)分為256個點,相鄰點等差,生成數(shù)組。反復輸出前128個數(shù)據(jù)到DAC0832,就可以在系統(tǒng)輸出端得到想要的鋸齒波。(3)三角波:將(2)中的數(shù)組256個數(shù)據(jù)全部輸出到DAC0832,循環(huán),就可以在系統(tǒng)輸出端得到想要的三角波。通過P1口和輕觸開關S1-S4相連接來切換波形輸出。用P0口控制數(shù)碼管靜態(tài)顯示波形代號。用P2口向DAC0832發(fā)送數(shù)據(jù),經(jīng)DAC0832轉(zhuǎn)換后,再把信號放大,最后接到示波器上顯示。2.3功能原理框圖波形輸出波形輸出P1P2P0AT89S52鍵盤控制數(shù)碼管顯示DAC0832運放圖2.1電路總框圖如框圖2.1,其中單片機通過P2口與數(shù)模轉(zhuǎn)換部分DAC0832的數(shù)據(jù)端口D0-D7相連,作為數(shù)字輸出。通過鍵盤控制來改變波形,調(diào)節(jié)幅值和頻率大小。

第3章信號發(fā)生器電路與仿真3.1D/A轉(zhuǎn)換電路圖3.1電路原理圖如圖3-1所示,待轉(zhuǎn)換的8位數(shù)字量由芯片的8位數(shù)據(jù)輸入線D10~D17輸入,經(jīng)DAC0832轉(zhuǎn)換后,通過2個電流輸出端IOUT1和IOUT2輸出,IOUT1是邏輯電平為"1"的各位輸出電流之和,IOUT2是邏輯電平為"0"的各位輸出電流之和。DAC0832由8位輸入寄存器、8位DAC寄存器和8位D/A轉(zhuǎn)換電路組成。輸入寄存器和DAC寄存器作為雙緩沖,因為在CPU數(shù)據(jù)線直接接到DAC0832的輸入端時,數(shù)據(jù)在輸入端保持的時間僅僅是在CPU執(zhí)行輸出指令的瞬間內(nèi),輸入寄存器可用于保存此瞬間出現(xiàn)的數(shù)據(jù)。有時,微機控制系統(tǒng)要求同時輸出多個模擬量參數(shù),此時對應于每一種參數(shù)需要一片DAC0832,每片DAC0832的轉(zhuǎn)換時間相同,就可采用DAC寄存器對CPU分時輸入到輸入寄存器的各參數(shù)在同一時刻開始鎖存,進而同時產(chǎn)生各模擬信號。DAC0832的數(shù)據(jù)輸出方式在微機應用系統(tǒng)中,通常使用的是電壓信號,而DAC0832輸出的是電流信號,這就需要由運算放大器組成的電路實現(xiàn)轉(zhuǎn)換。其中有輸出電壓各自極性固定的單位性輸出和在隨動系統(tǒng)中輸出電壓有正負極性的雙極性輸出兩種輸出方式。DAC0832同CPU的連接。微處理器與DAC0832之間可以不加鎖存器,而是利用DAC0832內(nèi)部鎖存器,將CPU通過數(shù)據(jù)總線直接向DAC0832輸出的停留時間很短的數(shù)據(jù)保存,直至轉(zhuǎn)換結(jié)束。

3.2鍵盤顯示模塊的設計由于本系統(tǒng)所用按鍵少,所以采用獨立鍵盤,其連接電路圖如圖3.2:圖3.2鍵盤顯示電路圖中獨立鍵盤引出的四根線分別接單片機的P1.1、P1.2、P1.3、P1.7、P1.8,另一端接地。各開關的功能如下,接P1.2:控制顯示矩形波;接P1.3:控制顯示鋸齒波;接P1.4:控制顯示三角波;接P1.7:增大頻率;接P1.8:減小頻率。3.3信號發(fā)生器總電路圖P1口是連接鍵盤,P0口接顯示電路,P2口連接DAC0832輸出波形。這樣總體來說,能對單片機各個接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本。也對按照系統(tǒng)便攜式低頻信號發(fā)生器的要求所完成。占用空間小,使用芯片少,低功耗。如圖3.3所示:圖3.3實驗總電路第4章Proteus仿真結(jié)果當按下接P1.1口開關時,顯示矩形波,如圖4.1所示;圖4.1矩形波當按下接P1.2口開關時,顯示鋸齒波,如圖4.2所示;圖4.2鋸齒波當按下接P1.3口開關時,顯示三角波,如圖4.3所示;圖4.3三角波調(diào)節(jié)接P1.7,P1.8口開關,可控制波形頻率。調(diào)節(jié)開關,可得到較為清晰的波形圖:三角波,矩形波,鋸齒波,與實驗要求基本一致,如圖4.1,圖4.2,圖4.3。本仿真成功。第5章總結(jié)本次的設計中利用AT89C51和DAC0832以及放大器完成電路的設計,用開關來控制各種波形的轉(zhuǎn)換和波形頻率、占空比的調(diào)節(jié),用單片機輸出后,經(jīng)過數(shù)模轉(zhuǎn)換器生成波形,最終可以通過示波器觀察。在這次的軟件設計中,程序設計采用的是C語言。C語言簡潔高效,是最貼近硬件的高級編程語言,經(jīng)過多年的發(fā)展,現(xiàn)在已成熟為專業(yè)水平的高級語言。因此,在大型程序的設計中,多采用C語言進行程序編譯。而且,現(xiàn)在單片機產(chǎn)品推出時紛紛配套了C語言編譯器,應用廣泛。由于真正意義上的程序設計還不多,因此還不是很得心應手,所以在設計中遇到一些問題和一些難點。比如:在程序設計中如何實現(xiàn)程序結(jié)構的最優(yōu)化,以達到較高的質(zhì)量。這是以后設計中要注意的問題。 通過這次課程設計,我進一步了解了波形發(fā)生器的原理,在實際動手操作過程中,使我接觸了許多我以前沒接觸過的元件,而且重新溫習了剛學不久的C語言,使我學得了許多知識,使我獲益匪淺。這次課程設計,使我的動手能力得到了很大的提高,更使我們懂得理論知識的重要性,沒有理論的指導一切實際行動都是盲目的,且實際操作是我們得到的理論知識得到驗證,更能增加對理論知識的理解。本人簽字:

參考文獻[1]何立民.MCS-51系列單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,2010[2]韓全立,王建明.單片機控制技術及應用.北京:電子工業(yè)出版社,2004[3]徐仁貴.微型計算機借口技術及應用.北京:機械工業(yè)出版社,2005[4]房小翠,王金鳳.單片機使用系統(tǒng)設計技術.北京:國防工業(yè)出版社,2009[5]張毅坤.單片微型計算機原理及應用:西安電子科技大學出版社,2008[6]任為民.電子技術基礎課程設計.北京:中央廣播電視大學出版社,2011

附錄I信號發(fā)生器原理圖附錄II源程序#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedintsbits1=P1^1;sbits2=P1^2;sbits3=P1^3;sbits7=P1^6;sbits8=P1^7;uintd1,d2;uints,p;uintn;ucharcodejctab[128]={0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe};ucharcodesjtab[256]={0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,0xfe,0xfc,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,0xda,0xd8,0xd6,0xd4,0xd2,0xd0,0xce,0xcc,0xca,0xc8,0xc6,0xc4,0xc2,0xc0,0xbe,0xbc,0xba,0xb8,0xb6,0xb4,0xb2,0xb0,0xae,0xac,0xaa,0xa8,0xa6,0xa4,0xa2,0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,0x90,0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,0x80,0x7e,0x7c,0x7a,0x78,0x76,0x74,0x72,0x70,0x6e,0x6c,0x6a,0x68,0x66,0x64,0x62,0x60,0x5e,0x5c,0x5a,0x58,0x56,0x54,0x52,0x50,0x4e,0x4c,0x4a,0x48,0x46,0x44,0x42,0x40,0x3e,0x3c,0x3a,0x38,0x36,0x34,0x32,0x30,0x2e,0x2c,0x2a,0x28,0x26,0x24,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x14,0x12,0x10,0x0e,0x0c,0x0a,0x08,0x06,0x04,0x02,0x00};voiddelay(uchark){ucharj;while((k--)!=0){for(j=0;j<125;j++);//{;}}}voidzhengxian(){P2=sintab[n];n=n+p;if(n>=256) n=0;}voidfangbo(){P2=0xff;//方波delay(d1-p);P2=0;delay(d2-p);}voidjuchi(){P2=jctab[n];n=n+p;if(n>=127) n=0;}voidsanjiao(){P2=sjtab[n];n=n+p;if(n>=255) n=0;}voidboxingkey(){if(s1==0){P0=0xF9;s=1;n=0;p=4;}elseif(s2==0){P0=0xA4;s=2;n=0;p=4;}elseif(s3==0){P0=0xB0;s=3;n=0;p=4;}elseif(s4==0){P0=0x99;s=4;n=0;p=4; }elseif(s5==0)//占空比增加{delay(10);//延時消抖if(s5==0){d1--;d2++;} while(!s5);//松手檢測,當s5=1(松手)跳出死循環(huán) delay(10);//消抖 while(!s5);//確實松手了}elseif(s6==0)//占空比減小{delay(10);//延時消抖if(s6==0){d1++;d2--;} while(!s6);//松手檢測,當P1_0=1(松手)跳出死循環(huán)

溫馨提示

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

評論

0/150

提交評論