單片機函數波形發(fā)生器課程設計_第1頁
單片機函數波形發(fā)生器課程設計_第2頁
單片機函數波形發(fā)生器課程設計_第3頁
單片機函數波形發(fā)生器課程設計_第4頁
單片機函數波形發(fā)生器課程設計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東北石油大學課程設計課程單片機課程設計題目函數波形發(fā)牛器設計院 系電氣信息工程學院測控系專業(yè)班級測控技術與儀器 11 1學生姓名 任建偉學生學號 110601240123指導教師路敬祎張巖2014年7月8日東北石油大學課程設計任務書課程單片機課程設計題目函數波形發(fā)生器設計專業(yè) 測控技術與儀器姓名任建偉學號110601240123一、任務設計一款基于AT89C51單片機的函數波形發(fā)生器。二、設計要求要求:利用D/A芯片產生峰峰值為5V的鋸齒波、三角波、梯形波、正弦 波和方波。控制功能:使用5個撥動開關進行功能切換。當 K0接高電平時輸出鋸齒波;當K1接高電平輸出梯形波;當K2接高電平輸出三角波;

2、K3接高電平輸出正弦 波;K4接高電平輸出方波。使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、DAC0832、LM324、撥動開關 K0、K1、K2、K3、K4 等。輸出波形的驗證方法:使用示波器測量輸出波形。三、參考資料1 陳志旺,李亮。51單片機快速上手。機械工業(yè)出版社。2 薛定宇。控制系統(tǒng)計算及輔助設計一一 MATLAB語言與應用(第2版)。清華 大學出版社。3 鄒虹。單片機波形發(fā)生器的設計。重慶郵電學院學報。4 毅剛,彭喜元。單片機原理與應用設計。電子工業(yè)出版社 楊素行模擬電子技術基礎簡明教程(第三版)M.北京:高等教育出版社,2006.Alti

3、um DeSigner 原理圖與PCB設計M.北京:電子工業(yè)出版社 2009.完成期限2014630 至 2014.7.9指導教師路敬祎 張巖專業(yè)負責人曹廣華2014 年 6 月 30 日目錄第一章緒論 11.1課題背景 11.2本系統(tǒng)研究的國內外現(xiàn)狀 31.3本文主要研究內容和工作 3第二章方案論證 42.1 方案一純硬件設計法 42.2方案二純軟件設計法 52.3方案三軟硬件結合法5第三章系統(tǒng)硬件設計 73.1內部結構概述 73.2 P0P3 口結構及功能 83.3時鐘電路和復位電路 93.4系統(tǒng)硬件總體設計123.5 DAC0832的引腳及功能 123.6 74LS373的引腳及功能 1

4、33.7系統(tǒng)硬件原理 14第四章系統(tǒng)的軟件設計 164.1主程序流程圖 164.2波形的產生 17第五章系統(tǒng)調試與仿真結果 195.1 系統(tǒng)調試 195.2 仿真結果 19結論 21參考文獻 22附錄一程序 23附錄二 仿真效果圖 31Word資料第一章緒論1.1課題背景波形發(fā)生器是能夠產生大量的標準信號和用戶定義信號,并保證高精度、高穩(wěn)定性、可重復性和易操作性的電子儀器。函數波形發(fā)生器具有連續(xù)的相位變換、 和頻率穩(wěn)定性等優(yōu)點,不僅可以模擬各種復雜信號,還可對頻率、幅值、相移、 波形進行動態(tài)、及時的控制,并能夠與其它儀器進行通訊,組成自動測試系統(tǒng), 因此被廣泛用于自動控制系統(tǒng)、震動激勵、通訊和

5、儀器儀表領域。在70年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波,而函數發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準 波形,產生其它波形時需要采用較復雜的電路和機電結合的方法。這個時期的波形發(fā)生器多采用模擬電子技術,而且模擬器件構成的電路存在著尺寸大、價格貴、 功耗大等缺點,并且要產生較為復雜的信號波形,則電路結構非常復雜。同時, 主要表現(xiàn)為兩個突出問題,一是通過電位器的調節(jié)來實現(xiàn)輸出頻率的調節(jié),因此很難將頻率調到某一固定值;二是脈沖的占空比不可調節(jié)。在70年代后,微處理器的出現(xiàn),可以利用處理器、A/D和D/A ,硬件和軟件使波形發(fā)生器的功能擴大,產生更加復雜

6、的波形。這時期的波形發(fā)生器多以軟 件為主,實質是采用微處理器對 DAC的程序控制,就可以得到各種簡單波形。90年代末,出現(xiàn)幾種真正高性能、高價格的函數發(fā)生器、但是 HP公司推 出了型號為HP770S的信號模擬裝置系統(tǒng),它由 HP8770A任意波形數字化和 HP1776A波形發(fā)生軟件組成。HP8770A實際上也只能產生8中波形,而且價格 昂貴。不久以后,Analogic公司推出了型號為Data-2020的多波形合成器,LeCrOy公司生產的型號為9100的任意波形發(fā)生器等。到了二一世紀,隨著集成電路技術的高速發(fā)展,出現(xiàn)了多種工作頻率可過GHZ的DDS芯片,同時也推動了函數波形發(fā)生器的發(fā)展,200

7、3年,Agile nt的產品33220A能夠產生17種波形,最高頻率可達到20M,2005年的產品N6030A能夠產生高達500MHZ的頻率,采樣的頻率可達 1.25GHZ。由上面的 產品可以看出,函數波形發(fā)生器發(fā)展很快近幾年來,國際上波形發(fā)生器技術發(fā)展 主要體現(xiàn)在以下幾個方面:(1) 過去由于頻率很低應用的范圍比較狹小,輸出波形頻率的提高,使得波形發(fā)生器能應用于越來越廣的領域。波形發(fā)生器軟件的開發(fā)正使波形數據的輸入變得 更加方便和容易。波形發(fā)生器通常允許用一系列的點、直線和固定的函數段把波 形數據存入存儲器。同時可以利用一種強有力的數學方程輸入方式,復雜的波形 可以由幾個比較簡單的公式復合成

8、 v=f (t)形式的波形方程的數學表達式產生。從 而促進了函數波形發(fā)生器向任意波形發(fā)生器的發(fā)展,各種計算機語言的飛速發(fā)展也對任意波形發(fā)生器軟件技術起到了推動作用。目前可以利用可視化編程語言(如ViSUaI BaSiC ,Visual C等等)編寫任意波形發(fā)生器的軟面板這樣允許從計算 機顯示屏上輸入任意波形,來實現(xiàn)波形的輸入。(2) 與VXl資源結合。目前,波形發(fā)生器由獨立的臺式儀器和適用于個人計算機 的插卡以及新近開發(fā)的VXI模塊。由于VXI總線的逐漸成熟和對測量儀器的高要 求,在很多領域需要使用VXI系統(tǒng)測量產生復雜的波形,VXI的系統(tǒng)資源提供了 明顯的優(yōu)越性,但由于開發(fā)VXI模塊的周期長

9、,而且需要專門的VXI機箱的配套 使用,使得波形發(fā)生器VXI模塊僅限于航空、軍事及國防等大型領域。在民用方 面,VXl模塊遠遠不如臺式儀器更為方便。(3) 隨著信息技術蓬勃發(fā)展,臺式儀器在走了一段下坡路之后,又重新繁榮起來。 不過現(xiàn)在新的臺式儀器的形態(tài),和幾年前的己有很大的不同。這些新一代臺式儀 器具有多種特性,可以執(zhí)行多種功能。而且外形尺寸與價格,都比過去的類似產 品減少了 一半。1.2本系統(tǒng)研究的國內外現(xiàn)狀早在1978年,由美國 WaVetek公司和日本東亞電波工業(yè)公司公布了最高 取樣頻率為5MHz,可以形成256點(存儲長度)波形數據,垂直分辨率為8bit, 主要用于振動、醫(yī)療、材料等領

10、域的第一代高性能信號源,經過將近30年的發(fā)展,伴隨著電子元器件、電路、及生產設備的高速化、高集成化,波形發(fā)生器的 性能有了飛速的提高,變得操作越來越簡單而輸出波形的能力越來越強。波形操 作方法的好壞,是由波形發(fā)生器控制軟件質量保證的, 編輯功能增加得越多,波 形形成的操作性越好。1.3本文主要研究內容和工作近年來,波形發(fā)生器在各種領域中得到越來越廣泛的應用。本系統(tǒng)主要通過研究51單片機的功能,外加D/A轉換器等其它器件,進行硬件設計和軟件編程, 完成鋸齒波、梯形波、三角波、方波和正弦波共五種波形的形成。波形頻率的變 化由程序來控制,即通過改變定時器的初值來改變輸出波形相鄰兩點的時間間 隔,從而

11、實現(xiàn)波形頻率的改變。第二章方案論證2.1方案一純硬件設計法波形發(fā)生器設計的純硬件法早期,波形發(fā)生器的設計主要是采用運算放大器 加分立元件來實現(xiàn)。實現(xiàn)的波形比較單一,主要為正弦波、方波和三角波。工作 原理嗍也相對簡單:首先是產生正弦波,然后通過波形變換(正弦波通過比較器產生方波,方波經過積分器變?yōu)槿遣ǎ崿F(xiàn)方波和三角波。在各種波形后加上 一級放大電路,可以使輸出波形的幅度達到要求,通過開關電路實現(xiàn)不同輸出波 形的切換,改變電路的具體參數可以實現(xiàn)頻率、 幅度和占空比的改變。通過對電 路結構的優(yōu)化及所用元器件的嚴格選取可以提高電路的頻率穩(wěn)定性和準確度。純硬件法中,正弦波的設計是基礎,實現(xiàn)方法也比較

12、多,電路形式一般有LC、RC和石英晶體振蕩器三類。LC振蕩器適宜于產生幾HZ至幾百MHZ的高頻信號; 石英晶體振蕩器能產生幾百kHz至幾十MHZ的高頻信號且穩(wěn)定度高;對于頻率 低于幾MHZ ,特別是在幾百HZ時,常采用RC振蕩電路。RC振蕩電路又分為文 氏橋振蕩電路、雙T網絡式和移相式振蕩電路等類型。其中,以文氏橋振蕩電路 最為常用。目前,實現(xiàn)波形發(fā)生器最簡單的方法是采用單片集成的函數信號發(fā)生 器。它是將產生各種波形的功能電路集成優(yōu)化到一個集成電路芯片里,外加少量的電阻、電容元件來實現(xiàn)。采用這種方法的突出優(yōu)勢是電路簡單,實現(xiàn)方便,精 度高,性能優(yōu)越;缺點是功能較全的集成芯片價格較貴。實際中應用

13、較多的單片 函數信號發(fā)生器有 MAX038(最高頻率可達 40MHZ)和ICL8038(最高頻率為30OkHZ)。2.2方案二純軟件設計法波形發(fā)生器的設計還可以采用純軟件的方法來實現(xiàn)。虛擬儀器鞠使傳統(tǒng)儀器 發(fā)生了革命性的變化,是21世紀測試儀器領域技術發(fā)展的重要方向。它以計算 機為基礎,軟件為核心,沒有傳統(tǒng)儀器那樣具體的物理結構 在計算機上實現(xiàn)儀 器的虛擬面板,通過軟件設計實現(xiàn)和改變儀器的功能。例如用圖形化編程工具 LabVIEW 來實現(xiàn)任意波形發(fā)生器的功能:在 LabVIEW 軟件的前面板通過拖放 控件,設計儀器的功能面板(如波形顯示窗口,波形選擇按鍵,波形存儲回放等 工作界面),在軟件的后

14、面板直接拖放相應的波形函數并進行參數設置或直接調 用編程函數來設計任意波形以實現(xiàn)波形產生功能;完成的軟件打包后,可脫離編程環(huán)境獨立運行。實現(xiàn)任意波形發(fā)生器的功能。采用純軟件的虛擬儀器設計思路 可以使設計簡單、高效,僅改變軟件程序就可以輕松實現(xiàn)波形功能的改變或升級。 從長遠角度來看,純軟件法成本較低。軟件法的缺點是波形的響應速度和精度遜 色于硬件法。2.3方案三 軟硬件結合法軟硬件結合的波形發(fā)生器設計方法同時兼具軟硬件設計的優(yōu)勢:既具有純硬件設計的快速、高性能,同時又具有軟件控制的靈活性、智能性。如以單片機和 單片集成函數發(fā)生器為核心。輔以鍵盤控制、液晶顯示等電路,設計出智能型函 數波形發(fā)生器,

15、采用軟硬件結合的方法可以實現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生 器,同時還可以擴展波形發(fā)生器的功能,比如通過軟件編程控制實現(xiàn)波形的存儲、 運算、打印等功能,采用 USB接口設計。使波形發(fā)生器具有遠程通信功能等。 目前,實驗、科研和工業(yè)生產中使用的信號源大多采用此方法來實現(xiàn)。純硬件設計法功能較單一,波形改變困難、控制的靈活性不夠,不具備智能 性,其中由運算放大器加分立元件組成的波形發(fā)生器,除在學生實驗訓練中使用 外?;静槐徊捎?。純軟件設計法實現(xiàn)簡單,程序改變及功能升級靈活,但實現(xiàn) 的波形精度及響應速度不如硬件法高。純軟件法主要適用于對波形精度、響應速 度要求不是很高的場合。相比之下,軟硬件結合的方法

16、可以設計出性能最優(yōu)、 功 能擴展靈活、控制智能化的新一代的波形發(fā)生器,可以滿足教學、科研、工業(yè)生 產等各方面對波形發(fā)生器性能有較高要求的應用場合。綜合以上幾種設計方案, 本設計采用方案三的方法一軟硬件設計法。 其方案能夠產生很好的波形,也易實 現(xiàn)。第三章系統(tǒng)硬件設計3.1內部結構概述典型的MCS-51單片機芯片集成了以下幾個基本組成部分:1)一個8位的CPU ;2)128B或256B單元內數據存儲器(RAM);3)4KB或8KB片內程序存儲器(ROM或EPRoM);4)4個8位并行I/O 接口 P0P3 ;5)兩個定時/計數器;6)5個中斷源的中端管理控制系統(tǒng);7)一個全雙工串行I/O 口 U

17、ART (通用異步接收、發(fā)送器);8)一個片內振蕩器和時鐘產生電路。-UIIaRSTHU.UXAUJPO. 1/ADIPO.2AC2PC,3r,APGPC.AO4PO.AD5 PC.At PO.7/AD722_PiDzFSENALE EAP2.OB0P2.1S P2.2A10 Ft2.JA11 P2.4A12 吃.5A13 P2.0/A1 斗 P2 715Pw PIlP13P13Pl ,4PjI 5PlBP17P.(FRADP3.1D F3.2W F33NT-1P3.WJ pg.5>-P3.6/WRF'3 £F; D33373&355433321S2.252S2

18、7281'IT1213141516ITj5AT88C51圖3-1單片機引腳圖3.2 P0P3 口結構及功能3.2.1 PQ 口結構及功能PQ 口由一個輸出鎖存器、一個轉換開關 MUX、兩個三態(tài)輸入緩沖器、輸出 驅動電路和一個與門及一個反相器組成。PQ 口具有兩種功能:第一, PQ 口可以用作通用I/O接口;第二,PQ 口 可以用作地址/數據總線。3.2.2 P1 口結構及功能P1 口是由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅動電路組成,驅動電路內部設有上拉電阻。3.2.3 P2 口結構及功能P2 口由一個輸出鎖存器、一個轉換開關 MUX、兩個三態(tài)輸入緩沖器、輸出 驅動電路和一個反相

19、器組成。P2 口共有兩個功能:第一個功能與上述兩組引腳的第一功能相同,即可用 作通用I/O 口;它的第二功能與Po 口引腳的第二功能相配合,作為地址總線用 于輸出片外存儲器的高8位。324 P3 口結構及功能P3 口由一個輸出鎖存器、三個三態(tài)輸入緩沖器、輸出驅動電路和一個與非 門組成。P3 口有兩個功能:第一個功能與其余三個端口的第一功能相同;第二功能 做控制用,每個引腳的功能不同:P3.0 RXD :串行口接收數據輸入端P3.1 TXD:串行口發(fā)送數據輸出端P3.2INTO:外部中斷申請輸入端 0P3.3 INTI:外部中斷申請輸入端1P3.4 T0:外部計數脈沖輸入端0P3.5 T1:外部

20、計數脈沖輸入端1P3.6 WR:寫外設控制信號輸出端P3.7 RD:讀外設控制信號輸出端3.3時鐘電路和復位電路單片機的時鐘信號用來提供單片機內各種微操作的時間基準;復位操作則使單片機的片內電路初始化,使單片機從一種確定的狀態(tài)開始運行331時鐘電路單片機的時鐘信號通常有兩種產生方式。 一種是內部時鐘方式;另一種是外部時鐘方式。HCS-SIMCS-51C a內8W方式Cb)外部時銖武圖3-2時鐘方式圖內部時鐘方式只要在單片機的XTAL1和XTAL2引腳外接晶振就構成了自激振蕩器,并在單片機內部產生時鐘脈沖信號。 外部時鐘方式是把外部已有的時鐘 信號引入到單片機內,常用于多片單片機同時工作,已使各

21、單片機同步。單片機的時序單位:晶振周期為時鐘脈沖頻率的倒數,為最小的時序單位, 也稱T狀態(tài);時鐘周期包含兩個晶振周期,也稱 S狀態(tài);完成一個基本操作所需 要的時間稱為機器周期,由6個時鐘周期組成,即12個晶振周期;指令的執(zhí)行 時間稱為指令周期,通常含有14個機器周期。3.3.2單片機的復位狀態(tài)當MCS-51系列單片機的復位引腳 RST全稱RESET出現(xiàn)2個機器周期以上 的高電平時,單片機就執(zhí)行復位操作。如果RST持續(xù)為高電平,單片機就處于循 環(huán)復位狀態(tài)。根據應用的要求,復位操作通常有兩種基本形式: 上電復位和手動 復位。上電復位要求接通電源后,自動實現(xiàn)復位操作。手動復位是當單片機已在 運行當中

22、時,按下復位鍵 K后松開,也能使RST為一段時間的高電平,從而實 現(xiàn)上電或開關復位的操作。單片機的復位操作使單片機進入初始化狀態(tài),其中包括使程序計數器 PC = OoooH ,這表明程序從OoooH地址單元開始執(zhí)行。單片機冷啟動后,片內 RAM 為隨機值,運行中的復位操作不改變片內 RAM區(qū)中的內容,21個特殊功能寄 存器復位后的狀態(tài)為確定值。3.4系統(tǒng)硬件總體設計波形的產生是通過51單片機執(zhí)行某一波形發(fā)生器程序,向D/A轉換器的輸 入端按一定的規(guī)律發(fā)生數據,從而在 D/A轉換電路的輸出端得到相應的電壓波 形。圖3-3總體設計圖3.5 DAC0832的引腳及功能DAC0832是雙列直插式8位D

23、/A轉換器,完成數字量輸入到模擬量輸出的轉換3457810CsVCC2DWWRlILE(BYlyBY2)WGNDWR 217DI3XFER-TTDI2DI415DIIDI514DloDI613VREFDI712RFBIOJT211GMDIOJTlDACoe32圖3-4DAC0832 引腳圖DAC0832結構:DOD7 : 8位的數據輸入端,D7為最高位,TTL電平,有效時間應大于90ns (否則鎖存器的數據會出錯);ILE:數據鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線(選通數據鎖存器),低電平有效;WR1:數據鎖存器寫選通輸入線,負脈沖(脈寬應大于500ms)有效。由ILE、C

24、S、WR1的邏輯組合產生,當LE1為高電平時,數據鎖存器狀態(tài)隨輸入數 據線變換,LE1的負跳變時將輸入數據鎖存;XFER數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ms) 有效。WR2: DAC寄存器選通輸入線,負脈沖(脈寬應大于 500ms )有效。由 WR1、XFER的邏輯組合產生LE2,當LE2為高電平時,DAC寄存器的輸出隨 寄存器的輸入而變化,LE2的負跳變時將數據鎖存器的內容打入 DAC寄存器并 開始D/A轉換。IOUT1 :模擬電流輸出端1 ,當DAC寄存器中數據全為1時,輸出電流最 大,當DAC寄存器中數據全為0時,輸出電流為0。IOUT2:模擬電流輸出端2,

25、IOUT2與IOUT1的和為一個常數。Rfb :反饋信號輸入線,改變 Rfb端外接電阻值可調整轉換滿量程精度。VCC :電源輸入端,范圍為 (+5+ 15)V。VREF:基準電壓輸入線,范圍為 (-10+10)V ; AGND :模擬信號地。DGND :數字信號地。3.6 74LS373的引腳及功能74LS373是常用的地址鎖存器芯片,它實質是一個帶三態(tài)緩沖輸出的 8D觸 發(fā)器。D0D7 :數據輸入端;Q0Q7 :數據輸出端;OE:三態(tài)允許控制端,低電平有效;當 OE為低電平時,Q0Q7為正常 邏輯狀態(tài),可用來驅動負載或總線;當 OE為高電平時,Q0Q7呈高阻態(tài), 既不驅動總線,也不為總線的負

26、載,但鎖存器內部的邏輯操作不受影響。LE:鎖存允許端。當鎖存允許端 LE為高電平時,Q隨數據D而變;當LE 為低電平時,Q被鎖存在已建立的數據電平。Hl17TBD1mCGD4csceD7OELEmG 1c2Q3dG5ubG7工-Jy圖3-5 74LS373引腳圖3.7系統(tǒng)硬件原理51單片機的最小系統(tǒng)最小系統(tǒng)由振蕩電路、電源電路、復位電路、EA及應用程序組成。它有三種聯(lián)接方式。一種是兩級緩沖器型,即輸入數據經過兩級緩 沖器型,即輸入數據經過兩級緩沖器后,送入D/A轉換電路。第二種是單級緩沖型,輸入數據經輸入寄存器直接送入DAC寄存器,然后送D/A轉換電路。第三種是兩個緩沖器直通,輸入數據直接送D

27、/A轉換電路進行轉換。3.7.1系統(tǒng)原理圖C'*m; r.w *0*fl?P331KFUltfiW4P0JW fjrJK F.TfX74LEP".的 R3-IlaZfA1E3 Mj F2.E F2aU Fa7C-A1. F.7tM MJ,1 MSj1.FaJrWr P3zj F3W i.F-i÷Jq3-310" MqF17A.TDC0I. WJ . a .-.Ir- , 1TP. L * * * 卷* L -P T SHlro bB-T-T 一J-g.D 1 3 3 + 5 S ?Q M QQBOO圖3-6系統(tǒng)原理圖第四章系統(tǒng)的軟件設計系統(tǒng)軟件由主程序和產

28、生波形的子程序組成, 軟件設計主要是產生各種波形 的子程序的編程。通過編程可得到各種波形。頻率的改變可采用插入延時子程序 的方法來實現(xiàn)。4.1主程序流程圖開始初始化讀取波形選擇開關波形判別調波形發(fā)生子程序結束圖4-1主程序流程圖4.2波形的產生4.2.1設計思路利用中斷,當5個開關中有任意一個閉合時,跳轉至中斷程序,在中斷程序 中判斷是哪一個按鍵閉合,跳轉至相應的程序,執(zhí)行輸出波形的操作,每輸出一 個點之后,判斷按鍵是否斷開,如果依舊閉合,貝U繼續(xù)輸出,如果已經斷開,貝U 結束中斷程序。圖4-2主程序流程圖4.2.2鋸齒波的產生鋸齒波的實現(xiàn)過程是首先定義一個初值然后進行加法操作, 加的步數的多

29、少 則根據要求的頻率來進行。然后加到某個數之后就再重新設置為初值,再重復執(zhí) 行剛剛的操作,如此循環(huán)下去。4.2.3梯形波的產生梯形波的實現(xiàn)是設置一個初值,然后進行加一,當加到某個數時延時,之后減一,減到初值時在返回到之前的操作,繼續(xù)加一、延時、減一。424三角波的產生三角波的實現(xiàn)是設置一個初值,當加到某個值的時候,執(zhí)行減一操作,減到 初值時,再加一。425方波的產生方波的實現(xiàn)只需開始的時候設置一個初值然后直接輸出這個值就行了, 輸出 一段時間后,然后再重新置一個數據,然后再輸出這個數據一段時間,但是此時 的時間一定要等于前面那段時間。426正弦波的產生正弦波的實現(xiàn)需要查表,每查一次表,輸出一個

30、數值,之后查下一個數值繼 續(xù)輸出,當一個波形的256個數值全部輸出之后,從頭開始繼續(xù)輸出。第五章系統(tǒng)調試與仿真結果5.1系統(tǒng)調試根據系統(tǒng)設計方案,本系統(tǒng)的調試共分為三大部分:仿真電路調試,程序調 試和程序和仿真電路聯(lián)調。由于在系統(tǒng)設計中采用模塊設計法,所以方便對各電 路模塊功能進行逐級測試。5.1.1仿真電路調試對各個模塊的功能進行調試,主要調試各模塊能否實現(xiàn)指定的功能。 調試結 果表明,各模塊能夠實現(xiàn)其預期功能。5.1.2程序調試軟件調試采用keil C軟件,將編好的程序進行調試,主要是檢查語法錯誤。 在此過程中,發(fā)現(xiàn)了好多錯誤。要耐心調試。5.1.3聯(lián)調將調試好的仿真電路和程序進行聯(lián)調,主

31、要調試系統(tǒng)的實現(xiàn)功能。只要程 序調試完成,線路連好,本步沒有困難。5.2 仿真結果在PrOteUS軟件中運行仿真。按下Ko鍵時,示波器輸出鋸齒波;按下 K1鍵時輸出梯形波;按下K2鍵時輸出三角波;按下K3鍵時輸出方波;按下K4鍵 時輸出正弦波。具體波形見附錄二。結論本次的設計中利用AT89C51和DAC0832以及放大器完成電路的設計,用 開關來控制各種波形的發(fā)生及轉換,用單片機輸出后,經過模數轉換器生成波形, 最終可以通過示波器觀察。在這次的軟件設計中,程序設計采用的是匯編語言。 匯編語言具有速度快,可以直接對硬件進行操作的優(yōu)點,它可以極好的發(fā)揮硬件 的功能。但是匯編語言也存在編寫的代碼非常

32、難懂,不好維護,很容易產生bug, 難于調試的缺點。因此,在大型程序的設計中,多采用C語言進行程序編譯。C語言簡潔高效,是最貼近硬件的高級編程語言,經過多年的發(fā)展,現(xiàn)在已 成熟為專業(yè)水平的高級語言。而且,現(xiàn)在單片機產品推出時紛紛配套了C語言編譯器,應用廣泛。不過就本次課程設計來說,匯編語言還是適用的。由于此次 是第一次進行課設,有些軟件以及芯片以前從未接觸過,因此還不是很得心應手, 所以在設計中遇到了很多問題及難點。比如: PrOteuS軟件以及wave6000的 使用;D/A轉換器和鎖存器的結構、功能等等,這些都需要自己去查找資料了 解這些。通過此次的課程設計,我進一步了解了波形發(fā)生器的原理

33、, 在實際動手 操作過程中,使我接觸了許多我以前沒接觸過的元件,提高了自己的動手能力。 而且在編程時重新溫習了剛學不久的 51單片機以及MATLAB語言,不僅讓我學 習了一些新的知識,而且對以前所學內容進行了鞏固,讓我懂得理論知識的重要 性,沒有理論的指導一切實際行動都是盲目的, 且實際操作是所學的理論知識得 到驗證,更能加深對理論知識的理解,讓我受益匪淺。參考文獻1 陳志旺,李亮。51單片機快速上手。機械工業(yè)出版社。2 薛定宇。控制系統(tǒng)計算及輔助設計一一 MATLAB語言與應用(第2版)。清華 大學出版社。3 鄒虹。單片機波形發(fā)生器的設計。重慶郵電學院學報。4 毅剛,彭喜元。單片機原理與應用

34、設計。電子工業(yè)出版社。楊素行模擬電子技術基礎簡明教程(第三版)M.北京:高等教育出版社, 2006.Altium DeSigner 原理圖與PCB設計M.北京:電子工業(yè)出版社 2009.7 譚浩強.C程序設計(第2版)M.北京:清華大學出版社1999.8 陳明義.電子技術教程設計實用教程(第 3版)M.長沙:中南大學,2009.9 馬曉.函數信號發(fā)生器的設計D.河南2012.10 李華.MCS-51系列單片機實用接口技術M.11 何立民.單片機應用技術選編M.12 閻石.模擬電子技術基礎M.附錄程序ORG OoooHLJMP MAlNORG OOO3H外部中斷OLJMP INTOOORG OO

35、4OHMAIN :MOV SP,6OH;更改堆棧指針,避免堆棧與工作寄存器區(qū)發(fā)生沖突SETB ITO;外部中斷請求O為下降沿觸發(fā)方式SETB EA;中斷允許總開關打開SETB EXO;允許外部中斷O中斷INTOO:CLR EA ;關中斷PUSH PSW;現(xiàn)場保護PUSH ACCSETB EA;開中斷JNB P1.O,IRO;如果KO鍵閉合,則跳轉至IRO輸出鋸齒波JNB P1.1,IR1;如果K1鍵閉合,則跳轉至IR1輸出梯形波JNB P1.2,IR2;如果K2鍵閉合,則跳轉至IR2輸出三角波JNB P1.3,IR3;如果K3鍵閉合,則跳轉至IR3輸出方波JNB P1.4,IR4;如果K4鍵閉

36、合,則跳轉至IR4輸出正弦波設置端口地址寫入如果k0鍵已經斷開,則返回A加一循環(huán)返回設置端口地址INTIRCLR EA;關中斷POP Acc;現(xiàn)場恢復POP PSWSETB EA ; 開中斷RETI鋸齒波發(fā)生子程序如下:IR0:MoV RO,#OFEHMoV A,#00HLOOP :MOVX R0,A ;JB P1.0,INTIR;INC A ;SJMP LOOP;LJMP INTIR;梯形波發(fā)生子程序如下:IR1:MOV R0,#0FEH;MOV A,#00HUP:MOVX R0,A;寫入JB P1.1,INTIR;如果k1鍵已經斷開,則返回INC A;A加一JNZ UP ;循環(huán)DEC A;

37、如果已經溢出,則減一,減一之后 A的值為255LCALL DELAY;延時JB P1.1,INTIR;如果k1鍵已經斷開,則返回DoWN :DEC A;MOVX R0,A;寫入JB P1.1,INTIR;如果k1鍵已經斷開,則返回JNZ DOWN ;循環(huán)SJMP UP;如果減到0,則跳轉至UP,繼續(xù)執(zhí)行加一操作LJMP INTIR;返回DELAY:MOV R7,#100;延時子程序DELAYI:MOV R6,#10NOPDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RET三角波發(fā)生子程序如下:IR2: MOV R0,#0FEH;設置端口地址MoV A,#OoHUP2:M

38、OVX R0,A;寫入JB P1.2,INTIR;如果k2鍵已經斷開,則返回INC A;A加一JNZ UP2;循環(huán)DOWN2 :DEC A;A減一MOVX R0,A;寫入JB P1.2,INTIR;如果k2鍵已經斷開,則返回JNZ DOWN2;循環(huán)SJMP UP2;如果減到0 ,則跳轉至UP2,繼續(xù)加一操作LJMP INTIR;返回方波發(fā)生子程序如下:IR3:MOV R0,#0FEH;設置端口地址POSI:MOV A,#00H;給A賦值0x00MOVX R0,A;寫入LCALL DELAY ;延時JB P1.3,INTIR;如果k3鍵已經斷開,則返回NEGA :MOV A,#OFFH ;給A賦

39、值0xFFMOVX R0,A;寫入LCALL DELAY;延時JB P1.3,INTIR;如果k3鍵已經斷開,則返回SJMP POSI;跳轉至POSI,繼續(xù)下一個波形的輸出LJMP INTIR;返回正弦波發(fā)生子程序如下:IR4:MOV R0,#0FEH;設置端口地址MoV R1,#OoHXX:MOV A,R1LCALL HANSHU;調用查表函數MOVX R0,A;寫入JB P1.4,INTIR;如果k4鍵已經斷開,則返回INC R1SJMP XX;繼續(xù)查表LJMP INTIR ;返回HANSHU:MoV DPTR,#TAB1MoVC A,A+DPTRRETTAB1: db080h,083h,

40、086h,089h,08ch,090h,093h,096h,099h,09ch,09fh,0a2h,0a5h,0a8h,0abh,0aehdb0b1h,0b3h,0b6h,0b9h,0bch,0bfh,0c1h,0c4h,0c7h,0c9h,0cch,0ceh,0d1h,0d3h,0d5h,0d8hdb0dah,0dch,0deh,0e0h,0e2h,0e4h,0e6h,0e8h,0eah,0ebh,0edh,0efh,0f0h,0f1h,0f3h, 0f4hdb0f5h,0f6h,0f8h,0f9h,0fah,0fah,0fbh,0fch,0fdh,0fdh,0feh,0feh,0feh,0ffh,0ffh,0ffhdb0ffh,0f

溫馨提示

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

評論

0/150

提交評論