單片機函數(shù)信號發(fā)生器_第1頁
單片機函數(shù)信號發(fā)生器_第2頁
單片機函數(shù)信號發(fā)生器_第3頁
單片機函數(shù)信號發(fā)生器_第4頁
單片機函數(shù)信號發(fā)生器_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

河南城建學(xué)院本科畢業(yè)設(shè)計(論文)摘要.3106171.81061792220344.3523781.85237894222354.3930221.89302296224364.4325261.93252698226374.4708661.970866100228384.5080192.008019102230394.5439622.043962104232404.5786742.078674106234414.6121342.112134107235424.6443212.144321109237434.6752182.175218110238444.7048032.204803112240454.7330612.233061113241464.7599732.259973115243474.7855242.285524116244484.8096992.309699117245494.8324822.332482119247504.8538602.353860120248514.8738202.373820121249524.8923512.392351122250534.9094402.409440122250544.9250782.425078123251554.9392552.439255124252564.9519632.451963125253574.9631942.463194125253584.9729412.472941126254594.9811992.481199126254604.9879622.487962126254614.9932262.493226127255624.9969892.496989127255634.9992472.499247127255645.0000002.500000127255正弦波發(fā)生程序如下:if(fun==1){DA0832=tosin[b]/4*A;//正弦波b++;}三角波發(fā)生程序設(shè)計由于三角波的函數(shù)值比較容易計算,所以不必要像正弦波那樣還需用表格??芍苯油ㄟ^如下程序段實現(xiàn)。elseif(fun==2)//三角波{if(c<128)DA0832=c*2/4*A;elseDA0832=(255-c)*2/4*A;c++;}方波發(fā)生程序設(shè)計方波可直接由DAC0832產(chǎn)生,其發(fā)生程序如下:elseif(fun==3)//方波{d++;if(d<=128)DA0832=0x00;elseDA0832=0xff/4*A;}鋸齒波發(fā)生程序設(shè)計鋸齒波中的斜線用一個個小臺階來逼近,在一個周期內(nèi)從最小值開始逐步遞增,當(dāng)達到最大值后又回到最小值,如此循環(huán),當(dāng)臺階間隔很小時,波形基本上近似于直線。適當(dāng)選擇循環(huán)的時間,可以得到不同周期的鋸齒波。鋸齒波發(fā)生原理與方波類似,只是高低兩個延時的常數(shù)不同其發(fā)生程序如下:elseif(fun==4)//鋸齒波{e++;DA0832=e/4*A;}河南城建學(xué)院本科畢業(yè)設(shè)計(論文)仿真結(jié)果與分析仿真結(jié)果與分析仿真和編譯工具Proteus仿真軟件有了protel、Multisim、proteus、psice等一系列的軟件的存在,就此便可以以虛代實、以軟代硬,獨立建立一個完善的虛擬實驗室。代替了在實驗室和教室里的以實物進行實踐的方式,可以在計算機上學(xué)習(xí)電工基礎(chǔ),模擬電路、數(shù)字電路、單片機應(yīng)用系統(tǒng)等課程,并進行電路設(shè)計、仿真、調(diào)試等。因此這一系列的軟件受到廣大電子設(shè)計愛好者的青睞,是他們工作、學(xué)習(xí)上難得的工具軟件,也因此它們在全球得到了廣泛應(yīng)用。其中,Proteus軟件提供多達30多個元件庫,元件涉及到數(shù)字和模擬、交流和直流等,有RAM、ROM、鍵盤、馬達、LED、LCD、AD/DA、部分SPI器件、部分IC器件,編譯方面支持Keil和MPLAB等編譯器。它的功能強大,集電路設(shè)計、制版及仿真等多種功能于一身,不僅能夠?qū)﹄姽?、電子技術(shù)學(xué)科涉及的電路進行設(shè)計與分析,還能夠?qū)ξ⑻幚砥鬟M行設(shè)計和仿真,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。它還提供多種現(xiàn)實存在的虛擬儀器,這些儀表有極高的輸入阻抗、極低的輸出阻抗,可以盡可能減少儀器對測量結(jié)果的影響。此外,Proteus軟件還有圖形顯示功能,可以將線路上變化的信號以圖形的方式實時地顯示出來。對于單片機硬件電路和軟件的調(diào)試,Proteus提供了兩種方法:系統(tǒng)總體執(zhí)行效果和對軟件的分步調(diào)試。它還提供了比較豐富的測試信號用于電路的測試,這些測試信號包括模擬信號和數(shù)字信號。在用Proteus進行仿真和程序調(diào)試時,可以從工程的角度直接看程序運行和電路工作的過程和結(jié)果。它還提供SchematicDrawing、SPICE仿真與PCB設(shè)計功能,同時可以仿真PIC、AVR、51系列等常用的MCU,并提供周邊設(shè)備的仿真,例如示波器、373、led等。KEIL編譯軟件KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果使用C語言編程,那么Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會事半功倍。KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢,與匯編相比,C語言有明顯的優(yōu)勢,用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面,是一個非常實用的編譯軟件。仿真結(jié)果打開PROTEUS軟件,選擇所需器件連接導(dǎo)線,連接成功后的電路圖如圖4-1所示:圖4-1總體電路圖打開KEIL軟件,調(diào)出程序進行編譯,生成HEX文件,編譯窗口如圖4-2所示:圖4-2編譯窗口編譯后沒有錯誤就可以生成hex文件用于單片機仿真,采用PROTEUS進行單片機仿真,可以大大縮短單片機的開發(fā)周期。它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。以下為四種波形的仿真結(jié)果示例。正弦波仿真:頻率分別為31HZ和260HZ。仿真結(jié)果分別如圖4-3、4-4所示。圖4-3正弦波仿真輸出(31HZ)圖4-4正弦波仿真輸出(257HZ)三角波仿真:頻率60HZ,仿真結(jié)果如圖4-5所示。圖4-5三角波仿真輸出方波仿真:頻率86HZ,仿真結(jié)果如圖4-6所示。圖4-6方波仿真輸出鋸齒波仿真:頻率130HZ,仿真結(jié)果如圖4-7所示。圖4-7鋸齒波仿真輸出仿真分析本系統(tǒng)仿真結(jié)果,滿足設(shè)計需求。實際操作靈活,使用方便。通過按鍵來控制輸出不同的波形,在仿真輸出圖中可以看到,字母a、b、c、d分別對應(yīng)著正弦波、三角波、方波、鋸齒波,并可以利用頻率增大鍵和減小鍵來控制頻率的大小,同時可以通過調(diào)節(jié)電位器來控制波形的幅度。通過上述結(jié)果可以看到對應(yīng)不同頻率的不同波形。但是在仿真中由于DAC0832量化電平的緣故無法讓該波形發(fā)生器的頻率做的很高,同時頻率步進的最小值為一,使得信號波形發(fā)生器的精確度有所下降,這也是本次設(shè)計中的不足之處,但總體的設(shè)計基本滿足了設(shè)計的要求,順利完成了設(shè)計主要內(nèi)容。河南城建學(xué)院本科畢業(yè)設(shè)計(論文)參考文獻參考文獻[1]周明德.微型計算機系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2002[2]劉樂善.微型計算機接口技術(shù)及應(yīng)用[M].北京:航空航天大學(xué)出版社,2001[3]謝自美.電子線路設(shè)計·實驗·測試(第三版)[M].武漢:華中科技大學(xué)出版社,2006[4]朱清慧.張鳳蕊.Proteus教程--電子線路設(shè)計制版與仿真[M].北京:清華大學(xué)出版社[5]康華光.模擬電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2006[6]楊翠娥.高頻電子線路實驗與課程設(shè)計[M].哈爾濱:哈爾濱工程大學(xué)出版社,2001[7]張秀國.單片機C語言程序設(shè)計[M].北京:北京大學(xué)出版社,2008[8]鐘富昭.8051單片機典型模塊設(shè)計與應(yīng)用[M].北京:人民郵電出版社,2007[9]趙負圖.傳感器集成電路手冊(第一版)[M].化學(xué)工業(yè)出版社,2004[10]丁新民.微機原理與應(yīng)用[M].高等教育出版社,2008[11]張洪潤,易濤編著.單片機應(yīng)用技術(shù)教程(第二版)[M].北京:清華大學(xué)出版,2003[12]劉坤等編著.51單片機C語言應(yīng)用開發(fā)技術(shù)大全[M].人民郵電出版社,2008[13]潘新民,王燕芳編著.微型計算機控制技術(shù)[M].北京:電子工業(yè)出版社,2004[14]全國大學(xué)生電子設(shè)計競賽組委會編.第五屆全國大學(xué)生電子設(shè)計競賽獲獎作品選編[M].北京:北京理工大學(xué)出版社,2003[15]楊寧編著.單片機與控制技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005[16]Tyler,B.Digital.voltmeters[J].Students’QuarterlyJournal,1964,(138)[17]Bakken,Christopher.Proteus[J].ParisReview,2000,(157)[18]Krause,P.H..ThePROTEUSProject[J].TechnologicalForecastingandSocialChange,2002,(5)河南城建學(xué)院本畢業(yè)設(shè)計(論文)致謝致謝通過本次畢業(yè)設(shè)計,我感到自己應(yīng)用基礎(chǔ)知識及專業(yè)知識解決問題的能力有了很大的提高。并且這次畢業(yè)設(shè)計的選題,是一個實際應(yīng)用工程。開始的時候由于沒有經(jīng)驗,不知如何下手,所以就去圖書館找了一些書看,盡管有許多的設(shè)計方案,可是總感覺自己還是有許多的東西弄不太清楚,于是就向老師和同學(xué)請教。經(jīng)過他們的解釋分析各方案之后,我決定用查表的方法來做,這樣可以降低一些硬件設(shè)計的難度,初次設(shè)計應(yīng)切合自己的水平。用8031需要擴展ROM,這樣還要進行存儲器擴展。而且現(xiàn)在8031實際中已經(jīng)基本上不再使用,實際用的AT89S51芯片有ROM,這樣把經(jīng)過采樣得到的數(shù)值制成表,利用查表來做就簡單了。我認為程序應(yīng)該不大,片內(nèi)ROM應(yīng)該夠用的。用LED顯示頻率和幅值,現(xiàn)有集成的接口驅(qū)動芯片,波形可通過示波器進行顯示,單片機接上D/A轉(zhuǎn)換芯片即可,這樣硬件很快就搭好了。首先,我要感謝的是我的指導(dǎo)老師陳英老師。陳老師在我做畢業(yè)設(shè)計的每個階段,都給予我耐心的指導(dǎo)和幫助??梢哉f,沒有陳老師的耐心指導(dǎo)和幫助,我是不可能順利完成我的畢業(yè)設(shè)計的。另外,陳老師嚴謹?shù)闹螌W(xué)態(tài)度以及對待學(xué)生極端負責(zé)的精神,給我留下很深的印象,并將積極影響我今后的學(xué)習(xí)和工作。其次,我要感謝我的父母。父母為了我的成長,一直在背后默默的付出和辛勤的工作,他們的養(yǎng)育之恩,我將用自己的一生去回報。再次,感謝電信1班的兄弟姐妹們,是他們陪伴我度過愉快的大學(xué)四年生活!總之,感謝每一位關(guān)心過我,愛護過我的人。滴水之恩,當(dāng)涌泉相報。最后,再次感謝我的指導(dǎo)老師陳英老師。河南城建學(xué)院本科畢業(yè)設(shè)計(論文)附錄A附錄A:源程序#include<reg52.h>#include<absacc.h>#defineucharunsignedchar#defineDA0832XBYTE[0xffff]ucharcodetab[14]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e};ucharcodenum[768]={2,5,7,2,5,6,2,5,5,2,5,4,2,5,3,2,5,2,2,5,1,2,5,0,2,4,9,2,4,8,2,4,7,2,4,6,2,4,5,2,4,4,2,4,3,2,4,2,2,4,1,2,4,0,2,3,9,2,3,8,2,3,7,2,3,6,2,3,5,2,3,4,2,3,3,2,3,2,2,3,1,2,3,0,2,2,9,2,2,8,2,2,7,2,2,6,2,2,5,2,2,4,2,2,3,2,2,2,2,2,1,2,2,0,2,1,9,2,1,8,2,1,7,2,1,6,2,1,5,2,1,4,2,1,3,2,1,2,2,1,0,2,0,9,2,0,8,2,0,7,2,0,6,2,0,5,2,0,4,2,0,3,2,0,2,2,0,1,2,0,0,1,9,9,1,9,8,1,9,7,1,9,6,1,9,5,1,9,4,1,9,3,1,9,2,1,9,1,1,9,0,1,8,9,1,8,8,1,8,7,1,8,6,1,8,5,1,8,4,1,8,3,1,8,2,1,8,1,1,8,0,1,7,9,1,7,8,1,7,7,1,7,6,1,7,5,1,7,4,1,7,3,1,7,2,1,7,1,1,7,0,1,6,9,1,6,8,1,6,7,1,6,6,1,6,5,1,6,4,1,6,3,1,6,2,1,6,1,1,6,0,1,5,9,1,5,8,1,5,7,1,5,6,1,5,5,1,5,4,1,5,3,1,5,2,1,5,1,1,5,0,1,4,9,1,4,8,1,4,7,1,4,6,1,4,5,1,4,4,1,4,3,1,4,2,1,4,1,1,4,0,1,3,9,1,3,8,1,3,7,1,3,6,1,3,5,1,3,4,1,3,3,1,3,2,1,3,1,1,3,0,1,2,9,1,2,8,1,2,7,1,2,6,1,2,5,1,2,4,1,2,3,1,2,2,1,2,1,1,2,0,1,1,9,1,1,8,1,1,7,1,1,6,1,1,5,1,1,4,1,1,3,1,1,2,1,1,1,1,1,0,1,0,9,1,0,8,1,0,7,1,0,6,1,0,5,1,0,4,1,0,3,1,0,2,1,0,1,1,0,0,0,9,9,0,9,8,0,9,7,0,9,6,0,9,5,0,9,4,0,9,3,0,9,2,0,9,1,0,9,0,0,8,9,0,8,8,0,8,7,0,8,6,0,8,5,0,8,4,0,8,3,0,8,2,0,8,1,0,8,0,0,7,9,0,7,8,0,7,7,0,7,6,0,7,5,0,7,4,0,7,3,0,7,2,0,7,1,0,7,0,0,6,9,0,6,8,0,6,7,0,6,6,0,6,5,0,6,4,0,6,3,0,6,2,0,6,1,0,6,0,0,5,9,0,5,8,0,5,7,0,5,6,0,5,5,0,5,4,0,5,3,0,5,2,0,5,1,0,5,0,0,4,9,0,4,8,0,4,7,0,4,6,0,4,5,0,4,4,0,4,3,0,4,2,0,4,1,0,4,0,0,3,9,0,3,8,0,3,7,0,3,6,0,3,5,0,3,4,0,3,3,0,3,2,0,3,1,0,3,0,0,2,9,0,2,8,0,2,7,0,2,6,0,2,5,0,2,4,0,2,3,0,2,2,0,2,1,0,2,0,0,1,9,0,1,8,0,1,7,0,1,6,0,1,5,0,1,4,0,1,3,0,1,2,0,1,1,0,1,0,0,0,9,0,0,8,0,0,7,0,0,6,0,0,5,0,0,4,0,0,3,0,0,2,0,0,1};ucharcodetosin[256]={0x7F,0x82,0x85,0x88,0x8B,0x8F,0x92,0x95,0x98,0x9B,0x9E,0xA1,0xA4,0xA7,0xAA,0xAD,0xB0,0xB3,0xB6,0xB8,0xBB,0xBE,0xC1,0xC3,0xC6,0xC8,0xCB,0xCD,0xD0,0xD2,0xD5,0xD7,0xD9,0xDB,0xDD,0xE0,0xE2,0xE4,0xE5,0xE7,0xE9,0xEB,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFB,0xFC,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFC,0xFB,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEB,0xE9,0xE7,0xE5,0xE4,0xE2,0xE0,0xDD,0xDB,0xD9,0xD7,0xD5,0xD2,0xD0,0xCD,0xCB,0xC8,0xC6,0xC3,0xC1,0xBE,0xBB,0xB8,0xB6,0xB3,0xB0,0xAD,0xAA,0xA7,0xA4,0xA1,0x9E,0x9B,0x98,0x95,0x92,0x8F,0x8B,0x88,0x85,0x82,0x7F,0x7C,0x79,0x76,0x73,0x6F,0x6C,0x69,0x66,0x63,0x60,0x5D,0x5A,0x57,0x54,0x51,0x4E,0x4B,0x48,0x46,0x43,0x40,0x3D,0x3B,0x38,0x36,0x33,0x31,0x2E,0x2C,0x29,0x27,0x25,0x23,0x21,0x1E,0x1C,0x1A,0x19,0x17,0x15,0x13,0x12,0x10,0x0F,0x0D,0x0C,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0C,0x0D,0x0F,0x10,0x12,0x13,0x15,0x17,0x19,0x1A,0x1C,0x1E,0x21,0x23,0x25,0x27,0x29,0x2C,0x2E,0x31,0x33,0x36,0x38,0x3B,0x3D,0x40,0x43,0x46,0x48,0x4B,0x4E,0x51,0x54,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x73,0x76,0x79,0x7C};ucharfun=1,b=0,c=0,d=0,e=0,tl,th,flag=0;sbitP3_0=P3^0;sbitP3_1=P3^1;sbitP3_2=P3^2;sbitP2_7=P2^7;ucharde1,de2;ucharA=4;voidkey1(void);voidkey2(void);voidkey3(void);voidkey4(void);voiddelay(uchark);voidmain(void){TMOD=0X01;th=0xff;tl=0xe8;TH0=th;TL0=tl;ET0=1;EA=1;EX1=1;PX1=1;IT1=1;TR0=1;while(1){P3_0=0;P3_1=1;P3_2=0;if(num[flag*3]!=0){P1=tab[num[flag*3]];delay(1);}P1=0;P3_0=1;P3_1=0;P3_2=0;P1=tab[num[flag*3+1]];delay(1);P1=0;P3_0=0;P3_1=0;P3_2=0;P1=tab[num[flag*3+2]];delay(1);P1=0;P3_0=1;P3_1=1;P3_2=0;P1=tab[fun+9];delay(1);P1=0;}}voiddelay(uchark){for(de1=0;de1<10;de1++)for(de2=0;de2<k;de2++){;}}voidkey1(void)//1鍵選擇發(fā)波類型,1為正弦波,2為三角波,3為方波,4鋸齒波{fun++;if(fun==5) fun=0x01; }voidkey2(void)//2鍵加大頻率{ tl+=0x1; if

溫馨提示

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

評論

0/150

提交評論