【直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)7400字(論文)】_第1頁(yè)
【直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)7400字(論文)】_第2頁(yè)
【直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)7400字(論文)】_第3頁(yè)
【直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)7400字(論文)】_第4頁(yè)
【直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)7400字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

IV直接數(shù)字合成信號(hào)系統(tǒng)的硬件和軟件系統(tǒng)設(shè)計(jì)目錄TOC\o"1-3"\h\u36931引言 127342DDS的工作原理 294703直接數(shù)字合成信號(hào)系統(tǒng)的硬件設(shè)計(jì) 3295733.1單片機(jī)模塊 339633.2D/A轉(zhuǎn)換模塊 4177073.3放大模塊 5263273.4按鍵模塊 6233733.5顯示模塊 6195634直接數(shù)字合成信號(hào)系統(tǒng)的軟件設(shè)計(jì) 7155484.1主程序流程圖 7213094.2子程序流程圖 85315測(cè)試結(jié)果及波形分析 13257185.1測(cè)試的結(jié)果 13242665.2波形頻率分析 15196結(jié)論 1618346參考文獻(xiàn) 171引言在70年代之前,函數(shù)發(fā)生器只可以輸出一些經(jīng)常使用的波形。要用復(fù)雜的電路和機(jī)電方法,才能產(chǎn)生其它的波形。這個(gè)年代的信號(hào)發(fā)生器不僅采用了模擬式的電子技術(shù),而且由模擬元件所組成的集合控制電路REF_Ref2775\r\h[1],有體積笨重、價(jià)格不合理等缺陷。在70年代后,微處理器(包括單片機(jī))的誕生,可以充分運(yùn)用處理器、A/D和D/A,使得波形信號(hào)發(fā)生器的作用范圍得到增加,產(chǎn)生更加復(fù)雜的波形[1]。這一年代的微型波形發(fā)生器大都主要是以應(yīng)用軟件設(shè)計(jì)為主,實(shí)質(zhì)上只要我們通過直接采用一個(gè)小型微處理器軟件來(lái)直接進(jìn)行各種DAC的并行編程和自動(dòng)控制,就已經(jīng)完全可以輕松設(shè)計(jì)生產(chǎn)出各種類型簡(jiǎn)易化的微型波形[2]。當(dāng)今現(xiàn)代電子技術(shù)的迅猛發(fā)展促進(jìn)了信號(hào)發(fā)生器的設(shè)計(jì)和制造,并且在電子線路、科研項(xiàng)目以及教育實(shí)驗(yàn)中得到了廣泛的運(yùn)用。直接數(shù)字頻率合成(DDS-DirectDigitalSynthesis)的技術(shù)[3],在1971年3月,被美國(guó)著名學(xué)者J.Tiern-cy,C.M.Rader和B.Gold首次提出。在直接數(shù)字合成技術(shù)技術(shù)的圖像頻率和信號(hào)分辨率很高,同時(shí)它還具備了信號(hào)輸出端的頻點(diǎn)參數(shù)較多、切換速度快等諸多優(yōu)點(diǎn),所以產(chǎn)生的各種復(fù)雜波形信號(hào)都是穩(wěn)定、低頻無(wú)失真的。本論文主要內(nèi)容包含以下幾個(gè)部分。一、簡(jiǎn)要介紹了信號(hào)發(fā)生器的歷史和現(xiàn)狀。二、介紹了DDS的工作原理。三、詳細(xì)的闡述了直接數(shù)字合成信號(hào)的實(shí)現(xiàn)過程和結(jié)果。2DDS的工作原理DDS的基本采樣理論是依據(jù)奈奎斯特采樣定理進(jìn)行采樣的。對(duì)于一個(gè)同時(shí)具有不同相位幅度軸,相個(gè)幅度的正弦波連續(xù)信號(hào),可以沿其具有相位幅度軸的一個(gè)方向,以長(zhǎng)度等量的一個(gè)相位幅度間隔,對(duì)其連續(xù)信號(hào)長(zhǎng)度進(jìn)行一個(gè)相位或者相個(gè)幅度連續(xù)采樣,得到一個(gè)同時(shí)具有一定周期性的正弦波連續(xù)信號(hào),采樣可以分析和計(jì)算先前模擬的幅度長(zhǎng)度的量化值,然后對(duì)數(shù)據(jù)進(jìn)行量化,量化后的相位幅值序列數(shù)據(jù)可以同時(shí)采用相應(yīng)的模擬二進(jìn)制數(shù)字計(jì)算和數(shù)據(jù)庫(kù)方法REF_Ref31866\r\h[4],并用于數(shù)據(jù)分析和計(jì)算編碼。這樣就把一個(gè)不同周期的正弦波,連續(xù)發(fā)射信號(hào)通過轉(zhuǎn)換成一系列離散的一個(gè)二進(jìn)制相位的數(shù)字變量,然后將它們一起保存在一個(gè)rom中,每一個(gè)存儲(chǔ)單元的數(shù)據(jù)地址也是說就是一個(gè)經(jīng)過相位幅值采樣的數(shù)據(jù)地址REF_Ref32637\r\h[5],存儲(chǔ)單元的數(shù)據(jù)內(nèi)容長(zhǎng)度也就是一個(gè)不同周期正弦波的相位幅值。DDS的主要基本原理及其結(jié)構(gòu)如圖1所示,它由信號(hào)相位累加器、信號(hào)存儲(chǔ)器、D/A轉(zhuǎn)換器、低通濾波器組成。在經(jīng)過頻率信號(hào)脈沖相碼控制下,頻率脈沖控制的相位數(shù)字由信號(hào)累加器可以獲得輸出相應(yīng)的相位頻率脈沖相碼,相碼尋址變換波形中的存儲(chǔ)器碼為rom,在進(jìn)行頻率相碼-幅度編碼尋址變換后將會(huì)對(duì)輸出不同信號(hào)頻率的輸出幅度信號(hào)進(jìn)行相位編碼,再經(jīng)過多個(gè)數(shù)/模信號(hào)轉(zhuǎn)換器可以獲得輸出相應(yīng)的連續(xù)信號(hào)波形,然后,通過低通濾波器REF_Ref218\r\h[6],可以去除不必要的相位采樣輸出信號(hào)波形分量,即可以直接得到由經(jīng)過頻率脈沖控制的相位數(shù)字輸出幅度變化決定的連續(xù)波形變化后的輸出信號(hào)波形。圖圖1DDS工作原理圖3直接數(shù)字合成信號(hào)系統(tǒng)的硬件設(shè)計(jì)本論文中所設(shè)計(jì)的直接數(shù)字合成信號(hào)的系統(tǒng)均采用了單片機(jī)模塊作為信號(hào)處理和控制的核心,主要有MCU模塊、D/A轉(zhuǎn)換模塊、放大模塊、按鍵模塊、顯示模塊。單片機(jī)模塊負(fù)責(zé)控制整個(gè)系統(tǒng)的工作和運(yùn)行,檢測(cè)各個(gè)按鍵模塊中各個(gè)按鍵的工作狀態(tài),并根據(jù)各個(gè)按鍵的狀態(tài)輸出相應(yīng)的類型和頻率發(fā)送相同的波形數(shù)據(jù);D/A轉(zhuǎn)換模塊將從微控制器輸入的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),該模擬信號(hào)再經(jīng)過放大模塊的濾波和噪聲作用后進(jìn)行輸出;顯示模塊可以用于顯示波形的類型和頻率;按鍵模塊可以用于自動(dòng)選擇各種波形、信號(hào)頻率的調(diào)節(jié)以及頻率調(diào)節(jié)步進(jìn)值的設(shè)定。其系統(tǒng)的結(jié)構(gòu)圖如圖2所示。顯示模塊顯示模塊按鍵模塊單片機(jī)模塊D/A轉(zhuǎn)換模塊模塊轉(zhuǎn)換放大模塊圖2直接數(shù)字合成信號(hào)的系統(tǒng)結(jié)構(gòu)圖3.1單片機(jī)模塊本設(shè)計(jì)用AT89C51芯片,外連接一個(gè)晶振電路和一個(gè)復(fù)位電路,圖3為單片機(jī)模塊電路原理圖。XTAL1和XTAL2引腳連接兩個(gè)30pF的電容C1、C2并聯(lián)一個(gè)12MHz的晶振構(gòu)成一個(gè)晶振電路,為單片機(jī)提供12MHz的基準(zhǔn)時(shí)鐘信號(hào)REF_Ref718\r\h[7]。RST復(fù)位輸入引腳連接一個(gè)0805貼片的10k阻值的電阻R1、復(fù)位按鍵KEY5和一個(gè)10uF容值的0805貼片電容C3串聯(lián)構(gòu)成一個(gè)復(fù)位電路。圖圖3單片機(jī)模塊電路原理圖晶振電路的作用幾乎相當(dāng)于人的心臟,人的心臟每分鐘可以反復(fù)跳動(dòng)數(shù)十次甚至數(shù)百次,而對(duì)于一臺(tái)小型單片機(jī)來(lái)說,這實(shí)在太慢了。圖3中的一個(gè)晶振器將信號(hào)振蕩頻率設(shè)定為12MHz(1MHz=Hz),正常工作情況下,每秒每分鐘可以振蕩12×次。在接通移動(dòng)電源時(shí),晶振電路就可以給單片機(jī)提供一個(gè)頻率很穩(wěn)定的時(shí)鐘信號(hào),驅(qū)動(dòng)單片機(jī)工作。復(fù)位電路的電路原理是用電容C3在上接高電平、電阻R1在下接地和按鍵KEY5接高電平并聯(lián)后連接單片機(jī)的RST引腳。這種連接法的主要目的之一是在單片機(jī)接通電源后,當(dāng)按下KEY5時(shí),RST直接與VCC相連,同時(shí)R1對(duì)C3放電,從而導(dǎo)致C3被短路,使得RST為高電平,在出現(xiàn)程序錯(cuò)誤或操作不當(dāng)?shù)腻e(cuò)誤時(shí),整個(gè)系統(tǒng)都會(huì)進(jìn)入死鎖狀態(tài),這時(shí)就可以按下復(fù)位鍵KEY5重新啟動(dòng),這樣就可以讓整個(gè)單片機(jī)能夠從頭到尾地執(zhí)行程序。松開KEY5時(shí),R1對(duì)C3進(jìn)行充電,在充電過程中結(jié)束后,C3的相當(dāng)于單片機(jī)的開路,RST為一個(gè)低電平,使得單片機(jī)能夠正常運(yùn)行其中,由于P0口是開路,不能在電路上輸出高電平,如果微控制器要驅(qū)動(dòng)LCD顯示器發(fā)光,則必須由電源驅(qū)動(dòng),如果沒有電源,LCD顯示屏就亮不了,所以就需要外接一個(gè)10k阻值的上拉電阻RP1來(lái)提高增強(qiáng)其驅(qū)動(dòng)功率。3.2D/A轉(zhuǎn)換模塊本設(shè)計(jì)的D/A轉(zhuǎn)換模塊采用的是DAC0832芯片,因?yàn)镾TC89C51單片機(jī)在進(jìn)行轉(zhuǎn)換時(shí)所產(chǎn)生的所有信號(hào)都數(shù)字信號(hào),要想得到所有必需的波形信號(hào),就必須把單片機(jī)的數(shù)字信號(hào)轉(zhuǎn)換成一個(gè)模擬信號(hào)。所以采用了DAC0832直通工作的方式,當(dāng)芯片DAC0832的數(shù)據(jù)信號(hào)鎖存控制功能能夠允許芯片控制數(shù)字信號(hào)數(shù)據(jù)輸出控制線ILE引腳接+5V,片選數(shù)字信號(hào)數(shù)據(jù)輸出控制線/CS引腳、寫數(shù)字信號(hào)數(shù)據(jù)輸出控制線/WR1和/WR2引腳、數(shù)據(jù)信號(hào)傳送線和控制線寫信號(hào)/XFER引腳全部完成接地時(shí),DAC0832芯片就保持一個(gè)直通工作方式,DAC0832的DI0~DI7直接連STC89C51單片機(jī)的P0口。單片機(jī)一旦把一個(gè)數(shù)字信號(hào)數(shù)據(jù)輸入通過端口的調(diào)整連接到DAC0832芯片,就直接從這個(gè)端口輸出進(jìn)入芯片DAC的數(shù)據(jù)寄存器,進(jìn)行對(duì)應(yīng)的數(shù)字信號(hào)與其他模擬信號(hào)的數(shù)據(jù)轉(zhuǎn)換。圖4為D/A轉(zhuǎn)換模塊電路原理圖。圖圖4D/A轉(zhuǎn)換模塊電路原理圖其中圖4的DAC0832芯片的模擬電流輸出端Iout1外接兩個(gè)0.1uF容值的C6、C7和兩個(gè)100歐姆電阻R2、R3并聯(lián)可以組成電阻的分壓電路,目的主要是通過兩個(gè)電阻進(jìn)行分壓之后,在兩個(gè)電阻上再次并聯(lián)兩個(gè)電容,起到一個(gè)電容濾波電路的作用,用于濾除干擾信號(hào),這樣Iout1就輸出一個(gè)穩(wěn)定電壓。因DAC0832一種電流輸出型D/A轉(zhuǎn)換控制芯片,轉(zhuǎn)換后的結(jié)果是輸出電流信號(hào)而不是輸出電壓信號(hào),所以在這種轉(zhuǎn)換電路中電流輸出端Iout1、Iout2與一個(gè)放大器相連,就可以直接完成了電流信號(hào)和輸出電壓信號(hào)之間的轉(zhuǎn)換。根據(jù)DAC0832芯片內(nèi)部工作原理,當(dāng)轉(zhuǎn)換電路中的Iout1為一個(gè)穩(wěn)定輸出電壓,Iout2接地時(shí),即正常參考電壓的輸入端VREF可以用來(lái)作為一個(gè)輸出端,可以輸出不同的電壓值,轉(zhuǎn)換器就能夠直接從正常參考電壓的輸入端VREF引腳處直接采取輸出端的電壓,可以輸出在0V到255/256VREF范圍的電壓。這樣就可以省去電流信號(hào)與電壓信號(hào)之間的轉(zhuǎn)換,放大器可接可不接,但在本設(shè)計(jì)要把信號(hào)顯示在顯示屏上,所以還是要接放大器把信號(hào)放大后顯示出來(lái)。3.3放大模塊本設(shè)計(jì)的放大模塊采用的是LM358芯片[7],其主要作用是把信號(hào)的幅值放大,然后把放大后的信號(hào)輸給示波器顯示出來(lái)。LM358芯片內(nèi)部分別設(shè)置了兩個(gè)獨(dú)立的、高功耗和自動(dòng)減振輸出幅度自動(dòng)補(bǔ)償、內(nèi)部輸出頻率自動(dòng)互換等功能補(bǔ)償?shù)南辔贿\(yùn)算極性放大器,利用這個(gè)LM358反相位高比例極性放大輸出電路的基本工作控制原理,可以直接用來(lái)實(shí)現(xiàn)雙相位的放大輸出電壓。圖圖5LM358電路原理圖圖5為L(zhǎng)M358電路原理圖。運(yùn)用LM358運(yùn)放使用單電源供電原理,把4腳接地,目的是輸出的電壓總是大于0,不可能輸出負(fù)電壓的,即可直接把VREF輸入進(jìn)來(lái)的電壓進(jìn)行放大。其中5引腳連接到DAC0832的VREF引腳,6引腳接1k電阻R4和7腳,7腳連接3腳,4腳接地,8腳接5V,2腳接通1腳,最后1腳把放大器中經(jīng)過放大的信號(hào)輸?shù)绞静ㄆ髦胁@示波形圖案;其中6腳和7腳之間接了一個(gè)1k的調(diào)節(jié)電位器RV2,通過這個(gè)調(diào)節(jié)電位器可以使得放大倍數(shù)有所增加,從而達(dá)到幅值在1.5V-3.5V內(nèi)進(jìn)行調(diào)幅,并在示波器上把需要放大的各種波形和信號(hào)都顯示了出來(lái)。3.4按鍵模塊本設(shè)計(jì)的按鍵模塊由KEY1、KEY2、KEY3、KEY4四個(gè)按鍵模塊所構(gòu)成,四個(gè)按鍵的輸入線連接單片機(jī)的P3.7~P3.4,另一腳接地,它的工作原理是不按任何按鍵時(shí),各個(gè)輸入線之間均呈高電平;當(dāng)有按鍵下時(shí),就是低電平。圖6為按鍵模塊電路原理圖。圖圖6按鍵模塊電路原理圖圖6中KEY1用來(lái)切換正弦波、方波、三角波、鋸齒波四種類型的波形信號(hào),KEY2用于減小頻率,KEY3用于增加頻率,當(dāng)按下KEY2時(shí)輸出波形的頻率就會(huì)減小,按下KEY3時(shí)輸出波形的頻率就會(huì)增加,但是接通電源時(shí),它的默認(rèn)頻率約為10Hz,KEY3按一下時(shí),頻率只能加0.1Hz,、KEY2按一下時(shí),頻率只減0.1Hz,就會(huì)導(dǎo)致在測(cè)試時(shí)很不方便所以設(shè)置了KEY4按鍵,其原因是當(dāng)按下KEY4時(shí),就會(huì)進(jìn)入步進(jìn)值設(shè)置的界面,步進(jìn)值可以在0.1~10Hz頻率之間進(jìn)行調(diào)節(jié),按KEY2和KEY3來(lái)調(diào)節(jié)步進(jìn)值大小,步進(jìn)值設(shè)置好后(例如設(shè)置5Hz),再按一下KEY4鍵時(shí),退出步進(jìn)值調(diào)節(jié)界面,會(huì)看到,按一下KEY2,頻率就會(huì)增加5Hz。3.5顯示模塊本設(shè)計(jì)采用LCD1602液晶顯示屏為顯示模塊,第一行顯示波形圖案,第二行顯示頻率。用LCD1602直接和AT89C51接口,D0~D7接AT89C51的P0.0~P0.7REF_Ref1417\r\h[8],VEE接10k可變電阻RV1,其目的是來(lái)調(diào)整屏幕對(duì)比度,VSS接地,VDD接VCC,LCD1602的RS連接到微控制器的P2.7端口,將RW引腳接地,電平高時(shí),可以直接讀數(shù)字信號(hào),E引腳接單片機(jī)的P2.6口,當(dāng)E由高電平到低電平時(shí),LCD1602液晶就開始自動(dòng)執(zhí)行命令。當(dāng)接通電源時(shí),系統(tǒng)程序編寫在顯示屏第一行上顯示正弦波圖案,同時(shí)LED0發(fā)光;顯示方波圖案,同時(shí)LED1發(fā)光;顯示三角波圖案,同時(shí)LED2發(fā)光;顯示鋸齒波圖案,同時(shí)LED3發(fā)光,并把相對(duì)應(yīng)的頻率數(shù)值顯示在第二行。圖7為L(zhǎng)CD1602顯示電路原理圖。圖圖7LCD1602顯示電路原理圖4直接數(shù)字合成信號(hào)系統(tǒng)的軟件設(shè)計(jì)在本設(shè)計(jì)中,系統(tǒng)軟件部分中的主程序搭建控制框架,子程序發(fā)出波形信號(hào)并根據(jù)需求有效控制。通過編寫程序可以獲得四種波形信號(hào)。主程序、鋸齒波程序、三角波程序、正弦波程序、方波程序、延時(shí)子程序六個(gè)程序塊可以來(lái)實(shí)現(xiàn)不同的功能[9]。延時(shí)電路子程序來(lái)實(shí)現(xiàn)波形頻率的變化[10]。只要按下設(shè)置的按鍵就能夠發(fā)出所需波形并在顯示屏顯示所需波形圖案。4.1主程序流程圖主程序流程圖如下圖8所示。開始按KEY1開始按KEY1輸出波形類型減小頻率值增加頻率值設(shè)置步進(jìn)值KEY2KEY3KEY4YYYYNNNN圖8主程序流程圖本次設(shè)計(jì)各種波形的輸出通過按鍵來(lái)控制,按KEY4是調(diào)節(jié)步進(jìn)值,按KEY3是在步進(jìn)值調(diào)節(jié)頁(yè)面增加頻率步進(jìn)值,按KEY2是在步進(jìn)值調(diào)節(jié)頁(yè)面減少頻率步進(jìn)值,按KEY1的作用是切換顯示四種類型的波形圖。為了更好的觀察和輸出波形,每個(gè)不同的功能的模塊用不同的ID號(hào)標(biāo)識(shí),每按一次KEY1,ID的值是不相同的,在編程中定義一個(gè)變量boxing等于相應(yīng)的值而輸出設(shè)定的波形,當(dāng)boxing=0時(shí),輸出正弦波,且LED3=1,LED0=0;當(dāng)boxing=1時(shí),輸出方波,且LED0=1,LED1=0;當(dāng)boxing=2時(shí),輸出三角波,且LED1=1,LED2=0;當(dāng)boxing=3時(shí),輸出鋸齒波,且LED2=1,LED3=0。只要每次按下開關(guān)KEY1時(shí),就會(huì)給出不同的boxing值就可以循環(huán)輸出設(shè)計(jì)的四種波形,但在接通電源時(shí),設(shè)置正弦波為初始波形,同時(shí)發(fā)光二極管LED0發(fā)光。4.2子程序流程圖圖9為產(chǎn)生正弦波程序的流程圖。當(dāng)M(數(shù)字量)電路中的內(nèi)容為0時(shí),輸出一個(gè)對(duì)應(yīng)的模擬量,其中M的內(nèi)容為00H,通過正弦函數(shù)表中的數(shù)據(jù)可以查詢到正弦波的波形信號(hào),再由此輸出一個(gè)對(duì)應(yīng)的模擬量送到轉(zhuǎn)換電路,經(jīng)過第一個(gè)數(shù)據(jù)指針(SP)加1得出新的SP,M最后不等于129就輸出正弦波,否則一直循環(huán)以上操作,直到輸出正弦波信號(hào)就跳出。開始開始M=00HSP=SP+1M=正弦數(shù)據(jù)表數(shù)據(jù)M送到D/A輸出YNM=129M???圖9產(chǎn)生正弦波的程序流程圖產(chǎn)生正弦波的波形代碼及其程序如下所述。ucharcodesin[64]={135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128};電源接通時(shí),按下自鎖開關(guān),示波器顯示正弦波圖案,而且D1發(fā)光。其圖10為正弦波仿真圖。圖10正弦波仿真圖圖11為輸出方波的程序流程圖。當(dāng)M等于0時(shí),就輸出M等于0時(shí)的模擬量,然后對(duì)M進(jìn)行一次延時(shí),當(dāng)M等于FFH時(shí),同樣就輸出M等于FFH時(shí)的模擬量,再對(duì)M進(jìn)行一次延時(shí),就可以直接得到方波[9]。產(chǎn)生方波的波形代碼及其程序如下所述。ucharcodejuxing[64]={255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};開始開始M=00HM送到D/A輸出M延時(shí)M=FFHM送到D/A輸出M延時(shí)圖11輸出方波的程序流程圖按KEY1一下時(shí),示波器顯示方波圖案,而且D2發(fā)光。其圖12為仿真圖。圖12方波仿真圖圖13為產(chǎn)生三角波的流程圖。把DAC0832的地址設(shè)置為00H,M中數(shù)據(jù)自增后加1,當(dāng)M被增加到為0時(shí),與FFH相比REF_Ref2187\r\h[9],結(jié)果相等,M中的數(shù)據(jù)就自減,如此進(jìn)行循環(huán)而產(chǎn)生三角波。產(chǎn)生三角波的代碼如下所述。ucharcodesanjiao[64]={0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0};開始開始M=00HM送到D/A輸出M=M+1M=M-1M送到D/A輸出NYYNM=00H??M=00H??圖13產(chǎn)生三角波的流程圖按KEY1兩下時(shí),示波器顯示三角波圖案,而且D3發(fā)光。其圖14為仿真圖。圖14三角波仿真圖圖15為產(chǎn)生鋸齒波的流程圖。把00H信號(hào)送入輸出寄存器M中,DAC0832當(dāng)輸入寄存器M等于FFH時(shí),則返回開始位置重新開始。M不等于FFH時(shí),M就開始累加,直到最后得到鋸齒波形REF_Ref2187\r\h[9]。產(chǎn)生鋸齒波代碼如下所述。ucharcodejuchi[64]={0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,215,219,223,227,231,235,239,243,247,251,255};MM=00HM送到D/A輸出M=M+1開始YNM=FFH?圖15產(chǎn)生鋸齒波的流程圖按KEY1三下時(shí),示波器顯示鋸齒波圖案,而且D4發(fā)光。其圖16為仿真圖。圖16鋸齒波仿真圖圖17為設(shè)置的延時(shí)子程序流程圖。在執(zhí)行延時(shí)程序時(shí),首先針對(duì)于電阻R6和電阻R7設(shè)一個(gè)初始值,然后進(jìn)入第一個(gè)判斷語(yǔ)句,當(dāng)R7減1時(shí),判斷R7是否為0,如果不滿足條件,則跳回到循環(huán)中,滿足就跳出循環(huán)體,執(zhí)行第二個(gè)判斷語(yǔ)句,當(dāng)R6減1時(shí),判斷R6是否為0,不滿足條件就跳回到第一個(gè)判斷語(yǔ)句繼續(xù)判斷循環(huán),直到滿足條件跳出執(zhí)行其他程序。這就是延時(shí)程序的工作流程,從而達(dá)到延時(shí)的作用。開始開始R6設(shè)初始值R7設(shè)初始值R7-1,R7=0?R6-1,R6=0?返回NYYN圖17設(shè)置的延時(shí)子程序流程圖5測(cè)試結(jié)果及波形分析5.1測(cè)試的結(jié)果當(dāng)每個(gè)部分的基本程序都編寫和調(diào)試好后,就進(jìn)行總體的測(cè)試了。用KeiluVision5軟件編寫程序和調(diào)試程序,把.hex文件,下載到單片機(jī)里去,然后直接在protues軟件進(jìn)行仿真[11]。用實(shí)驗(yàn)室臺(tái)式示波器對(duì)本設(shè)計(jì)信號(hào)發(fā)生器進(jìn)行測(cè)試和驗(yàn)證。探頭信號(hào)測(cè)試鉤接信號(hào)發(fā)生器信號(hào)端,探頭地線連接信號(hào)發(fā)生器的地,把探頭插入插座。當(dāng)接通電源,按下開關(guān)時(shí),可以看到,信號(hào)發(fā)生器上顯示正弦波,頻率為10Hz,同時(shí)LED0發(fā)光;示波器上顯示正弦波,頻率為10.3Hz,如圖18所示。圖18圖18正弦波測(cè)試圖按一次KEY1時(shí),信號(hào)發(fā)生器上顯示方波,頻率為10Hz,同時(shí)LED1發(fā)光;示波器上顯示方波,頻率為10.3Hz,如圖19所示。圖19方波測(cè)試圖圖19方波測(cè)試圖按兩次KEY1時(shí),信號(hào)發(fā)生器上顯示三角波,頻率為10Hz,同時(shí)LED2發(fā)光;示波器上顯示三角波,頻率為10.3Hz,如圖20所示。圖20三角波測(cè)試圖圖20三角波測(cè)試圖按三次KEY1時(shí),信號(hào)發(fā)生器上顯示鋸齒波,頻率為10Hz,同時(shí)LED3發(fā)光;示波器上顯示鋸齒波,頻率為10.3Hz,如圖21所示。圖21鋸齒波測(cè)試圖圖21鋸齒波測(cè)試圖當(dāng)要改變波形頻率時(shí),按下KAY4設(shè)置步進(jìn)值為5Hz,退出步進(jìn)值調(diào)節(jié)界面,再按下三次KAY3加25Hz頻率,輸出顯示的波形就可以得到頻率為25Hz的波形信號(hào),如圖22所示。圖2225Hz方波測(cè)試圖圖2225Hz方波測(cè)試圖在圖22的基礎(chǔ)上再按一次KAY2減20Hz頻率,可以得到頻率為20Hz的方波波形信號(hào),如圖23所示。在對(duì)信號(hào)發(fā)生器進(jìn)行測(cè)試時(shí),可以從圖19、21、22、23進(jìn)行驗(yàn)證按鍵KEY1的作用,圖22、23驗(yàn)證出KEY2、KEY3、KEY4的作用,在示波器上都可以顯示正弦波、方波、三角波、鋸齒波潘和頻率數(shù)值,測(cè)試后得到的各種波形都挺理想的。由此可以得出如下的結(jié)論:本文中所設(shè)計(jì)的各種硬件與軟件均能夠滿足這次設(shè)計(jì)的需求。圖2320Hz方波測(cè)試圖圖2320Hz方波測(cè)試圖5.2波形頻率分析抽取正弦波波形的范圍為10~100Hz頻率進(jìn)行了頻率誤差測(cè)試,測(cè)試數(shù)據(jù)如表1所示。表1正弦波頻率測(cè)試數(shù)據(jù)表設(shè)定頻率(Hz)102030405060708090100測(cè)試頻率(Hz)10.320.530.540.249.959.468.6788795.5相對(duì)誤差(%)0.030.020.020.000.00-0.01-0.02-0.03-0.03-0.05絕對(duì)誤差(%)0.300.500.500.20-0.10-0.60-1.40-2.00-3.00-4.50選擇設(shè)定頻率波形進(jìn)行輸出,通過示波器驗(yàn)證輸入結(jié)果如表1,由正弦波測(cè)量數(shù)據(jù)分析得,當(dāng)設(shè)定頻率值范圍10~40Hz時(shí),測(cè)試頻率的絕對(duì)誤差都為正,當(dāng)設(shè)定頻率范圍50~100Hz時(shí),測(cè)試頻率的絕對(duì)誤差都為負(fù),可以得出當(dāng)隨著測(cè)試頻率的增大,誤差值就較大,總體相對(duì)誤差控制在5%以內(nèi),分析其中出現(xiàn)這種誤差的原因主要有以下幾個(gè)方面:DDS產(chǎn)生的誤差,在集成電

溫馨提示

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

評(píng)論

0/150

提交評(píng)論