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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19、S工藝做成的位數(shù)是8位的雙列直插式D/A轉(zhuǎn)換器。轉(zhuǎn)換速度為1us,可直接與微機(jī)接口,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)生的兩個(gè)輸出電流信號(hào)IOUT1和IOUT2分別是由兩條對(duì)參考電壓供應(yīng)的兩條回路產(chǎn)生的。芯片采用了8位DAC寄存器兩次緩沖方式,這樣做的目的是為了在D/A輸出的同時(shí),還能夠送入下一個(gè)數(shù)據(jù),這樣可以提高轉(zhuǎn)換的速度;也可以實(shí)現(xiàn)多片D/A轉(zhuǎn)換器的同步輸出。 3.2.2 DAC0832的特點(diǎn)(1)有三種方式:雙緩沖、單緩沖和直接輸入數(shù)字方式;(2) 可以與12位D/A轉(zhuǎn)換器DAC1230系列芯片引腳兼容;(3)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

35、1. 235 236.4 寧武,唐曉宇,閆曉金. 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽基本技能指導(dǎo)M.北京:電子工業(yè)出版社.2009.5.194197.5 馬玉麗,康麗娟. 函數(shù)信號(hào)發(fā)生器制作方法的比較與分析J.青島遠(yuǎn)洋船員學(xué)院學(xué) 報(bào).2007,28( 2) :3437.6 張少輝. 基于DDS技術(shù)構(gòu)建信號(hào)發(fā)生器J.中國(guó)科技信息.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 藍(lán)和慧,寧武,閆曉金. 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽單片機(jī)應(yīng)用技能精解M.北京:電子工業(yè) 出版社.2009.4 39,96.10 樊昌信. 通信原理M.北京:國(guó)防工業(yè)出版社.2006.11 蔡美琴. MCS-51系列單片機(jī)系統(tǒng)及應(yīng)用M.北京:高等教育出版社.2004,2.12 徐惠民,安德寧丁玉珍. 單片微型計(jì)算機(jī)原理接口及應(yīng)用第三版M.北京:北京郵電大學(xué)出版社.2007.8.13 紀(jì)宗南. 單片機(jī)外圍器件實(shí)

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

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

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

40、圍繞在我身邊還給予我物質(zhì)和精神上的支持和鼓勵(lì)。感謝母校四年的栽培,不僅讓我獲得知識(shí),悉心的栽培我們,還教會(huì)我在社會(huì)中做人的道理,衷心感謝母校為我們所做的一切,我要更加努力,實(shí)現(xiàn)自我的價(jià)值來(lái)報(bào)答父母和母校! 附錄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í),可以輸出數(shù)據(jù)(處于直通狀態(tài)),否則,輸

41、出將被鎖存sbit key= P32;uchar wavecount; /'抽點(diǎn)'計(jì)數(shù)uchar THtemp,TLtemp;/傳遞頻率的中間變量uchar judge=1; /在方波輸出函數(shù)中用于簡(jiǎn)單判別作用uchar waveform; /當(dāng)其為0、1、2時(shí),分別代表三種波uchar code freq_unit5=10,50,200,100,50; /三種波的頻率單位uchar idata wavefreq5=1,1,1,1,1; /給每種波定義一個(gè)數(shù)組單元,用于存放單位頻率的個(gè)數(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ù)波形來(lái)調(diào)試,選擇合適的值,使輸出波形達(dá)到頻率要求*/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; /打開(kāi)8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void sawtooth_out()/鋸齒波輸出 DAdata=triangle_tabwavecount+;if(wavecount>32) wavecount=0;DA_S1=0; /打開(kāi)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; /打開(kāi)8位輸入寄存器DA_S1=1; /關(guān)閉8位輸入寄存器void sine_out() /正弦波輸出 DAdata=sine_tabwavecount+;DA_S1=0; /打開(kāi)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; /打開(kāi)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;/置零,表示寫(xiě)指令lcden=0;lcd_ports=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;/置1,表示寫(xiě)數(shù)據(jù)(在指令所指的地方寫(xiě)數(shù)據(jù))lcden=0;lcd_ports=date;delay(5);lcden=1;delay(5);lcden=0;void

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論