論文-低頻函數(shù)信號發(fā)生器的設計_第1頁
論文-低頻函數(shù)信號發(fā)生器的設計_第2頁
論文-低頻函數(shù)信號發(fā)生器的設計_第3頁
論文-低頻函數(shù)信號發(fā)生器的設計_第4頁
論文-低頻函數(shù)信號發(fā)生器的設計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成都電子機械高等??茖W校畢業(yè)設計說明書(論文)設計(論文)題目:低頻函數(shù)信號發(fā)生器的設計專 業(yè): 應用電子技術 班 級: 學 號: 姓 名: 指導教師: 摘 要:信號發(fā)生器是一種常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領域。目前使用的信號發(fā)生器大部分是函數(shù)信號發(fā)生器,且特殊波形發(fā)生器的價格昂貴。所以本設計使用的是AT89c51單片機構成的發(fā)生器,可產(chǎn)生三角波、方波、正弦波,波形的頻率可用程序控制改變。在單片機的輸出端口接DAC0832進行D/A轉(zhuǎn)換,再通過運放進行波形調(diào)整,最后輸出波形接在示波器上顯示。本設計具有線路簡單、結(jié)構緊湊、價格低廉、性能優(yōu)越等優(yōu)點。關鍵詞:信號發(fā)生

2、器;單片機;波形調(diào)整目 錄第 1 章 緒 論31.1 課題背景3第2章 低頻信號發(fā)生器的方案研究32.1 總體方案論證與設計42.2模塊結(jié)構劃分4第 3 章 硬件電路的設計53.1 基本原理53.2各模塊具體設計63.2.1 AT89C51單片機介紹63.2.2 D/A轉(zhuǎn)換電路的設計8第 4 章 軟件設計104.1 軟件總體設計114.2 程序流程圖114.2.1 主函數(shù)流程圖114.2.2 鍵盤掃描程序114.3 仿真過程17結(jié) 論20參考文獻20第 1 章 緒 論1.1 課題背景隨著電子測量及其他部門對各類信號發(fā)生器的廣泛需求及電子技術的迅速發(fā)展,促使信號發(fā)生器種類增多,性能提高。尤其隨著

3、70年代微處理器的出現(xiàn),更促使信號發(fā)生器向著自動化、智能化方向發(fā)展。現(xiàn)在,許多信號發(fā)生器帶有微處理器,因而具備了自校、自檢、自動故障診斷和自動波形形成和修正等功能,可以和控制計算機及其他測量儀器一起方便的構成自動測試系統(tǒng)。當前信號發(fā)生器總的趨勢是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。在科學研究、工程教育及生產(chǎn)實踐中,如工業(yè)過程控制、教學實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學等領域,常常需要用到低頻信號發(fā)生器。而在我們?nèi)粘I钪?,以及一些科學研究中,鋸齒波和正弦波、矩形波信號是常用的基本測試信號。譬如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以

4、利用熒光屏顯示圖像,常用到鋸齒波產(chǎn)生器作為時基電路。信號發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測控、通訊等領域都得到了廣泛的應用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實際應用的需求。加之各類功能的半導體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號發(fā)生器成為可能。第2章 低頻信號發(fā)生器的方案研究2.1 總體方案論證與設計信號發(fā)生器的實現(xiàn)方法通常有以下幾種:方案一:用分立元件組成的函數(shù)發(fā)生器:通常是單函數(shù)發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調(diào)試。方案二:可以由晶體管、運放IC等通用器件制作,更多的則是用專

5、門的函數(shù)信號發(fā)生器IC產(chǎn)生。早期的函數(shù)信號發(fā)生器IC,如L8038、BA205、XR2207/2209等,它們的功能較少,精度不高,頻率上限只有300kHz,無法產(chǎn)生更高頻率的信號,調(diào)節(jié)方式也不夠靈活,頻率和占空比不能獨立調(diào)節(jié),二者互相影響。方案三:利用專用直接數(shù)字合成芯片的函數(shù)發(fā)生器:能產(chǎn)生任意波形并達到很高的頻率。但成本較高。方案四:采用AT89C51單片機和DAC0832芯片,直接連接鍵盤和顯示。該種方案主要對AT89C51單片機的各個I/O口充分利用. P1口是連接鍵盤以及接顯示電路,P2口連接DAC0832輸出波形.這樣總體來說,能對單片機各個接口都利用上,而不在多用其它芯片,從而減

6、小了系統(tǒng)的成本.也對按照系統(tǒng)便攜式低頻信號發(fā)生器的要求所完成.占用空間小,使用芯片少,低功耗。綜合考慮,方案四各項性能和指標都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現(xiàn)了模塊化設計的要求,而且這些芯片及器件均為通用器件,在市場上較常見,價格也低廉,樣品制作成功的可能性比較大,所以本設計采用方案四。2.2模塊結(jié)構劃分本次設計所研究的就是對所需要的某種波形輸出對應的數(shù)字信號,在通過D/A轉(zhuǎn)換器和單片機部分的轉(zhuǎn)換輸出一組連續(xù)變化的05V的電壓脈沖值。在設計時分塊來做,按波形設定、D/A轉(zhuǎn)換、51單片機連接、鍵盤控制四個模塊的設計。最后通過聯(lián)調(diào)仿真,完成相應功能。具體設計模塊如圖鍵盤控制D

7、A轉(zhuǎn)換51單片機波形設定模塊介紹:1.波形設定:對任意波形的手動設定2.D/A轉(zhuǎn)換:主要選用DAC0832來把數(shù)字信號轉(zhuǎn)換為模擬信號,在送入單片機進行處理。3.單片機部分:最小系統(tǒng)4.鍵盤:用按鍵來控制輸出波形的種類和數(shù)值的輸入第 3 章 硬件電路的設計3.1 基本原理AT89C51復位電路DA轉(zhuǎn)換按鍵電流電壓轉(zhuǎn)換波形顯示低頻信號發(fā)生器系統(tǒng)主要由CPU、D/A轉(zhuǎn)換電路、電流/電壓轉(zhuǎn)換電路、按鍵和顯示電路、電源等電路組成。其工作原理為當按下第一個按鍵就會分別出現(xiàn)方波、三角波、正弦波。3.2各模塊具體設計 3.2.1 AT89C51單片機介紹 AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲

8、器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.2.1.

9、1 主要技術指標和特性 ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán) ·數(shù)據(jù)保留時間:10年 ·全靜態(tài)工作:0Hz-24MHz ·三級程序存儲器鎖定 ·128×8位內(nèi)部RAM ·32可編程I/O線 ·兩個16位定時器/計數(shù)器 ·5個中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時鐘電路 3.2.1.2 外部引腳VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8

10、TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫

11、“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的

12、緣故。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:

13、外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 3.2.2 D/A轉(zhuǎn)換電路的設計DAC0832是CMOS工藝制造的8位D/A轉(zhuǎn)換

14、器,屬于8位電流輸出型D/A轉(zhuǎn)換器,轉(zhuǎn)換時間為1us,片內(nèi)帶輸入數(shù)字鎖存器。DAC0832與單片機接成數(shù)據(jù)直接寫入方式,當單片機把一個數(shù)據(jù)寫入DAC寄存器時,DAC0832的輸出模擬電壓信號隨之對應變化。利用D/A轉(zhuǎn)換器可以產(chǎn)生各種波形,如方波、三角波、正弦波、鋸齒波等以及它們組合產(chǎn)生的復合波形和不規(guī)則波形。1.DAC0832主要性能:輸入的數(shù)字量為8位;采用CMOS工藝,所有引腳的邏輯電平與TTL兼容;數(shù)據(jù)輸入可以采用雙緩沖、單緩沖和直通方式;轉(zhuǎn)換時間:1us;精度:1LSB;分辨率:8位;單一電源:515V,功耗20mw;參考電壓:-10+10V; DAC0832內(nèi)部結(jié)構資料:芯片內(nèi)有兩級

15、輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應的模擬信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)這個供功能。運放的反饋電阻可通過RFB端引用片內(nèi)固有電阻,還可以外接。 該片邏輯輸入滿足TTL電壓電平范圍,可直接與TTL電路或微機電路相接,下面是芯片電路原理圖3-20圖3-20 DAC0832電路原理圖如圖3-20所示,待轉(zhuǎn)換的8位數(shù)字量由芯片的8位數(shù)據(jù)輸入線D0D7輸入,經(jīng)DAC0832轉(zhuǎn)換后,通過2個電流輸出端IOUT1和IOUT2輸出,IOUT1是邏輯電平為&q

16、uot;1"的各位輸出電流之和,IOUT2是邏輯電平為"0"的各位輸出電流之和。另外,ILE、和是控制轉(zhuǎn)換的控制信號。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ù)在同一時刻開始

17、鎖存,進而同時產(chǎn)生各模擬信號。控制信號ILE、用來控制輸入寄存器。當ILE為高電平,為低電平,為負脈沖時,在LE產(chǎn)生正脈沖;其中LE為高電平時,輸入寄存器的狀態(tài)隨數(shù)據(jù)輸入線狀態(tài)變化,LE的負跳變將輸入數(shù)據(jù)線上的信息存入輸入寄存器。控制信號和用來控制8位A/D轉(zhuǎn)換器。當為低電平,輸入負脈沖時,則在LE產(chǎn)生正脈沖;其中LE為高電平時,DAC寄存器的輸入與輸出的狀態(tài)一致,LE負跳變,輸入寄存器內(nèi)容存入DAC寄存器。 DAC0832的數(shù)據(jù)輸出方式在微機應用系統(tǒng)中,通常使用的是電壓信號,而DAC0832輸出的是電流信號,這就需要由運算放大器組成的電路實現(xiàn)轉(zhuǎn)換。其中有輸出電壓各自極性固定的單位性輸出和在隨

18、動系統(tǒng)中輸出電壓有正負極性的雙極性輸出兩種輸出方式。3. DAC 0832同CPU的連接微處理器與DAC0832之間可以不加鎖存器,而是利用DAC0832內(nèi)部鎖存器,將CPU通過數(shù)據(jù)總線直接向DAC0832輸出的停留時間很短的數(shù)據(jù)保存,直至轉(zhuǎn)換結(jié)束。DAC0832同CPU的接口如圖3-21所示.DAC0832作為微處理器的一個端口,用地址92H的選通作為和的控制信號,微處理器的寫信號直接來控制和。圖3-21 DAC0832和CPU連接電路第 4 章 軟件設計4.1 軟件總體設計應用系統(tǒng)中的應用軟件是根據(jù)系統(tǒng)功能要求而設計的,能可靠地實現(xiàn)系統(tǒng)的各種功能。本系統(tǒng)的軟件包括以下幾個程序模塊:初始化程

19、序;鍵盤掃描程序與處理程序;定時器0服務程序;正弦波發(fā)生程序及其服務程序;三角波發(fā)生程序;方波發(fā)生程序。4.2 程序流程圖開始4.2.1 主函數(shù)流程圖中斷子程序結(jié)束無限調(diào)用鍵盤掃描程序初始化開始4.2.2 鍵盤掃描程序 讀P1口進行鍵值類型判斷NY按鍵是否松開確認有,就讀取P1口得值NY軟件延時消除振動有鍵按下結(jié)束4.2.3 中斷子程序開始定時器初始化Y是正弦?波向DA轉(zhuǎn)換器送值并指向下一個地址數(shù)據(jù)N是三角波?Y結(jié)束d置0NYd>255向DA轉(zhuǎn)換器送1NY向DA轉(zhuǎn)換器送0D比設定值???算占空比NY是方波?C=0NYC>400C+向DA轉(zhuǎn)換器送200 - (c-200)值向DA轉(zhuǎn)換器

20、送c值NY如果c<200N地址置0NY地址大于255其他子程序的相對簡單,流程圖就不一一畫出了。4.2.4 相應程序#include <reg51.h>#include <absacc.h>#define DA0832 XBYTE0x7fff#define uchar unsigned char #define uint unsigned int uint wave_choice=1,c=0,zk=1,k=0,d=0,f=1,b=0,t=0;uchar code tosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x

21、99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x

22、ff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x

23、80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x

24、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0

25、x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ;/*正弦波碼 */void time0_int(void) interrupt 1 /中斷服務程序 t=(6 / f)/256; TH0 = t / 256; /定時器高八位值 TL0= t % 256; /定時器低八位值 TR0 = 0; if(wave_choice = 1) DA0832= tosinb; /正弦波 b+;if(b>255)b=0; else if( wave_choice = 2 ) /三角波 if(c <= 200) DA0832= c; else DA0832= 200 -

26、(c-200); c +;if(c>400)c=0; else if( wave_choice = 3 ) / 方波 k = zk * 256 / 100; d +; if(d <= k) DA0832= 0x00; else DA0832= 0xff;if(d>255)d=0; TR0 = 1;void key1()if(wave_choice<4)wave_choice+;else wave_choice=1;void key2()if(f<=100)f+;void key3()if(f>1)f-;void key4()if(zk<100)zk+;void key5()if(zk>1)zk-;void delay()uchar i,j;for(i=256;i>0;i-) for(j=256;j>0;j-);void judge() uchar Y; P1 = 0xff; if(P1!=0xff) /判斷是否有鍵按下 delay(); /延時,軟件去干擾 if(P1!= 0xff) /確認按鍵按下X = P1; Y=P1; /保存列掃描時有鍵按下時狀態(tài) while(P1!=0xff); switch ( Y ) /判斷鍵值(那一個鍵按下) case

溫馨提示

  • 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

提交評論