基于單片機的正弦波信號發(fā)生器的設計論文_第1頁
基于單片機的正弦波信號發(fā)生器的設計論文_第2頁
基于單片機的正弦波信號發(fā)生器的設計論文_第3頁
基于單片機的正弦波信號發(fā)生器的設計論文_第4頁
基于單片機的正弦波信號發(fā)生器的設計論文_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

南京交通職業(yè)技術學院PAGEPAGE16畢業(yè)設計論文題目:基于單片機的正弦波信號發(fā)生器的設計系部:電子信息工程系專業(yè)名稱:電子信息工程技術班級:08431學號:33完成時間:2011年5月12日基于單片機的正弦波信號發(fā)生器的設計摘要:信號發(fā)生器的應用越來越廣,對信號發(fā)生器的頻率穩(wěn)定度、頻譜純度、頻率范圍和輸出信號的頻率微調分辨率提出越來越高的要求,普通的頻率源已經(jīng)不能滿足現(xiàn)代電子技術的高標準要求。因而本設計采用了AT89C51單片機為控制核心,通過D/A轉換器DAC0832將數(shù)字信號轉換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)生1HZ—180HZ的正弦波波形。通過鍵盤來控制波形頻率變化,并通過液晶屏1602顯示其波形以及頻率和幅度值的大小。關鍵字:信號發(fā)生器;AT89C51;D/A轉換器DAC0832BasedonSCMsinewavesignalgeneratordesignAbstract:Signalgeneratorusedmoreandmorewidely,tosignalgeneratorfrequencystability,thespectrumpurity,frequencyrangeandoutputsignalfrequencyfine-tuneresolutionhigherandhigherdemandsareproposed,theaveragefrequencysourcecannothavesatisfiedthehighstandardrequirementofmodernelectronictechnology.SothisdesignUSESAAT89C51ascontrolcore,throughtheD/AconverterDAC0832convertsdigitalsignalsintoanalogsignals,filterandamplification,finallyshownbyoscilloscope1HZ-180HZ,canproducethesinewave.Throughthekeyboardtocontrolthewaveformfrequencyvariation,andthroughtheLCDdisplayofthewaveformand1602frequencyandamplitudevaluesofsize.Keyword:Signalgenerator;AT89C51;D/AconverterDAC0832目錄1、概述 42、系統(tǒng)設計 42.1設計構思 42.2方案設計與論證 42.2.1信號發(fā)生電路方案論證 42.2.2單片機的選擇論證 52.2.3、顯示方案論證 52.2.4、鍵盤方案論證 53、總體系統(tǒng)設計 53.1、硬件實現(xiàn)及單元電路設計 63.1.1單片機最小系統(tǒng)的設計 63.1.2、波形產(chǎn)生模塊的設計 73.1.3、顯示模塊的設計 73.2、系統(tǒng)軟件的設計流程 83.2.1、keiluvision3開發(fā)環(huán)境簡介 93.2.2、proteus7.5軟件簡介 103.2.3、keiluvision3與proteus7.5聯(lián)機調試簡介 104.輸出波形的檢查與頻率的調試 104.1測試儀器及測試說明 104.2測試結果 115、結束語 12參考文獻 13致謝 14附錄 15PAGE1PAGE11、概述波形發(fā)生器作為電子技術領域中最基本的電子儀器,廣泛應用于航空航天測控、通信系統(tǒng)、電子對抗、電子測量、科研等各個領域中。隨著電子信息技術的發(fā)展,對其性能的要求也越來越高,如要求頻率穩(wěn)定性高、轉換速度快,具有調幅、調頻、調相等功能。傳統(tǒng)的LC、RC振蕩電路就不可以滿足上述的要求了,而基于單片機的信號發(fā)生器就可以有效的解決上述問題了。單片機的最小系統(tǒng)結構簡單而且又是通過程序控制信號的發(fā)生,這樣就可以通過編程來產(chǎn)生正弦波、方波、三角波等波形?;趩纹瑱C的信號發(fā)生器的設計,不僅解決了波形類型的選擇、頻率和幅度的調節(jié)等,而且還通過lcd顯示屏能夠將信號發(fā)生器產(chǎn)生波形的頻率準確的顯示出來。2、系統(tǒng)設計經(jīng)過研究考慮,確定方案:以AT89C51單片機為控制核心,再通過D/A轉換器DAC0832將數(shù)字信號轉換成模擬信號,濾波放大,最終由示波器顯示出來,通過鍵盤來控制波形的選擇和頻率的變化,最終輸出顯示其各自的類型以及數(shù)值。2.1設計構思1)利用單片機采用軟件設計方法產(chǎn)生正弦波2)鍵盤選擇波形類型3)波形頻率可調4)顯示波形及其頻率2.2方案設計與論證2.2.1、信號發(fā)生電路方案論證DAC0832是8位全MOS中速D/A轉換器,采用R—2RT形電阻解碼網(wǎng)絡,轉換結果為一對差動電流輸出,轉換時間大約為1us。使用單電源+5V―+15V供電。參考電壓為-10V-+10V。在此我們直接選擇+5V作為參考電壓。DAC0832有三種工作方式:直通方式,單緩沖方式,雙緩沖方式。2.2.2、單片機的選擇論證AT89C51單片機是一種高性能8位單片微型計算機。它把構成計算機的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構成較為完整的計算機、而且其價格便宜。2.2.3、顯示方案論證方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺暫留特性,當每只數(shù)碼管顯示的時間間隔小于1/16S時人眼感覺不到閃動,看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容過多,而且數(shù)碼管不能顯示字母。方案二:采用LCD液晶顯示器1602.其功率小,效果明顯,顯示編程容易控制,可以顯示字母。以上兩種方案綜合考慮,選擇方案二。2.2.4、鍵盤方案論證采用簡單的撥動開關。撥動開關簡單方便,操作簡單,但存在抖動的現(xiàn)象,對芯片會產(chǎn)生一定的影響。3、總體系統(tǒng)設計該系統(tǒng)采用單片機作為數(shù)據(jù)處理及控制核心,由單片機完成人機界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案,將設計任務分解為按鍵電路、液晶顯示電路等模塊。圖(1)為系統(tǒng)的總體框圖:主控芯片AT89C51主控芯片AT89C51開關顯示D/A0832放大輸出圖1:系統(tǒng)總體框圖3.1、硬件實現(xiàn)及單元電路設計3.1.1、單片機最小系統(tǒng)的設計AT89C51是片內(nèi)有ROM/EPROM的單片機,因此,這種芯片構成的最小系統(tǒng)簡單﹑可靠。用AT89C51單片機構成最小應用系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,如圖(2)AT89C51單片機最小系統(tǒng)所示。由于集成度的限制,最小應用系統(tǒng)只能用作一些小型的控制單元。圖2:AT89C51單片機最小系統(tǒng)3.1.2、波形產(chǎn)生模塊的設計由單片機為控制中心用編程方法產(chǎn)生波形,通過D/A轉換器DAC0832再經(jīng)過濾波放大后輸出。其電路圖如下圖3:波形產(chǎn)生電路如上圖所示,單片機的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0832的輸出端接放大器,經(jīng)過放大后輸出所要的波形。3.1.3、顯示模塊的設計通過液晶1602顯示輸出的波形、頻率,其電路圖如下:圖4:液晶顯示如上圖所示,1602的八位數(shù)據(jù)端接單片機的P1口,其三個使能端RS、RW、E分別接單片機的P3.2—P3.4。通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。3.1.4、鍵盤模塊的設計本系統(tǒng)采用兩個撥動開關來調節(jié)由單片機產(chǎn)生的正弦波的頻率,其連接電路如下:圖5:撥動開關圖中UP開關,每閉合一次,正弦波的頻率將增加1HZ。與之功能相似的DOWN開關則是使產(chǎn)生的正弦波的頻率降低1HZ。3.2、系統(tǒng)軟件的設計流程本系統(tǒng)采用AT89C51單片機,用編程的方法來產(chǎn)生正弦波,并通過編程來調節(jié)正弦波波形的輸出頻率。軟件設計的流程圖如下:初始化定時器、液晶初始化定時器、液晶顯示器和預置處理開始正弦波控制程序幅度調節(jié)結束頻率調節(jié)液晶顯示屏萬用表圖6:軟件設計流程圖3.2.1、keiluvision3開發(fā)環(huán)境簡介KeilSoftware公司推出的uVision3是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時也是PK51及其它開發(fā)套件的一個重要組件。除增加了源代碼、功能導航器、模板編輯以及改進的搜索功能外,uVision3還提供了一個配置向導功能,加速了啟動代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標MCU,包括指令集、片上外圍設備及外部信號等。uVision3提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設狀態(tài)變化下的程序變量。uVision3提供對多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。3.2.2、proteus7.5軟件簡介Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現(xiàn)象。3.2.3、keiluvision3與proteus7.5聯(lián)機調試簡介KeilC與Proteus聯(lián)機調試準備工作在一臺電腦上聯(lián)機兩個軟件為例。首先進行KeiluVision3軟件和ProteusVersion7.1軟件,分別進行安裝。a.到官方網(wǎng)站下載一個vdmadi.exe,安裝路徑選擇KeiluVision3的安裝目錄(E:\ProgramFiles\Keil)。安裝完成。b.Proteus里DEBUG-->(選擇)useremotedebugmonitor。進入KEIL的project菜單optionfortarget'工程名'。在DEBUG選項中右欄上部的選擇Use并在下拉菜選中ProteusVSMSimulator。在進入seting,如果同一臺機IP名為,如不是同一臺機則填另一臺的IP地址。端口號一定為8000。注意:可以在一臺機器上運行keil,另一臺中運行proteus進行遠程仿真。c.KEIL的編譯程序和Proteus的文件一定要放在同一個文件夾中。d.單擊仿真運行開始按鈕,KeilC與Proteus連接仿真調試4.輸出波形的檢查與頻率的調試4.1測試儀器及測試說明測試儀器:示波器、數(shù)字萬用表測試說明:正弦波的輸出,通過UP開關及DOWN開關來實現(xiàn)正弦波波形頻率的改變,調節(jié)滑動變阻器RV1來實現(xiàn)幅度的調控。測試過程;打開keiluvision3和proteus軟件后,導入寫好的程序以及模擬仿真電路后,通過兩個軟件的聯(lián)調,進行正弦波的模擬仿真測試。程序經(jīng)過初始化,液晶屏上只顯示“wave:”和“f:“,然后便顯示出波形類型以及頻率的大小。正弦波的頻率可調范圍在1—180HZ之間。正弦波波形仿真圖如下:4.2測試結果各項指標均能達到要求1)、能很好的產(chǎn)生正弦波2)、波形的頻率可以調節(jié),頻率范圍在1—180HZ之間3)、顯示部分基本實現(xiàn)4)、UP及DOWN開關基本能實現(xiàn)其功能5、結束語通過這次畢業(yè)設計,使我深刻地認識到學好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的現(xiàn)實意義。本次的設計是對大學三年所學知識的一次系統(tǒng)的檢驗,進一步加深了我們對專業(yè)知識的理解和提高我們的動手能力。雖然本次的畢業(yè)設計基本上可以達到要求,但其中也存在著很多的問題,例如液晶屏顯示頻率,頻率增大時,液晶屏顯示的頻率卻變小,這主要是程序的編寫有點問題,改正之后應該能夠解決這樣的問題。此次的畢業(yè)設計作品還有很多不完善的地方,我相信在以后的工作和學習中能夠徹底的解決這樣不完善。參考文獻【1】周國運主編.《單片機原理及應用(C語言版)(21世紀高等院校規(guī)劃教材)》中國水利水電出版社,2009【2】張毅剛、彭喜元主編.《單片機原理及接口技術》.人民郵電出版社,2008【3】孫俊喜主編.《LCD驅動電路、驅動程序設計及典型應用》.人民郵電出版社,2009【4】殷瑞祥主編.《電路與模擬電子技術》.高等教育出版社,2003致謝在此論文撰寫過程中,要特別感謝我的老師鄭老師的指導與督促,同時感謝她的諒解與包容。沒有鄭老師的幫助也就沒有今天的這篇論文。求學歷程是艱苦的,但又是快樂的。感謝我的班主任鄭老師,謝謝她在這三年中為我們?nèi)嗨龅囊磺校磺蠡貓?,無私奉獻的精神很讓我感動,再次向她表示由衷的感謝。在這三年的學期中結識的各位生活和學習上的摯友讓我得到了人生最大的一筆財富。在此,也對他們表示衷心感謝。謝謝我的父母,沒有他們辛勤的付出也就沒有我的今天,在這一刻,將最崇高的敬意獻給你們!本文參考了大量的文獻資料,在此,向各學術界的前輩們致敬!附錄1、附圖總體原理設計圖2、源程序#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineuintunsignedintsbitlcdrw=P3^3;sbitlcdrs=P3^2;sbitlcde=P3^4;sbitcs=P3^5;sbitwr=P3^6;uchara,n;#definedac1XBYTE[0xdfff] //X軸0832一級瑣存地址unsignedcharcodetype[256]={0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c};unsignedchari,j;unsignedintcounter,step;sbitkey_up=P2^0;sbitkey_dw=P2^1;//定時器0初始化 voiddelay(uintz) //延時子程序{uchara,b;for(a=z;a>0;a--)for(b=110;b>0;b--);}voiddelay1(uinty){uinti;for(i=y;i>0;i--);}voidwrite_com(ucharcom) //1602寫指令{ lcdrs=0; P1=com; delay(5); lcde=1; delay(5); lcde=0;}voidwrite_data(uchardate) //1602數(shù)據(jù){ lcdrs=1; P1=date; delay(5); lcde=1; delay(5); lcde=0;}voidinit() //初始化{lcdrw=0;lcde=0;wr=0;cs=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x00); write_data(0x77);//寫wave:write_data(0x61);write_data(0x76);write_data(0x65);write_data(0x3a);write_com(0x80+0x40); //寫f:write_data(0x66);

溫馨提示

  • 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

提交評論