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

下載本文檔

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

文檔簡介

1、 畢業(yè)設(shè)計(論文)題目: 函數(shù)信號發(fā)生器 學(xué) 部 信息與電子學(xué)部專業(yè)名稱 電子信息工程班級學(xué)號 118501106學(xué)生姓名 蔡偉攀指導(dǎo)教師 鄧洪峰二O一 五 年 六 月目錄1 緒論11.1 單片機概述11.2 信號發(fā)生器的介紹和分類11.3 任務(wù)要求和設(shè)計內(nèi)容32 函數(shù)信號發(fā)生器的方案選擇與設(shè)計42.1 函數(shù)信號發(fā)生器設(shè)計方案的選擇42.1.1 信號發(fā)生器電路方案42.1.2 顯示電路方案52.1.3 按鍵控制電路方案52.2 總體設(shè)計63 系統(tǒng)硬件電路的設(shè)計73.1 單片機核心控制電路73.1.1 單片機芯片簡介73.1.2 引腳及功能說明83.1.3 單片機硬件原理框圖93.2 D/A數(shù)模

2、轉(zhuǎn)換電路及波形產(chǎn)生模塊103.2.1 DAC0832簡介103.2.2 DAC0832的特點113.2.3 DAC0832與MCS-51的接口113.3 時鐘電路模塊113.4 復(fù)位電路模塊123.5 液晶顯示電路模塊133.6 按鍵接口控制模塊144 系統(tǒng)軟件的設(shè)計154.1 程序流程圖154.2 波形設(shè)計184.2.1 正弦波的設(shè)計184.2.2 三角波的設(shè)計184.2.3 方波的設(shè)計184.2.4 鋸齒波的設(shè)計194.2.5 梯形波的設(shè)計195 系統(tǒng)調(diào)試205.1 硬件調(diào)試205.2軟件調(diào)試205.3聯(lián)機調(diào)試21結(jié)論22參考文獻23致謝24附錄A:硬件電路原理圖25附錄B:PCB圖26附

3、錄三:C51源程序27南昌航空大學(xué)科技學(xué)院2015屆學(xué)士學(xué)位論文1 引言1.1 單片機概述單片機簡單的說就是單片的計算機,又可以稱為微處理器、微控制器或者嵌入式控制器。它是把計算機的基本部件微型化并且集成到一塊芯片上的微型計算機,一般來說,片內(nèi)包含中央處理器CPU、并行輸入輸出、串行輸入輸出、定時器/計數(shù)器、ROM、RAM、中斷控制系統(tǒng)、系統(tǒng)時鐘和系統(tǒng)總線等等。單片機有很多的優(yōu)點,它的體積小使用起來方便,不僅功能強功耗還很低,對于使用者來說性價比很高價格也低廉,能夠用到的領(lǐng)域也很多等等,比如說在自動化裝置上、使用智能儀器或儀表使得測量數(shù)據(jù)更精確、通信領(lǐng)域、現(xiàn)代化家用電器、醫(yī)療器械等等各個領(lǐng)域成

4、為不可或缺的一部分。單片機系統(tǒng)的特點:(1) 壽命長什么是壽命長呢?一般分兩個層面來說。一個層面上是指通過單片機制造出來的產(chǎn)品可以穩(wěn)定可靠的的工作很多年,另一層面上是指和其他處理器使用起來的做對比,壽命長很多。(2)8/16/32位共同發(fā)展(3) 運算速度越來越高(4) 低電壓和低功耗(5) 抗干擾能力強、低噪聲和高可靠性1.2 信號發(fā)生器的介紹和分類信號發(fā)生器(signal generator)又稱信號源或振蕩器。是輸出供給量,產(chǎn)生頻率、幅度、波形等主要參數(shù)都可調(diào)的信號。信號發(fā)生器其作用是:測量網(wǎng)絡(luò)的幅頻特性、相頻特性;測量網(wǎng)絡(luò)的瞬態(tài)響應(yīng);測量接收機;測量元件參數(shù)等。用于測量的信號發(fā)生器指的

5、是能夠產(chǎn)生不同頻率、不同幅度的規(guī)則或不規(guī)則的信號源,在電子系統(tǒng)的測量、實驗、校準(zhǔn)和維護中等等方面有著很大的應(yīng)用范圍。它本身可以產(chǎn)生很多種不同的波形,如鋸齒波、矩形波(含方波)、三角波、正弦波等甚至任意波形,各種波形曲線均可用三角函數(shù)方程式表示。如在制作和調(diào)試音頻功率放大器時,就需要人為的輸入一個標(biāo)準(zhǔn)音頻信號,才能測量功率放大器的輸出,得到功率放大器的相關(guān)參數(shù),此時要用到的這個標(biāo)準(zhǔn)音頻信號就是由信號發(fā)生器提供的,可見信號發(fā)生器的應(yīng)用很廣泛。信號源可以分為通用和專用兩種,通用信號源包括:正弦信號源、脈沖信號源、函數(shù)信號源、高頻信號源、噪聲信號源;專用信號源包括:電視信號源、編碼脈沖信號源。信號發(fā)生

6、器根據(jù)輸出波形可以分為:正弦信號發(fā)生器、函數(shù)信號發(fā)生器、脈沖信號發(fā)生器和噪聲信號發(fā)生器。1)正弦信號發(fā)生器主要用于測量電路和系統(tǒng)的頻率特性、非線性失真、增益及靈敏度等。我們根據(jù)它不同用途和它的自身性能還可以分為低頻(20Hz10MHz)信號發(fā)生器、高頻(100kHz300MHz)信號發(fā)生器、微波信號發(fā)生器、掃頻和程控發(fā)生信號發(fā)生器、頻率合成式信號發(fā)生器等。2) 函數(shù)(波形)信號發(fā)生器會產(chǎn)生特定的周期性時間函數(shù)波形(正弦波、方波、三角波、鋸齒波和脈沖波等)信號,頻率范圍能從幾微赫茲到幾十兆赫茲。除供通信、儀表和自動控制系統(tǒng)測試外,還廣泛用于其他非電測量領(lǐng)域。3) 脈沖信號發(fā)生器能產(chǎn)生寬度、幅度和

7、重復(fù)頻率可調(diào)的矩形脈沖的發(fā)生器,可用以測試線性系統(tǒng)的瞬態(tài)響應(yīng),或用作模擬信號來測試?yán)走_、多路通信和其他脈沖數(shù)字系統(tǒng)的性能。4) 隨機信號發(fā)生器它一般還細分為兩種:噪聲信號發(fā)生器和偽隨機信號發(fā)生器。前者信號發(fā)生器的主要用途為:在待測系統(tǒng)中引入一個隨機信號,以模擬實際工作條件中的噪聲而測定系統(tǒng)性能;外加一個已知噪聲信號與系統(tǒng)內(nèi)部噪聲比較以測定噪聲系數(shù);用隨機信號代替正弦或脈沖信號,以測定系統(tǒng)動態(tài)特性等。當(dāng)用噪聲信號進行相關(guān)函數(shù)測量時,若平均測量時間不夠長,會出現(xiàn)統(tǒng)計行誤差,可用偽隨機信號來解決。信號發(fā)生器按照用途分可以分為專用信號發(fā)生器和通用信號發(fā)生器等;按照性能有普通信號發(fā)生器和標(biāo)準(zhǔn)信號發(fā)生器;

8、按照調(diào)制類型可以分為調(diào)幅信號發(fā)生器、調(diào)頻信號發(fā)生器、調(diào)相信號發(fā)生器、脈沖調(diào)制信號發(fā)生器及組合調(diào)制發(fā)生器等;按照頻率調(diào)節(jié)方式可以分為掃頻信號發(fā)生器、程控信號發(fā)生器等。1.3 任務(wù)要求和設(shè)計內(nèi)容本次的任務(wù)要求如下:(1)設(shè)計函數(shù)發(fā)生器,利用51單片機作為控制電路,使該函數(shù)發(fā)生器能產(chǎn)生正弦波、三角波、方波、鋸齒波、梯形波。(2)使用同一按鍵選擇五個波形,依次輸出。要求幅度范圍控制在05V,正弦波的頻率范圍控制在1050Hz,步進值為10Hz;三角波的頻率范圍控制 在50250Hz,步進值為50Hz;方波的頻率范圍控制在2001000Hz,步進值為200Hz;鋸齒波的頻率范圍控制在100500Hz,步

9、進值為100Hz;梯形波的頻率范圍控制在50250Hz,步進值為50Hz。(3)輸出波形的同時LCD上顯示波形名稱和波形頻率數(shù)值。第一行顯示內(nèi)容為:輸出正弦波時顯示:Sine Wave;輸出三角波時顯示:Triangle Wave;輸出方波時顯示:Square Wave;輸出鋸齒波時顯示:Sawtooth Wave;輸出梯形波時顯示:Trapezoidal Wave;第二行顯示內(nèi)容為:Frequency: * Hz 。本次設(shè)計的內(nèi)容分為硬件和軟件兩個部分結(jié)合起來,得到所要五種比較典型的波形。(1)系統(tǒng)的硬件設(shè)計:利用51單片機作為控制電路和DAC0832芯片進行數(shù)模轉(zhuǎn)換結(jié)合成簡易的函數(shù)信號發(fā)生

10、器。這樣電路可以產(chǎn)生所需要的五種波形,正弦波、三角波、方波、鋸齒波和梯形波,同時對幅度和頻率進行相應(yīng)的控制。(2)系統(tǒng)的軟件設(shè)計:在本次設(shè)計中要用到Altium Designer軟件進行PCB制圖,然后編寫程序要在Keil uVision環(huán)境中編譯,再把程序?qū)隨TC89C51芯片中,最后利用示波器觀察所要得到的波形結(jié)果。242 函數(shù)信號發(fā)生器的方案選擇與設(shè)計2.1 函數(shù)信號發(fā)生器設(shè)計方案的選擇2.1.1 信號發(fā)生器電路方案目前實現(xiàn)簡易信號發(fā)生器的方法挺多的,但是主要有以下幾種:方案一:用分立元器件組成的函數(shù)發(fā)生器該方案的缺點比較明顯,不好控制,需要靠手動來轉(zhuǎn)換量程。除此以外,輸出的信號頻率較

11、低,波形質(zhì)量差,輸出頻率可以的調(diào)節(jié)范圍小,設(shè)計的電路繁瑣復(fù)雜并且體積很大不方便操作。方案二:利用專門的函數(shù)發(fā)生器集成芯片組成的函數(shù)發(fā)生器該方案能夠方便的產(chǎn)生多種波形,還能達到較高的頻率,設(shè)計的外圍電路不僅簡單且容易調(diào)試,但缺點就是功能比較少,精確度不高,調(diào)節(jié)起來的時候會發(fā)現(xiàn)方式不夠靈活。方案三:基于單片機結(jié)合DAC0832數(shù)模轉(zhuǎn)換的函數(shù)信號發(fā)生器該方案的優(yōu)點是設(shè)計的電路簡單明了,輸出的信號頻率穩(wěn)定可靠也能達到一定的頻率,并且抗干擾的能力也強,相對于其他方式來說很容易實現(xiàn)很多種不同的波形。可惜不足的地方是因為單片機處理數(shù)據(jù)的速度還是有限,當(dāng)使用者需要它產(chǎn)生頻率較高的信號時,輸出波形的質(zhì)量將會有所

12、影響,造成下降。方案四: 利用專用直接數(shù)字合成( DDS) 芯片輸出頻率的函數(shù)發(fā)生器該方案具有輸出頻率高并且輸出的頻率穩(wěn)定度高,除此之外輸出的分辨率也高,易于實現(xiàn)全數(shù)字控制等優(yōu)點,是目前設(shè)計高精度高性能信號發(fā)生器的首選方案,但是成本較高。為了符合本次設(shè)計的要求和任務(wù),需要從性價比方面和實現(xiàn)難以程度來考慮,比較上面的方案,可以看出方案一和方案二比較難以實現(xiàn),缺點比較明顯不太能夠達到我們所要的效果,方案四雖然更容易實現(xiàn)達到設(shè)計的要求,功能也比較強大,但是成本比較高。最后,綜合所有的考慮,選擇方案三是最合適。2.1.2 顯示電路方案方案一:采用LED數(shù)碼管顯示。LED數(shù)碼管也稱為半導(dǎo)體數(shù)碼管,是很常

13、用的顯示器件。它是以發(fā)光二極管做筆段顯示,按共陰極或共陽極方式連接后封裝而成的。八段LED數(shù)碼管是由8個發(fā)光二極管組成,每個數(shù)碼管輪流顯示各自的字符。顯示二極管的內(nèi)容通過單片機一般有兩種方式:動態(tài)掃描顯示和靜態(tài)顯示。使用靜態(tài)顯示可以使單片機的CPU開銷小,但是需要有能帶鎖存的I/O接口電路。而動態(tài)掃描顯示則是利用視覺暫留的原理,不斷刷新顯示碼,這樣給人的感覺顯示的字符是一直靜止的,它的外圍電路簡單不需要附加鎖存電路。雖然數(shù)碼管編程控制起來比較簡單方便,但要顯示的內(nèi)容比較多,還有一個數(shù)碼管的缺點就是不能顯示字母。方案二:采用液晶LCD1602顯示。LCD1602是一種很省電的電子設(shè)備,功耗也小,

14、透過屏幕可以直接觀察到數(shù)據(jù),能同時顯示出波形的類型、頻率和步進值。LCD同樣是利用編程來控制其輸入,編程靈活方便,另外多于數(shù)碼管的優(yōu)點就是能夠顯示字母 。 以上方案綜合考慮,方案二更合適。2.1.3 按鍵控制電路方案方案一:矩陣式鍵盤。矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通而是通過一個按鍵加以連接,這樣一個端口就可以構(gòu)成4*4=16個按鍵。采用矩陣鍵盤可以用較少的端口控制出比較多的按鍵。雖然可用于節(jié)省不少單片機的I/O口資源,但是編程起來比較復(fù)雜。方案二:獨立鍵盤。獨立鍵盤是一個I/O口控制一個鍵盤比起矩陣式鍵盤來說需要的接口更多點,但其硬件和軟件編程上也比較簡單、價格也便宜。以上

15、方案綜合考慮,方案二更合適。2.2 總體設(shè)計函數(shù)信號發(fā)生器系統(tǒng)主要由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。這次設(shè)計的函數(shù)信號發(fā)生器由單片機(STC89C51)作為主控制電路和DAC0832芯片進行數(shù)模轉(zhuǎn)換構(gòu)成函數(shù)信號發(fā)生器。另外由復(fù)位電路、穩(wěn)壓電源控制電路、整流部分、波形放大電路、按鍵控制部分、LCD液晶顯示電路等構(gòu)成,系統(tǒng)框圖如圖2.1所示:圖2.1 硬件系統(tǒng)框圖波形由所編程序控制產(chǎn)生,由單片機作為核心控制電路,向D/A的輸入端按照一定的規(guī)律傳送數(shù)據(jù),將數(shù)字信號轉(zhuǎn)變成模擬信號,再由DAC0832的輸出端輸出信號,輸出的信號經(jīng)過波形轉(zhuǎn)換電路運算放大器LM324得到不同的波形。通過程序和按鍵控制部分來選

16、擇波形的類型、調(diào)制波形的幅度和頻率。最后在LCD1602上顯示波形的類型及數(shù)值。3 系統(tǒng)硬件電路的設(shè)計3.1 單片機核心控制電路 3.1.1 單片機芯片簡介設(shè)計中采用了STC89C51芯片,和AT89C51一樣都是51系列單片機但是屬于增強型。不僅如此,功能更強大運行速度更快,使用壽命更長。可以不用昂貴的編程器,只用自己做一個編程即可,也都有20引腳和40引腳兩種單片機,采用雙列直插DIP-40封裝。STC可以支持ISP在線編程功能可是AT系列的不能, 還有一個不同的是,STC的在線編程方式是通過串口進行的,AT的是并口編程方式,相對來說STC的在線編程方式簡單點。 從經(jīng)濟

17、實惠上來說,STC芯片比AT的更便宜一些。 所以綜合功能和實際原因來說選用STC是為了減少成本,提高性能,并且原有的程序可以直接使用,硬件也不用改動。STC89系列芯片特性如圖3.2所示。圖3.1 STC芯片特性圖3.1.2 引腳及功能說明 圖3.2 STC89C51引腳圖主要幾個引腳的簡單介紹:1. 電源線:VCC(+5V)、VSS(地)2. 振蕩電路:XTAL1、XTAL2分別為反相器的輸入和輸出端3. 復(fù)位引腳:RST。當(dāng)單片機一開始上電后,在該引腳上就會出現(xiàn)兩個機器周期(24個振蕩周期)寬度以上的高電平,就會使單片機復(fù)位。4. 并行口:P0P4端口引腳5. :訪問程序存儲器控制信號,當(dāng)

18、等于1時,CPU從片內(nèi)程序存儲器開始讀取指令,當(dāng)?shù)扔?時,CPU只訪問外部程序存儲器。6. :外部ROM讀選通信 7. ALE:地址鎖存控制信號3.1.3 單片機硬件原理框圖圖3.3 單片機最小系統(tǒng)3.2 D/A數(shù)模轉(zhuǎn)換電路及波形產(chǎn)生模塊由于單片機只能輸出數(shù)字信號,但是對于控制而言,常常就需要輸出模擬信號,例如本次設(shè)計的函數(shù)信號發(fā)生器產(chǎn)生波形,這時候就需要單片機系統(tǒng)具有輸出模擬信號的能力了。因此,采用了8位雙緩沖D/A轉(zhuǎn)換器DAC0832數(shù)模轉(zhuǎn)換器。D/A數(shù)模轉(zhuǎn)換電路及波形的產(chǎn)生模塊如下圖3.4所示。圖3.4 數(shù)模轉(zhuǎn)換及波形輸出電路圖3.2.1 DAC0832簡介DAC0832是用先進的CMO

19、S工藝做成的位數(shù)是8位的雙列直插式D/A轉(zhuǎn)換器。轉(zhuǎn)換速度為1us,可直接與微機接口,DAC0832的內(nèi)部結(jié)構(gòu)框圖如3.5所示。圖3.5 DAC0832內(nèi)部結(jié)構(gòu)片內(nèi)有R-2R的T型網(wǎng)絡(luò),網(wǎng)絡(luò)自身產(chǎn)生的兩個輸出電流信號IOUT1和IOUT2分別是由兩條對參考電壓供應(yīng)的兩條回路產(chǎn)生的。芯片采用了8位DAC寄存器兩次緩沖方式,這樣做的目的是為了在D/A輸出的同時,還能夠送入下一個數(shù)據(jù),這樣可以提高轉(zhuǎn)換的速度;也可以實現(xiàn)多片D/A轉(zhuǎn)換器的同步輸出。 3.2.2 DAC0832的特點(1)有三種方式:雙緩沖、單緩沖和直接輸入數(shù)字方式;(2) 可以與12位D/A轉(zhuǎn)換器DAC1230系列芯片引腳兼容;(3)

20、直接的數(shù)字接口可以與任何一款單片機相連; (4) 參考電壓可以達到+10V;(5) 可以用于電壓開關(guān)模式;(6) 輸出的是電流信號,電流的建立時間為1us;(7) 單電源供電電壓為515DC,功耗為20mW。3.2.3 DAC0832與MCS-51的接口DAC0832是電流輸出型的,當(dāng)D/A轉(zhuǎn)換的結(jié)果要輸入電壓時,可以在DAC0832的兩個電流輸出端接上一個運算放大器,把電流信號轉(zhuǎn)變成電壓來輸出。3.3 時鐘電路模塊時鐘電路為整個單片機的運行產(chǎn)生“節(jié)奏”,讓單片機內(nèi)部所有的部分都隨著這個節(jié)奏“起舞”。MCS51芯片的內(nèi)部本身也有時鐘電路,可是石英晶體和微調(diào)電容要外接,系統(tǒng)允許的晶振頻率為12M

21、HZ。本次設(shè)計的晶振電路如下圖3.6所示。這次的設(shè)計選用了12MHZ的晶振,分別接引腳 XTAL1 和 XTAL2,電容 C2.1和C2.2都選擇了20pF,對振蕩器的頻率有穩(wěn)定作用。圖3.6 晶振電路3.4 復(fù)位電路模塊方案一:RC復(fù)位電路復(fù)位電路由芯片的復(fù)位引腳RST與VCC直接接上一個10uf的電容,再經(jīng)過一個10K的下拉電阻接GND。復(fù)位電路通常有兩種復(fù)位的方式:上電復(fù)位和按鈕復(fù)位。本次電路設(shè)計里面加了一個按鍵開關(guān),選擇的按鈕復(fù)位。是在系統(tǒng)運行的時候,按一下這個按鍵,RST處就會出現(xiàn)一段高電平,使系統(tǒng)復(fù)位。按鍵復(fù)位電路如下圖3.7所示。 圖3.7 復(fù)位電路方案二:二極管RC復(fù)位電路復(fù)位

22、電路增加了二極管,在電源電壓瞬間下降時使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。按鍵復(fù)位電路如下圖3.8所示。 圖3.8二極管RC復(fù)位電路 綜合所有因素考慮,選取方案一。3.5 液晶顯示電路模塊本次設(shè)計采用的是液晶LCD1602顯示。LCD1602是一種很省電的電子設(shè)備,功耗也小,透過屏幕可以直接觀察到數(shù)據(jù),能同時顯示出波形的類型、頻率和步進值。LCD1602同樣是利用編程來控制其輸入,編程靈活方便,另外多于數(shù)碼管的優(yōu)點就是能夠顯示字母 。液晶顯示部分如下圖3.8所示。圖3.8 液晶顯示電路字符型LCD1602通常有16個引腳,也有少數(shù)有14個引腳,當(dāng)選用14個引腳的LCD1602

23、時,該LCD1602沒有背光。3.6 按鍵接口控制模塊本次設(shè)計采用的是獨立鍵盤。獨立鍵盤是一個I/O口控制一個鍵盤,比起矩陣式鍵盤來說需要的接口更多點,但其硬件和軟件編程上也比較簡單、價格也便宜。這次按鍵部分共有3個按鍵組成,其中按鍵S4.0控制選擇五種波形的類型,按鍵S4.1控制波形頻率的遞增,按鍵S4.2控制波形頻率的遞減。按鍵電路如下圖3.9所示。圖3.9 按鍵電路4 系統(tǒng)軟件的設(shè)計4.1 程序流程圖首先對讓系統(tǒng)上電,對程序初始化,緊接著判斷按鍵是否按下?若按下,則開始計算相關(guān)的參數(shù),計算的同時一方面是利用定時中斷來查詢選擇波形輸出的類型后緊接著輸出波形;另一方面是把計算后的相關(guān)參數(shù)送到

24、顯示的端口處,傳送來的數(shù)據(jù)使得液顯LCD第一行顯示波形的類型,第二行顯示波形的頻率。若按鍵沒有按下,依舊跳到系統(tǒng)初始化處等待著按鍵是否按下。在按鍵按下執(zhí)行完一系列的步驟使得波形輸出后,最后又反饋回去構(gòu)成循環(huán),判斷按鍵的相關(guān)信息。主程序流程圖如4.1所示。開始液晶初始化定時器初始化中斷初始化按鍵是否按下計算參數(shù)輸出相對應(yīng)的波形液晶顯示是否 圖4.1 主程序流程圖 定時器0流程圖如4.2所示。定時器0產(chǎn)生中斷開始是否輸出正弦波?是否輸出三角波?是否輸出方波?是否輸出鋸齒波?結(jié)束查表DAC0832輸出特性相對應(yīng)的電壓值查表DAC0832輸出特性相對應(yīng)的電壓值取反DAC0832輸出特性相對應(yīng)的電壓值是

25、否輸出梯形波查表DAC0832輸出特性相對應(yīng)的電壓值查表DAC0832輸出特性相對應(yīng)的電壓值是是是是是否否否否否圖4.2 定時器0流程圖外部中斷0:控制按鍵,流程圖如圖4.3所示。開始外部中斷0中斷請求是否”選擇”鍵按下是否”加”鍵按下是否”減”鍵按下更新液晶顯示開關(guān)斷結(jié)束輸出波形改變頻率加頻率減是是是否否否圖4.3 外部中斷0流程圖4.2 波形設(shè)計4.2.1 正弦波的設(shè)計本次設(shè)計中正弦波設(shè)定為256個采樣點,即均勻地分為256份。每個采樣點之間的間隔時間是相同的,由定時器來控制間隔時間,計算公式為:。當(dāng)?shù)谝粋€采樣點開始時,系統(tǒng)自動查表獲取采樣點對應(yīng)的電壓,送給DAC0832的輸入端后保持一段

26、時間,再根據(jù)定時器所設(shè)定的時間間隔來進行第二個采樣點的工作,同樣地是系統(tǒng)自動查表獲取所采樣點對應(yīng)的電壓送入到DAC0832的輸入端。由此循環(huán),到第256采樣個點時結(jié)束第一次循環(huán)。這時候,我們在示波器,上就可以看見一個正弦波了。 4.2.2 三角波的設(shè)計三角波設(shè)定為64個采樣點,即均勻地分為64份。每個采樣點之間的間隔時間是相同的,由定時器來控制間隔時間,計算公式為:。當(dāng)?shù)谝粋€采樣點開始時,系統(tǒng)自動查表獲取采樣點對應(yīng)的電壓,送給DAC0832的輸入端后保持一段時間,再根據(jù)定時器所設(shè)定的時間間隔來進行第二個采樣點的工作,同樣地是系統(tǒng)自動查表獲取所采樣點對應(yīng)的電壓送入到DAC0832的輸入端。由此循

27、環(huán),到第64采樣個點時結(jié)束第一次循環(huán)。這時候,我們在示波器上就可以看見一個三角波了。4.2.3 方波的設(shè)計方波設(shè)定為2個采樣點,即均勻地分為2份。每個采樣點之間的間隔時間是相同的,由定時器來控制間隔時間,計算公式為:。當(dāng)?shù)谝粋€采樣點開始時,系統(tǒng)自動查表獲取采樣點對應(yīng)的電壓,送給DAC0832的輸入端后保持一段時間,由于是方波的采樣點比較少,使用保持的時間可以久點。再根據(jù)定時器所設(shè)定的時間間隔來進行第二個采樣點的工作,同樣地是系統(tǒng)自動查表獲取所采樣點對應(yīng)的電壓送入到DAC0832的輸入端。由此循環(huán),到第2采樣個點時結(jié)束第一次循環(huán)。這時候,我們在示波器上就可以看見一個方波了。 4.2.4 鋸齒波的

28、設(shè)計鋸齒波設(shè)定為32個采樣點,即均勻地分為32份。因為鋸齒波的形狀是三角波的一半,所以我們在設(shè)定采樣點可以直接采用三角波采樣點的一半,這樣比較方便。每個采樣點之間的間隔時間仍然是相同的,由定時器來控制間隔時間,計算公式為:。當(dāng)?shù)谝粋€采樣點開始時,系統(tǒng)自動查表獲取采樣點對應(yīng)的電壓,送給DAC0832的輸入端后保持一段時間,再根據(jù)定時器所設(shè)定的時間間隔來進行第二個采樣點的工作,同樣地是系統(tǒng)自動查表獲取所采樣點對應(yīng)的電壓送入到DAC0832的輸入端。由此循環(huán),到第32采樣個點時結(jié)束第一次循環(huán)。這時候,我們在示波器上就可以看見一個鋸齒波了。 4.2.5 梯形波的設(shè)計梯形波設(shè)定為65個采樣點,即均勻地分

29、為65份。每個采樣點之間的間隔時間是相同的,由定時器來控制間隔時間,計算公式為:。當(dāng)?shù)谝粋€采樣點開始時,系統(tǒng)自動查表獲取采樣點對應(yīng)的電壓,送給DAC0832的輸入端后保持一段時間,再根據(jù)定時器所設(shè)定的時間間隔來進行第二個采樣點的工作,同樣地是系統(tǒng)自動查表獲取所采樣點對應(yīng)的電壓送入到DAC0832的輸入端。由此循環(huán),到第65樣個點時結(jié)束第一次循環(huán)。這時候,我們在示波器上就可以看見一個梯形波了。5 系統(tǒng)調(diào)試5.1 硬件調(diào)試通電前先檢查硬件焊接質(zhì)量,例如無短路、無虛焊、無連焊等故障。確認無故障后,隨后上電檢查。硬件調(diào)試主要有電源模塊檢查、電源工作指示燈、晶振模塊檢查、復(fù)位電路檢查、按鍵控制模塊檢查、

30、LCD1602顯示屏模塊檢查。以下是我在硬件調(diào)試過程中碰到的問題及解決方案:(1)上電冒煙,9V電源模塊的工作指示燈沒亮首先通過肉眼觀察,確認是穩(wěn)壓管7809燒了,隨后查找電路圖,經(jīng)過反復(fù)檢查,確定是穩(wěn)壓管7809焊反了。重新?lián)Q過穩(wěn)壓管7809并上電,發(fā)現(xiàn)9V電源模塊的工作指示燈沒亮。因為沒辦法通過肉眼初步判定是哪個地方出了問題,所以我立即用萬用表檢查穩(wěn)壓管7809的輸出電壓,萬用表顯示輸出電壓為9V,大致判定穩(wěn)壓管7809沒有問題,而是9V電源模塊的工作指示燈那一路電路出了問題。隨后立即查找電路圖,經(jīng)過反復(fù)檢查,確認是LED工作指示燈焊反了。將LED工作指示燈重新焊過,隨后重新上電,電源模塊

31、一切正常。(2)LCD1602顯示屏不亮首先通過肉眼觀察,初步判定是短路了。隨后拿來萬用表,打到二極管檔,邊查找電路圖邊檢查電路,經(jīng)過反復(fù)檢查,最終確認是LCD1602顯示屏的VCC引腳與GND引腳短路了。后來用烙鐵將短路的焊錫挑開,重新上電,LCD1602顯示屏工作正常。硬件調(diào)試到此結(jié)束,硬件工作正常。5.2軟件調(diào)試軟件調(diào)試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除的過程。軟件調(diào)試一般采用先獨立后聯(lián)機、先分塊后組合、先單步連續(xù)的調(diào)試方法。在軟件調(diào)試中,首先調(diào)試子程序或函數(shù),其次調(diào)試中斷服務(wù)程序或函數(shù),最后調(diào)試主程序或函數(shù)。許多子程序和目標(biāo)硬件無關(guān),對這部

32、分程序完全可以和硬件進行同步調(diào)試或先于硬件進行調(diào)試。5.3聯(lián)機調(diào)試可以產(chǎn)生五種不同的波形,調(diào)試時只需要測芯片不同輸出信號的對應(yīng)引腳。測試結(jié)果:可以產(chǎn)生正弦波、三角波、方波鋸齒波和梯形波五種不同的波形。 正弦波 方波 三角波 鋸齒波梯形波結(jié)論隨著社會的快速發(fā)展,電子科技發(fā)展的也特別迅速使得現(xiàn)在的世界有了一個本質(zhì)的轉(zhuǎn)變,但在電子給我們帶給我們的便捷的同時,我們也必須要了解掌握更深層次的研究才能才能更好的為社會帶來進步。信號發(fā)生器是一種基本也是常用到的電子儀器,我們在實驗、調(diào)試系統(tǒng)、和對產(chǎn)品的開發(fā)和研究中也是必不可少的,所以這次設(shè)計的函數(shù)信號發(fā)生器是針對比較基本典型的功能來實現(xiàn)的。本次設(shè)計的函數(shù)信號

33、發(fā)生器由兩個部分組成:硬件和軟件兩個部分。在硬件上的設(shè)計是采用51單片機作為控制電路和DAC0832芯片進行數(shù)模轉(zhuǎn)換構(gòu)成函數(shù)信號發(fā)生器。使得電路能產(chǎn)生正弦波、三角波、方波、鋸齒波和梯形波。系統(tǒng)的軟件設(shè)計是在要用到Altium Designer軟件進行PCB制圖,然后編寫程序要在Kcil uVision環(huán)境中編譯,再把程序?qū)隨TC89C51芯片中,最后,通過調(diào)節(jié)示波器來觀察設(shè)計所要得到的五種不同波形結(jié)果。采用單片機設(shè)計的簡易函數(shù)信號發(fā)生器,,該方案優(yōu)點是設(shè)計簡單,輸出信號的頻率穩(wěn)定,抗干擾能力強,容易實現(xiàn)任意波形的信號,突出了簡單、方便、實用等優(yōu)勢。但不足之處是由于單片機處理數(shù)據(jù)的速度有限,當(dāng)

34、需要產(chǎn)生頻率較高的信號時,輸出波形的質(zhì)量將下降。另外當(dāng)時為了電路圖看起來簡單一些,設(shè)計了一個按鍵控制五種波形的展示,其余按鍵控制頻率或者復(fù)位等等,可是操作起來的時候發(fā)現(xiàn)應(yīng)該每一種波形對應(yīng)一個按鍵,這樣的話可以節(jié)省時間,當(dāng)需要那種波形的時候就可以直接按倒哪個波形不需要波形按照設(shè)定的順序輪流顯示。參考文獻1 江志紅. 51單片機技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選M.北京:清華大學(xué)出版社.2008.12 .283.2 臧春華,邵杰,魏小龍. 綜合電子系統(tǒng)設(shè)計與實踐M.北京:北京航空航天大學(xué)出版社.2009.11.271272.3 王松武,于鑫,武思軍. 電子創(chuàng)新設(shè)計與實踐M.北京:國防工業(yè)出版社.2005.

35、1. 235 236.4 寧武,唐曉宇,閆曉金. 全國大學(xué)生電子設(shè)計競賽基本技能指導(dǎo)M.北京:電子工業(yè)出版社.2009.5.194197.5 馬玉麗,康麗娟. 函數(shù)信號發(fā)生器制作方法的比較與分析J.青島遠洋船員學(xué)院學(xué) 報.2007,28( 2) :3437.6 張少輝. 基于DDS技術(shù)構(gòu)建信號發(fā)生器J.中國科技信息.2007,(1) :9496.窗體頂端7 Qiu Hui taught you learn 51 SCM Beijing: Electronic Industry Press M .2009,1 47,152 153,158.8 Zhaoquan Li, Xiao Xingda P

36、rinciples and Applications Guide (second edition) M Beijing: Mechanical Industry Press .2010.1.9 藍和慧,寧武,閆曉金. 全國大學(xué)生電子設(shè)計競賽單片機應(yīng)用技能精解M.北京:電子工業(yè) 出版社.2009.4 39,96.10 樊昌信. 通信原理M.北京:國防工業(yè)出版社.2006.11 蔡美琴. MCS-51系列單片機系統(tǒng)及應(yīng)用M.北京:高等教育出版社.2004,2.12 徐惠民,安德寧丁玉珍. 單片微型計算機原理接口及應(yīng)用第三版M.北京:北京郵電大學(xué)出版社.2007.8.13 紀(jì)宗南. 單片機外圍器件實

37、用手冊M.北京:北京航空航天大學(xué)出版社.1999.14 姚福安. 電子電路設(shè)計與實踐M.濟南:山東科學(xué)技術(shù)出版社.2001.15 陳言俊. 大學(xué)生創(chuàng)新競賽實戰(zhàn):凌陽16位單片機應(yīng)用M.北京:北京航空航天大學(xué)出版 社.2009.8.16 侯玉寶. 基于proteus的51系列M.北京:電子工業(yè)出版社.2008.9.17 馮育長. 單片機設(shè)計與實例分析M.西安:西安電子科技大學(xué)出版社.2007.5.18 李泉溪. 單片機原理與應(yīng)用實例仿真M.北京:北京航空航天大學(xué)出版社.2009.8.致謝時間總是過得悄無聲息,一轉(zhuǎn)眼就到了我們畢業(yè)的時候?;仡櫞髮W(xué)四年,無論是在學(xué)習(xí)還是生活中有很多的苦與樂。通過畢業(yè)

38、設(shè)計讓我明白所學(xué)的知識不僅要掌握熟練還得和實踐結(jié)合起來才能更好的運用到今后的工作中。完事開頭難,做事情要有始有終。最開始很頭痛,可是在做畢業(yè)設(shè)計的過程中,我真的是少不了我的導(dǎo)師耐心指導(dǎo),有不足的時候及時幫我指出,同時還要感謝同學(xué)的熱情幫助和鼓勵,把自己會的知識教給我,讓我能夠順順利利的完成畢業(yè)設(shè)計。通過設(shè)計也讓我學(xué)會在豐富全面的網(wǎng)絡(luò)資源上找到需要的相關(guān)資料。首先要感謝的是我的導(dǎo)師鄧?yán)蠋?,每次在我遇到有關(guān)畢業(yè)設(shè)計上的問題時總是會很耐心的為我解答,每次當(dāng)我們要和老師見面的時候,老師不管天氣怎樣,地點在哪里,都會帶著為我們解疑的心來到學(xué)校和我們見面。我的開題報告、外文翻譯、論文等等都是在鄧?yán)蠋熛ば牡?/p>

39、指導(dǎo)和改進下完成的,在此非常感謝他,雖然畢業(yè)設(shè)計就只有短短的幾個月,但是對我的影響很大,不論是鄧?yán)蠋煹臏Y博知識和崇高的人格品質(zhì),都再次讓我覺得老師這個職業(yè)很神圣偉大。鄧?yán)蠋煘槿穗S和,嚴(yán)謹求實的作風(fēng)與工作態(tài)度,還有對工作對學(xué)生的指導(dǎo),也深深的影響了我。再次感謝我的指導(dǎo)老師。再者,我還要感謝幫助過我的同學(xué)們,當(dāng)我忘記買一些零散的元器件時,他們會幫我買回來;當(dāng)在我制作電路有問題時他們會運用他們比我懂的知識來幫助我解決;當(dāng)在調(diào)試過程中,我的硬件焊接部分找不出原因,編程遇到瓶頸時,他們都會很熱心的來幫助我并教我不懂的部分,我真的也很感謝他們!最后,我還得感謝我的父母,雖然不在身邊,但是他們關(guān)切的話語一直

40、圍繞在我身邊還給予我物質(zhì)和精神上的支持和鼓勵。感謝母校四年的栽培,不僅讓我獲得知識,悉心的栽培我們,還教會我在社會中做人的道理,衷心感謝母校為我們所做的一切,我要更加努力,實現(xiàn)自我的價值來報答父母和母校! 附錄A:硬件電路原理圖 附錄B:PCB圖26附錄三:C51源程序/*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define DAdata P1/DA數(shù)據(jù)端口sbit DA_S1= P31; / 控制DAC0832的8位輸入寄存器,僅當(dāng)都為0時,可以輸出數(shù)據(jù)(處于直通狀態(tài)),否則,輸

41、出將被鎖存sbit key= P32;uchar wavecount; /'抽點'計數(shù)uchar THtemp,TLtemp;/傳遞頻率的中間變量uchar judge=1; /在方波輸出函數(shù)中用于簡單判別作用uchar waveform; /當(dāng)其為0、1、2時,分別代表三種波uchar code freq_unit5=10,50,200,100,50; /三種波的頻率單位uchar idata wavefreq5=1,1,1,1,1; /給每種波定義一個數(shù)組單元,用于存放單位頻率的個數(shù)uchar code lcd_hang1="Sine Wave " &q

42、uot;Triangle Wave " "Square Wave " " sawtooth wave " "trapezoidal wave" "Select Wave: " "press No.1 key! "uchar idata lcd_hang216="f= Hz "/*這兩組數(shù)組很重要,需要根據(jù)波形來調(diào)試,選擇合適的值,使輸出波形達到頻率要求*/uchar code waveTH= 0xfe,0xff,0xff,0xff,0xff, 0xfe,0xff,0

43、xff,0xff,0xff,0xf6,0xfb,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff;uchar code waveTL= 0x8a,0x4e,0x93,0xb3,0xc6, /正弦波頻率調(diào)整中間值0xde,0x7a,0xaf,0xc8,0xee, /三角波頻率調(diào)整中間值0x50,0x32,0xbe,0xa3,0x2c,0x8a,0x4e,0x93,0xb3,0xc6,0x8a,0x4e,0x93,0xb3,0xc6; /方波頻率調(diào)整中間值/*/uchar code triangle_tab= /每隔數(shù)

44、字8,采取一次0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78,0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0xe0,0xe8,0xf0,0xf8,0xff,0xf8,0xf0,0xe8,0xe0,0xd8,0xd0,0xc8,0xc0,0xb8,0xb0,0xa8,0xa0,0x98,0x90,0x88,0x80,0x78,0x70,0x68,0x60,0x58,0x50,0x48,0x40,0x38,0x3

45、0,0x28,0x20,0x18,0x10,0x08,0x00;uchar code sine_tab256=/輸出電壓從0到最大值(正弦波1/4部分)0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,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

46、,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,/輸出電壓從最大值到0(正弦波1/4部分)0xff,0xff,0xff,0xff,0xff,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,0xc

47、f,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,/輸出電壓從0到最小值(正弦波1/4部分)0x80,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,0

48、x2e,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,0x00,0x00,0x00,0x00,/輸出電壓從最小值到0(正弦波1/4部分)0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0

49、e,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 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80; void delay(uchar z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void tr

50、iangle_out()/三角波輸出 DAdata=triangle_tabwavecount+;if(wavecount>64) wavecount=0;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void sawtooth_out()/鋸齒波輸出 DAdata=triangle_tabwavecount+;if(wavecount>32) wavecount=0;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void trapezoidal_out()/梯形波輸出 if(wavecount<22)DAdata=

51、triangle_tabwavecount+;else if(wavecount>41)DAdata=triangle_tabwavecount+;else wavecount+;if(wavecount>64) wavecount=0;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void sine_out() /正弦波輸出 DAdata=sine_tabwavecount+;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void square_out() /方波輸出 judge=judge; if(judge=1) D

52、Adata=0xff;else DAdata=0x00;DA_S1=0; /打開8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器/*1602液晶的相關(guān)函數(shù)*/#define lcd_ports P0sbit rs=P20;sbit rw=P21;sbit lcden=P22;void write_com(uchar com)rs=0;/置零,表示寫指令lcden=0;lcd_ports=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;/置1,表示寫數(shù)據(jù)(在指令所指的地方寫數(shù)據(jù))lcden=0;lcd_ports=date;delay(5);lcden=1;delay(5);lcden=0;void

溫馨提示

  • 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

提交評論