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

下載本文檔

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

文檔簡介

1、 畢 業(yè) 設 計(論文)題 目:基于單片機的函數(shù)信號發(fā)生器設計 學 院: 專業(yè)名稱: 準考證號: 學生姓名: 2013年 12 月 5 日 摘 要本文以AT89C51單片機為核心設計了一個低頻函數(shù)信號發(fā)生器。信號發(fā)生器采用了數(shù)字波形合成技術,通過硬件電路和軟件程序相結合,輸出自定義波形,如正弦波、方波、三角波、鋸齒波,波形的頻率和幅度在一定范圍內(nèi)可任意改變。波形和頻率的改變可以通過軟件來控制,幅度的改變可以通過硬件實現(xiàn)。本文介紹了波形的生成原理、硬件電路和軟件部分的設計原理。本系統(tǒng)可以產(chǎn)生最高頻798.6HZ的波形。該信號發(fā)生器具有體積小、價格低、性能穩(wěn)定、功能齊全等優(yōu)點。關鍵詞:AT89C5

2、1;單片機;DAC;數(shù)字波形合成;低頻信號發(fā)生器目 錄第一章 緒論 11.1 研究內(nèi)容 11.2課題的來源與技術背景 11.3研究信號發(fā)生器的目的及意義 11.4單片機概述 21.5信號發(fā)生器的分類 2第二章 方案的設計與選擇 22.1 方案的比較 22.2 設計原理 32.3 設計思想42.4 設計功能 4第三章 硬件設計 53.1 硬件原理框圖 53.2 主控電路 53.3 數(shù)/模轉換電路 73.4波形產(chǎn)生模塊設計 73.5 鍵盤顯示模塊的設計 83.6時鐘電路 93.7運算放大電路和低通濾波電路 93.8 顯示電路 103.9 程序流程圖 10第四章 安裝調試及測量數(shù)據(jù)分析114.1調試

3、過程 114.2出現(xiàn)的問題與解決的方法 114.3實驗波形圖 12第五章 小結 13參考文獻 13附錄 14 第一章 緒論1.1 研究內(nèi)容本文是做基于單片機的信號發(fā)生器的設計,將采用編程的方法來實現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當接收到來自外界的命令時,需要輸出某種波形時可以調用相應的中斷服務子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉換器和運算放大器處理后,將波形從信號發(fā)生器的輸出端口輸出。 1.2課題的來源與技術背景無論是在生產(chǎn)上還是在科研與教學上,信號發(fā)生器都是電子工程師仿真實驗的

4、最佳工具。隨著我國經(jīng)濟和科技的發(fā)展,對相應的測試儀器和測試手段也提出了更高的要求,信號發(fā)生器己成為測試儀器中至關重要的一類,因此開發(fā)信號發(fā)生器具有重大的意義。傳統(tǒng)的信號發(fā)生器采用專用芯片,不僅成本高,而且控制方式不靈活。本設計充分利用單片機能靈活的控制、豐富的外設處理能力,并采用DDS技術,實現(xiàn)頻率、幅值可調的函數(shù)波形的輸出,同時可以根據(jù)需要方便地實現(xiàn)各種比較復雜的調頻、調相和調幅功能,其具有良好的實用性。根據(jù)其頻率發(fā)生方法又可分為諧振法和合成法兩種。一般的傳統(tǒng)發(fā)生器都是采用的諧振法,即用具有頻率選擇性的回路來產(chǎn)生正弦振蕩,從而來獲得所需頻率,也可以根據(jù)頻率合成技術來獲得所需頻率。利用頻率合成

5、技術制成的合成波形發(fā)生器,通常被稱為頻率合成器或頻率綜合器。頻率綜合器是指利用頻率合成技術合成的頻率源,它常常是沒有調制的,也沒有足夠寬的和足夠準確的輸出電平調節(jié),其工作范圍往往也不寬,最小頻率間隔也比較大,一般用作專用設備使用,或做某一個系統(tǒng)中的一個組成部分。1.3研究信號發(fā)生器的目的及意義 波形發(fā)生器是信號源的一種,主要給被測電路提供所需要的己知信號(各種波形),然后用其它儀表測量感興趣的參數(shù)??梢娦盘栐丛诟鞣N實驗應用和試驗測試處理中,它的應用非常廣泛。它不是測量儀器,而是根據(jù)使用者的要求,作為激勵源,仿真各種測試信號,提供給被測電路,以滿足測量或各種實際需要。 隨著信息技術的蓬勃發(fā)展,臺

6、式儀器在走了一段下坡路之后,又重新繁榮起來。不過現(xiàn)在新的臺式儀器的形態(tài),和幾年前的己有很大的不同。這些新一代臺式儀器具有多種特性,可以執(zhí)行多種功能。而且外形尺寸與價格,都比過去的類似產(chǎn)品減少了一半。1.4單片機概述隨著大規(guī)模集成電路技術的發(fā)展,中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、(I/O)接口、定時器/計數(shù)器和串行通信接口,以及其他一些計算機外圍電路等均可集成在一塊芯片上構成單片微型計算機,簡稱為單片機。單片機具有體積小、成本低、性能穩(wěn)定、使用壽命長等特點。其最明顯的優(yōu)勢就是可以嵌入到各種儀器、設備中,這是其他計算機和網(wǎng)絡都無法做到的。1.5信號發(fā)生器的分類信

7、號發(fā)生器應用廣泛,種類繁多,性能各異,分類也有很多。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(fā)生器,函數(shù)信號發(fā)生器、掃頻信號發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號發(fā)生器、噪聲信號發(fā)生器等。按照信號發(fā)生器性能指標可以分為一般信號發(fā)生器和標準信號發(fā)生器。前者指對輸出信號的頻率、幅度的準確度和穩(wěn)定度以及波形失真等要求不高的一類信號發(fā)生器。后者是指其輸出信號的頻率、幅度、調制系數(shù)等在一定范圍內(nèi)連續(xù)可調,并且讀數(shù)準確、穩(wěn)定、屏蔽

8、良好的中、高檔信號發(fā)生器。 第二章 方案的設計與選擇2.1 方案的比較方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時產(chǎn)生正弦波、方波等,而且方法簡單易行,用D/A轉換器的輸出來改變調制電壓,也可以實現(xiàn)數(shù)控調整頻率,但產(chǎn)生信號的頻率穩(wěn)定度不高。方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數(shù)的要求,且電路復雜。方案三:采用單片機編程的方法來實現(xiàn)。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實現(xiàn)頻率的變換。此外,由于通過編程方法產(chǎn)生的是數(shù)字信號,所以信號

9、的精度可以做的很高。鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復雜,頻率覆蓋系數(shù)難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用了軟件和硬件的結合,即用軟件控制硬件的方法來實現(xiàn),從而使得信號頻率的穩(wěn)定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價格便宜,以使所需硬件的成本不會太高。2.2 設計原理數(shù)字信號可以通過數(shù)/模轉換器轉換成模擬信號,因此可通過產(chǎn)生數(shù)字信號再轉換成模擬信號的方法來獲得所需要的波形。89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、

10、定時器/計數(shù)器以及串行通訊接口等,只要將89C51配置鍵盤及其接口、顯示器及其接口、數(shù)/模轉換及其波形輸出、指示燈及其接口等四部分,即可構成所需的波形發(fā)生器,其信號發(fā)生器構成原理框圖如圖(2-1)所示。 輸出濾波放大D/A轉換器89C51單片機接口電路2.圖(2-1)89C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉換和信號幅度的調節(jié)。當數(shù)字信號經(jīng)過接口電路到達轉換電路時,將其轉換成模擬信號,也就是所需要的輸出波形。波形ROM表示將信號一個周期等間距地分離成64個點,儲存在單片機得ROM內(nèi)。具體ROM表示通過MATLAB生成的,例

11、如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+1282.3 設計思想(1)利用單片機產(chǎn)生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。(2)將一個周期的信號分離成256個點(按X軸等分),每兩點之間的時間間隔為T,用單片機的定時器產(chǎn)生,其表示式為:T=T/256。如果單片機的晶振為12MHz,采用定時器方式0,則定時器的初值為: X=213T/Tmec (2.1)定時時間常數(shù)為: TL =(8192T)/MOD256 (2.2)TH=(8192T)/256 (2.3)MOD32表示除32取余數(shù)(3)正弦波的模擬

12、信號是D/A轉換器的模擬量輸出,其計算公式為: Y=(A/2sint)+A/2 (其中A=VREF) (2.4) t=NT (N=1256) (2.5)那么對應著存放在計算機里的這一點的數(shù)據(jù)為: (2.6) (4)一個周期被分離成256個點,對應的四種波形的256個數(shù)據(jù)存放在以TAB1-TAB4為起始地址的存儲器中。2.4 設計功能(1)本方案利用8155擴展8個獨立式按鍵,6個LED顯示器。其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出,“S3” 號鍵代表鋸齒波輸出。(2)“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵

13、為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號,6個LED顯示器輸出信號的頻率值,選用共陽極LED。(3)利用兩片DAC0832實現(xiàn)幅度可調的信號源,(其中一片用來調節(jié)幅度,另外一片用來實現(xiàn)信號源的輸出)。(4)頻率范圍:101000Hz。(5)輸出波形幅度為05V。 第三章 硬件設計3.1 硬件原理框圖硬件原理方框圖如圖(3-1)所示。波形輸出放大電路復位電路顯示電路數(shù)/模轉換電路鍵盤電路單片機圖(3-1)3.2 主控電路設計中主要采用AT89C51型單片機,它具有如下優(yōu)點:(1)擁有完善的外部擴展總線,通過這些總線可方便地擴展外圍單元、外圍接口等。(2)該單片機內(nèi)部擁有4K字節(jié)的

14、FLASH ROM程序存儲器空間和256字節(jié)的RAM數(shù)據(jù)存儲空間,完全可以滿足程序的要求。由于該芯片可電可擦寫1,故可重復使用。如果更改程序內(nèi)容,可將芯片拿下重新燒寫。(3)該單片機與工業(yè)標準的MCS51型機的指令集和輸出引腳兼容。AT89C51單處機內(nèi)部設置兩個16位可編程的定時器/計數(shù)器T0和T1,它們具有計數(shù)器方式和定時器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其作定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。模式1采用的是16位計數(shù)器,當T0或T1被允許計數(shù)后,從初值開始加計數(shù),最高位產(chǎn)生溢出時向CPU請求中斷。中斷系統(tǒng)是使處理器具有對外界異步事件的處理能力

15、而設置的。當中央處理器CPU正在處理某件事的時候外界發(fā)生了緊急事件,要求CPU暫停當前的工作,轉而去處理這個緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時器/計數(shù)器溢出時產(chǎn)生的中斷請求,即是在AT89C51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產(chǎn)生中斷之前,AT89C51等待,直到定時器計時結束,產(chǎn)生中斷請求,1電可擦寫1:在設備上擦除芯片上已有的信息,芯片可以重新編程,即芯片的一種寫入方法。AT89C51響應中斷,接著輸出下一個采樣點的信號,如此循環(huán)產(chǎn)生所需要的信號波形。主控電路圖如圖(3-2)所示,AT89C51從P0口接收來自鍵盤的信號,并通過P2口輸出一些控制信號,將其輸入到8

16、155的信號控制端,用于控制其信號的輸入、輸出。如果有鍵按下,則在讀控制端會產(chǎn)生一個讀信號,使單片機讀入信號。如果有信號輸出,則在寫控制端產(chǎn)生一個寫信號,并將所要輸出的信號通過8155的PB口輸出,并在數(shù)碼管上顯示出來。圖(3-2) 89C51是片內(nèi)有ROM/EPROM的單片機,因此,這種芯片構成的最小系統(tǒng)簡單可靠。用89C51單片機構成最小應用系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,如圖(3-3)89C51單片機最小系統(tǒng)所示。由于集成度的限制,最小應用統(tǒng)只能用作一些小型的控制單元。其應用特點: 1) 有可供用戶使用的大量I/O口線;2) 內(nèi)部存儲器容量有限;3)應用系統(tǒng)開發(fā)具有特殊性

17、。圖(3-3) 3.3 數(shù)/模轉換電路由于單片機產(chǎn)生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉換成模擬信號,所以該文選用價格低廉、接口簡單、轉換控制容易并具有8位分辨率的數(shù)/模轉換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉換器以及輸入控制電路四部分組成。但實際上,DAC0832輸出的電量也不是真正能連續(xù)可調,而是以其絕對分辨率為單位增減,是準模擬量的輸出。DAC0832是電流型輸出,在應用時外接運放使之成為電壓型輸出。數(shù)/模轉換電路如圖(3-4)所示。根據(jù)對DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式

18、:直通方式、單緩沖方式和雙緩沖方式。本設計選用直通方式。DAC0832的數(shù)據(jù)口和單片機的P0口相連。CSDA:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存。如圖(3-4)3.4 波形產(chǎn)生模塊設計 由單片機采用編程方法產(chǎn)生三種波形,通過DA轉換模塊DAC0832在進行過濾波放大之后輸出。其電路圖(3-5)波形產(chǎn)生電路如下: 圖(3-5)如上圖所示,單片機的P0口連接DAC0832的八位數(shù)據(jù)輸入端,DAC0

19、832的輸出端接放大器,經(jīng)過放大后輸出所要的波形。DAC0832的為八位數(shù)據(jù)并行輸入的,其結構圖(3-6)DAC0832的內(nèi)部結構如下: 圖(3-6)3.5 鍵盤顯示模塊的設計本系統(tǒng)采用獨立鍵盤,其連接電路圖如圖(3-7)按鍵接口如下:圖(3-7)為鍵盤接口電路的原理圖,圖中鍵盤和8155的PA口相連,AT89C51的P0口和8155的D0口相連,AT89C51不斷的掃描鍵盤,看是否有鍵按下,如果有,則根據(jù)相應按鍵作出反應。其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出,“S3”號鍵代表鋸齒波輸出,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz

20、的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號。圖(3-7)3.6時鐘電路8051單片機有兩個引腳(XTAL1,XTAL2)用于外接石英晶體和微調電容,從而構成時鐘電路,其電路圖如圖(3-8)時鐘電路所示。電容C1、C2對振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。由于頻率較大時,三角波、正弦波、鋸齒波中每一點的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的頻率波形。 圖(3-8) 3.7運算放大電路和低通濾波電路如圖(3-9)圖(3-9)LM324的5管腳與DAC0832的(IOUT2)12管腳相連,LM32

21、4的6管腳與DAC0832的(IOUT1)11管腳相連,LM324的7管腳與DAC0832的REF(9)管腳相連。第一級運算放大器的作用是將DAC0832輸出的電流信號轉化為電壓信號V1,第二級運算放大器的作用是將V1通過反向放大電路-(R2/R1)倍。根據(jù)要求輸出的電壓在0-5V可調,而V1的電壓大約是5V,所以R1選擇5K的電阻,R2選擇10K的電位器,這樣最大的輸出電壓為5*(10/2)=10,最小電壓為0,可以實現(xiàn)要求的電壓0-5V。在第二個運算放大器的輸出端連了一個低通濾波器。如果不加低通濾波器,也能夠生成波形,但是產(chǎn)生的信號會有毛刺,如果加一個低通濾波器不僅能起到濾波的作用,還能起

22、到平滑的作用。低通濾波器的截止頻率F=1/(2*pi*R3*C6),這里我們選擇R3為100歐姆的電阻,C6為104電容,截止頻率F=16KHZ。實驗表明,此時的輸出波形效果不錯。3.8 顯示電路顯示電路是用來顯示波形信號的頻率,從而使得整個系統(tǒng)更加合理,如果從經(jīng)濟的角度出發(fā),顯示器件采用LED數(shù)碼管顯示器較好。LED數(shù)碼管是采用共陽極接法,當主控端口輸出一個低電平后,與其相對應的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖(3-10)所示。圖(3-10)3.9 程序流程圖本文中子程序的調用是通過按鍵的選擇來實現(xiàn),在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的

23、數(shù)據(jù)值,通過轉換輸出相應的電壓,從而形成所需的各種波形。主程序的流程圖如圖(3-11)所示,在程序開始運行之后,首先是對8155進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù), 并通過顯示器顯示出來,如不符合則返回。在中斷結束后,還要來判斷波形是否符合,如符合,則顯示其頻率,如不符合則返回,重新判斷。 圖(3-11)圖(3-12)為各波形子程序的流程圖。如圖所示,在中斷服務子程序開始后,通過判斷來確定各種波形的輸出,當判斷選擇的不是方波時,則轉向對正弦波進行判斷,如此反復。如果選擇的是方波,則用查表的方法求出相應的數(shù)據(jù),并通過D/A轉換器將數(shù)據(jù)轉換成模擬信號,形成所需波形信號

24、。 圖(3-12) 第四章 安裝調試及測量數(shù)據(jù)分析4.1調試過程1)不通電,檢查各線路連接是否正常。2)首先是調試單片機部分,D/A轉換器和運算放大器芯片不接。用STC_ISP_V483軟件通過串口輸入程序,看是否可以正常輸入程序。3)當可以正常輸入程序時,給89C51單片機輸入一個讓所有I/0口一會兒輸入0,延時,再輸出1的程序,以此類推。并用萬能表不斷測量各I/O口的電壓是不是一會兒高,一會兒低。4)安上D/A轉換器和運算放大器芯片,給單片機輸入一個輸出正弦波的測試程序,通過示波器看輸出是否正常。4.2出現(xiàn)的問題與解決的方法1)調試單片機的串口時,發(fā)現(xiàn)不能正常的輸入程序。我想可能是單片機壞了,于是借了一塊學習板測試了一下單片機芯片,發(fā)現(xiàn)可以正常下載。這說明很可能是LM324的電路出了問題。我仔細查看了電路圖,又上網(wǎng)查了下其他的LM324的電路圖,發(fā)現(xiàn)我的電路圖和別人的不一樣。通過看書,得知,電路圖中LM3242的TIOU1接串口的第3腳。而其他書上有些電路圖卻是LM324的TIOU1接到了串口的第2腳。于是我將LM324的TIOU1接串口的第2腳,再輸入程序,終于可以常下載了。2)剛開始寫的測試程序輸出的波形失真很大。我想可能是波形的ROM表里的數(shù)據(jù)值過小,導致DA輸出的誤差很大。因而臥將波形的ROM表里的數(shù)據(jù)值調大,在測試時發(fā)現(xiàn)波形變得好多了。3)調試

溫馨提示

  • 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

提交評論