版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 摘要-----------------------------------------------------------------3</p><p> 第一章 緒論-----------------------------------------------------4</p>&
2、lt;p> 1.1 單片機(jī)的概述----------------------------------------------4</p><p> 1.2函數(shù)發(fā)生器的分類------------------------------------------4</p><p> 1.3 研究的目的及意義----------------------------------------
3、--5</p><p> 第二章 函數(shù)信號發(fā)生器設(shè)計(jì)--------------------------------6</p><p> 2.1 課程設(shè)計(jì)的目的-------------------------------------------6</p><p> 2.2課程設(shè)計(jì)的要求-----------------------------------
4、--------6</p><p> 第三章 方案的設(shè)計(jì)--------------------------------------------7</p><p> 3.1 方案的設(shè)計(jì)與選擇------------------------------------------7</p><p> 3.2 設(shè)計(jì)原理簡介及功能-------------------
5、--------------------8</p><p> 3.3系統(tǒng)硬件的設(shè)計(jì)及功能------------------------------------10</p><p> 3.31 AT89C51單片機(jī)及說明------------------------------10</p><p> 3.32 D /A轉(zhuǎn)換模塊---------------
6、-------------------------11</p><p> 3.4 系統(tǒng)軟件設(shè)計(jì)及接口電路---------------------------------14</p><p> 3.41 外部時鐘電路------------------------------------------14</p><p> 3.42 外部復(fù)位電路--------
7、----------------------------------15</p><p> 3.43 鍵盤接口電路------------------------------------------15</p><p> 3.44 數(shù)、模轉(zhuǎn)換及放大電路------------------------------16</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)--
8、----------------------------------------17</p><p> 4.1 主函數(shù)----------------------------------------------------------17</p><p> 4.2正弦波的程序及仿真結(jié)果----------------------------------18</p><
9、;p> 4.3三角波的程序及仿真結(jié)果----------------------------------19</p><p> 4.4鋸齒波的程序及仿真結(jié)果----------------------------------20</p><p> 4.5方波的程序及仿真結(jié)果-------------------------------------21</p>&l
10、t;p> 第五章 總結(jié)與展望--------------------------------------------22</p><p> 參考文獻(xiàn)-----------------------------------------------------------23</p><p> 附錄一 元器件清單----------------------------------
11、----------24</p><p> 附錄二 程序清單------------------------------------------------25</p><p> 附錄三 電路原理圖---------------------------------------------30</p><p><b> 摘要</b>&l
12、t;/p><p> 本文設(shè)計(jì)低頻信號發(fā)生器,以AT89C51 單片機(jī)為核心,通過鍵盤輸入控制信號類型和頻率的選擇,采用DA 轉(zhuǎn)換芯片輸出相應(yīng)的波形。我們采用C 語言進(jìn)行編程,可實(shí)現(xiàn)方波,三角波,鋸齒波和正弦波四種波形的產(chǎn)生,且波形的頻率可調(diào)。經(jīng)測試該設(shè)計(jì)方案線路優(yōu)化,結(jié)構(gòu)緊湊,性能優(yōu)越,滿足設(shè)計(jì)要求。</p><p> 關(guān)鍵字:單片機(jī),DA 轉(zhuǎn)換,信號發(fā)生器</p><
13、p><b> 第一章 緒論</b></p><p><b> 1.1 單片機(jī)概述</b></p><p> 單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU 隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O 口和中斷系統(tǒng)、定時器/計(jì)時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換
14、器、A/D 轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)具有集成度高、系統(tǒng)結(jié)構(gòu)簡單、使用方便、實(shí)現(xiàn)模塊化、可靠性高、處理功能強(qiáng)、速度快等特點(diǎn),因?yàn)楸粡V泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域。</p><p> 1.2 信號發(fā)生器分類</p><p> 信號發(fā)生器是指產(chǎn)生所需參數(shù)的電測試信號的儀器。因其應(yīng)用廣泛,種類繁
15、多,特性各異,分類也不盡一致。按信號波形可分為正弦信號、函數(shù)信號、脈沖信號和隨機(jī)信號發(fā)生器等四大類;按頻率覆蓋范圍分為低頻信號發(fā)生器、高頻信號發(fā)生器和微波信號發(fā)生器;按輸出電平可調(diào)節(jié)范圍和穩(wěn)定度分為簡易信號發(fā)生器、標(biāo)準(zhǔn)信號發(fā)生器和功率信號發(fā)生器;按頻率改變的方式分為調(diào)諧式信號發(fā)生器、掃頻式信號發(fā)生器、程控式信號發(fā)生器和頻率合成式信號發(fā)生器等。信號發(fā)生器又稱信號源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。</p>&l
16、t;p> 1.3 研究的目的及意義 </p><p> 信號發(fā)生器是一種經(jīng)常使用的設(shè)備,由純粹物理器件構(gòu)成的傳統(tǒng)的設(shè)計(jì)方法存在許多弊端,如:體積較大、重量較沉、移動不方便、信號失真較大、波形形狀調(diào)節(jié)過于死板,無法滿足用戶對精度、便攜性、穩(wěn)定性等要求,研究設(shè)計(jì)出一種具有頻率穩(wěn)定、</p><p> 準(zhǔn)確、波形質(zhì)量好、輸出頻率范圍寬、便攜性好等特點(diǎn)的波形發(fā)生器具有較好的市場前景。以
17、滿足工業(yè)領(lǐng)域?qū)π盘栐吹囊蟆?lt;/p><p> 函數(shù)信號發(fā)生器的設(shè)計(jì)</p><p> 設(shè)計(jì)一個基于單片機(jī)的函數(shù)信號發(fā)生器,該函數(shù)信號發(fā)生器可以輸出四種波形,有正弦波,鋸齒波,三角波和方波。</p><p> 2.1課程設(shè)計(jì)的目的</p><p> 1. 鞏固,加深和擴(kuò)大對單片機(jī)應(yīng)用的知識方面,提高綜合及運(yùn)用所學(xué)的知識解決實(shí)際課程設(shè)計(jì)
18、的能力。</p><p> 2. 培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊,圖表及文獻(xiàn)的能力,提高組成系統(tǒng),編程,調(diào)試的能力。</p><p> 3. 通過對課題設(shè)計(jì)方案的分析,選擇,比較,熟悉運(yùn)用單片機(jī)系統(tǒng)開發(fā),軟硬件設(shè)計(jì)的方法內(nèi)容及步驟。</p><p> 4. 掌握DAC0832的接口電路及使用方法。</p><p> 2.2 課程
19、設(shè)計(jì)的要求</p><p> 1、采用51單片機(jī)作為主控制芯片;</p><p> 2、按鍵選擇產(chǎn)生三角波、鋸齒波、方波、正弦波信號;</p><p> 3、使用PROTEUS軟件完成系統(tǒng)仿真。</p><p><b> 第三章 方案的設(shè)計(jì)</b></p><p> 3.1 方案的設(shè)計(jì)與
20、選擇</p><p> 方案一:采用單片函數(shù)發(fā)生器可產(chǎn)生正弦波、方波等,操作簡單易行,用D/A 轉(zhuǎn)換器的輸出來改變調(diào)節(jié)電壓,可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號的頻率穩(wěn)定度不高。</p><p> 方案二:利用芯片組成的電路輸出波形,MAX038 是MAXIM 公司生產(chǎn)的一個只需要很少外部元件的精密高頻波形產(chǎn)生器,他能產(chǎn)生準(zhǔn)確的高頻正弦波、三角波、方波。輸出頻率和占空比可以通過調(diào)整電流、電
21、壓或電阻來分別地控制。所需的輸出波形可由在A0和A1 輸入端設(shè)置適當(dāng)?shù)拇a來選擇,且具有輸出頻率范圍寬、波形穩(wěn)定、失真小、使用方便等特點(diǎn)。</p><p> 方案三:采用Atmel 公司的AT89C51 單片機(jī)編程方法實(shí)現(xiàn),該方法的可以通過編程</p><p> 的方法控制信號波形的頻率和幅度,而在硬件電路不便的情況下,通過程序?qū)崿F(xiàn)頻率的變化和輸出波形的選擇,并同時在顯示器顯示相應(yīng)的結(jié)
22、果。</p><p> 方案一輸出信號頻率不夠穩(wěn)定;方案二成本高,程序復(fù)雜度高;方案三,軟硬件結(jié)合,硬件成本低,軟件起點(diǎn)低,優(yōu)化型相對比較好,容易實(shí)現(xiàn),且滿足設(shè)計(jì)要求。綜合考慮,我們采用了方案三,用AT89C51 單片機(jī)設(shè)計(jì)低頻信號發(fā)生器,能夠滿足信號的頻率穩(wěn)定性和精度的準(zhǔn)確行。</p><p> 3.2 設(shè)計(jì)原理簡介</p><p> 該設(shè)計(jì)設(shè)計(jì)一個低頻信號
23、發(fā)生器,我們采用的是AT89C51 單片機(jī)用軟件實(shí)現(xiàn)信號的輸出。該單片機(jī)是一個微型計(jì)算機(jī),包括中央處理器CPU,RAM,ROM、I/O 接口電路、定時計(jì)數(shù)器、串行通訊等,是波形設(shè)計(jì)的核心。該信號發(fā)生器原理框圖如圖2.1,總體原理為:利用AT89C51 單片機(jī)構(gòu)造低頻信號發(fā)生器,可產(chǎn)生正弦波,方波,三角波,鋸齒波四種波形,通過C 語言對單片機(jī)的編程即可產(chǎn)生相應(yīng)的波形信號,并可以通過鍵盤進(jìn)行各種功能的轉(zhuǎn)換和信號頻率的控制,當(dāng)輸出的數(shù)字信號通
24、過數(shù)模轉(zhuǎn)換成模擬信號也就得到所需要的信號波形,通過運(yùn)算放大器的放大輸出波形,同時讓顯示器顯示輸出的波形信息。</p><p> 本方案其主要模塊包括復(fù)位電路、時鐘信號、鍵盤控制、D/A 轉(zhuǎn)化及顯示。其各個模塊的工作原理如下:</p><p> ?。?) 復(fù)位電路是為單片機(jī)復(fù)位使用,使單片機(jī)接口初始化;89C51 等CMOS51 系列。單片機(jī)的復(fù)位引腳RET 是施密特觸發(fā)輸入腳,內(nèi)部有一個
25、上拉低電阻,當(dāng)振蕩器起振以后,在RST 引腳上輸出2 個機(jī)械周期以上的高電平,器件變進(jìn)入復(fù)位狀態(tài)開始,此時ALE、PSEN、P0、P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后,變退出復(fù)位狀態(tài)開始工作。該方案采用的是人工開關(guān)復(fù)位,在系統(tǒng)運(yùn)行時,按一下開關(guān),就在RST 斷出現(xiàn)一段高電平,使器件復(fù)位。</p><p> ?。?) 時鐘信號是產(chǎn)生單片機(jī)工作的時鐘信號,控制著計(jì)算機(jī)的工作節(jié)奏,可以通過提高時鐘
26、頻率來提高CPU 的速度。89C51 內(nèi)部有一個可控的反相放大器,引腳XTAL1、XTAL2 為反相放大器輸入端和輸出端,在XTAL1、XTAL2 上外接12MHZ 晶振和30pF 電容便組成振蕩器。時鐘信號常用于CPU 定時和計(jì)數(shù)。</p><p> ?。?) 鍵盤模塊是是用于控制信號輸入的類型,當(dāng)按鍵按下時,可以通過單片機(jī)編程讀取閉合的鍵號,實(shí)現(xiàn)相應(yīng)的信號輸出。其步驟主要是a、判斷是否有鍵按下;b、去抖動,延
27、時20ms 左右;c、識別被按下的鍵號;d、處理,實(shí)現(xiàn)功能。</p><p> ?。?) D/A 轉(zhuǎn)換也稱為數(shù)模轉(zhuǎn)換,是把數(shù)字量變換成模擬量的線性電路。單片機(jī)產(chǎn)生的數(shù)字信號通過DAC0832 轉(zhuǎn)化成模擬信號,輸出相應(yīng)的電流值,通過OP07集成運(yùn)算放大器可以取出模擬量得電壓值,最后利用示波器獲得輸出的模擬信號的波形;衡量數(shù)模轉(zhuǎn)換的性能指標(biāo)有分辨率、轉(zhuǎn)換時間、精度、線性度等。為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電
28、轉(zhuǎn)化為光用于是顯示相關(guān)輸出波形的信息,包括信號的類型和頻率。</p><p><b> 設(shè)計(jì)功能:</b></p><p> (1)本方案利用利用2 位(P1.0 和P1.1)控制開關(guān)信號輸入類型,P1_0為鋸齒波,P1_1為三角波,P1_2為正弦波,P1_3為方波。 </p><p> (2)利用DAC0832 數(shù)模轉(zhuǎn)換芯片實(shí)現(xiàn)信號的轉(zhuǎn)
29、換,并通過集成運(yùn)算放大器將信號</p><p> 放大,輸出信號能夠在Proteus 軟件中的示波器中顯示。</p><p> ?。?)輸出信號幅度:0~5V。</p><p> 3.3系統(tǒng)硬件的設(shè)計(jì)</p><p> 3.31 AT89C51單片機(jī)及說明</p><p><b> 單片機(jī)簡介:&l
30、t;/b></p><p> AT89C51 是一種帶4K 字節(jié)FLASH 存儲器的低電壓、高性能CMOS 8 位微處理器,俗稱單片機(jī)。該芯片具有優(yōu)異的性價比,集成度高,體積小,可靠性強(qiáng),控制功能強(qiáng)等優(yōu)</p><p> 點(diǎn)。其外形及引腳排列如圖3.1 所示。</p><p><b> 主要特性</b></p><
31、;p><b> 1 兼容性能強(qiáng)</b></p><p> 2 4K 字節(jié)可編程FLASH 存儲器</p><p> 3 全靜態(tài)工作:0Hz-24MHz</p><p> 4 128×8 位內(nèi)部RAM</p><p> 5 32 可編程I/O 線</p><p>
32、 6 兩個16 位定時器/計(jì)數(shù)器</p><p><b> 7 5 個中斷源</b></p><p> 8 可編程串行通道</p><p> 9 低功耗的閑置和掉電模式</p><p> 10 片內(nèi)振蕩器和時鐘電路</p><p> 3.32 DAC0832</p&
33、gt;<p><b> 工作原理</b></p><p> DAC0832 是8 分辨率的D/A 轉(zhuǎn)換集成芯片,由8 位輸入鎖存器、8 位DAC 寄存器、8 位D/A 轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成。8 位輸入鎖存器用于存放主機(jī)送來的數(shù)字量,使輸入數(shù)字得到緩沖和鎖存,并加以控制;8 位DAC 寄存器用于存放存放待轉(zhuǎn)換的數(shù)字量,并加以控制;8 位D/A 轉(zhuǎn)換器輸出與數(shù)字量成正
34、比的模擬電流,由與門、與非門組成的輸入控制的輸入電路來控制2 個寄存器的選通或鎖存狀態(tài),其原理框圖如3.3。</p><p> 圖3.2 DAC0832 引腳圖</p><p> 當(dāng)WR2 和XFER 同時有效時,8 位DAC 寄存器端為高電平“1”,此時DAC 寄存器的輸出端Q 跟隨輸入端D 也就是出入寄存器Q 端得電平變化,反之,當(dāng)端為低電平“0”時,第一級8 位輸入寄存器Q 端得
35、狀態(tài)則鎖存到第二級8 位DAC 寄存器中,以便第三極8 位DAC 轉(zhuǎn)換器進(jìn)行D/A 轉(zhuǎn)換。下圖是DAC0832的原理圖</p><p> DAC0832的主要特性參數(shù)</p><p> 1 分辨率為8 位;電流穩(wěn)定時間1us;</p><p> 2 可單緩沖、雙緩沖或直接數(shù)字輸入;</p><p> 3只需在滿量程下調(diào)整其線性度;&l
36、t;/p><p> 4 單一電源供電(+5V~+15V);</p><p> 5 低功耗,20mW。</p><p> DAC0832 引腳功能簡介</p><p> 1 D0~D7:8 位數(shù)據(jù)輸入線,TTL 電平,有效時間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯);</p><p> 2 ILE:數(shù)據(jù)鎖存允許控制
37、信號輸入線,高電平有效;</p><p> 3 CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;</p><p> 4 WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE</p><p> 5 CS、WR1 的邏輯組合產(chǎn)生LE1,當(dāng)LE1 為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1 的負(fù)跳變時將輸入數(shù)據(jù)鎖存;</p&
38、gt;<p> 6 XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;</p><p> 7 WR2:DAC 寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。</p><p> 8 IOUT1:電流輸出端1,其值隨DAC 寄存器的內(nèi)容線性變化;</p><p> 9 IOUT2:電流輸出端2,其值與IOUT
39、1 值之和為一常數(shù);</p><p> 10 Rfb:反饋信號輸入線,改變Rfb 端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;</p><p> 11 Vcc:電源輸入端,Vcc 的范圍為+5V~+15V;</p><p> 12 VREF:基準(zhǔn)電壓輸入線,VREF 的范圍為-10V~+10V;</p><p> 13 AGND:模擬信號地;&
40、lt;/p><p> 14 DGND:數(shù)字信號地。</p><p> 3.4 系統(tǒng)軟件設(shè)計(jì)及接口電路</p><p><b> 3.41 時鐘電路</b></p><p> 單片機(jī)的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1 和XTAL2 外接晶體振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)
41、部有一個高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動時鐘脈沖。晶振通常選用6MHZ、12MHZ、24MHZ。本設(shè)計(jì)中時鐘電路圖如圖4.2我們選擇了12MHZ和晶振分別接引腳XTAL1 和XTAL2,電容C1 C2 均選擇為30pF,對振蕩器的頻率有穩(wěn)定作用,當(dāng)頻率較大時,正弦波、方波、三角波及鋸齒波中每一點(diǎn)的延時時間為幾微妙,故延時時間還要加上指令時間才能獲得較大的頻率波形。</p><p>&
42、lt;b> 3.42 復(fù)位電路</b></p><p> 復(fù)位引腳RST 通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種式。本設(shè)計(jì)選擇了按鍵復(fù)位如圖4.3, 在系統(tǒng)運(yùn)行時,按一下開關(guān),就在RST 斷出現(xiàn)一段高電平,使 圖 4.2
43、時鐘電路圖 器件復(fù)位此時 ALE、PSEN、P0、12P1、P2、P4 輸出高電平,RST 上輸入返回低電平以后,變退出復(fù)位狀態(tài)開始工作。</p><p> 3.43 鍵盤接口電路</p><p> 常用的鍵盤電路一般為矩陣式,但是對于此設(shè)計(jì),為了方便程序的簡單化,我們采用了一般的鍵盤接口,鍵盤輸出信號。具體為</p><p> P1_0為鋸齒波,P1_1為三
44、角波,P1_2為正弦波,P1_3為方波。接口如下圖</p><p> 3.44 數(shù)、模轉(zhuǎn)換及放大電路</p><p> 由于單片機(jī)輸出的是數(shù)字信號,因?yàn)橐玫侥M信號的波形就必須對其進(jìn)行數(shù)模轉(zhuǎn)換。我們采用了DAC0832 數(shù)模轉(zhuǎn)換器,該芯片具由8 位輸入鎖存器、8 位DAC 寄存器、8 位D/A 轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成。由于其輸出為電流輸出,因?yàn)橥饧舆\(yùn)算放大器UA741 使之裝
45、換為電壓輸出。最后通過示波器顯示輸出的波形。</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p><b> 4.1 程序流程圖</b></p><p><b> 4.2 正弦波產(chǎn)生</b></p><p><b> ?。?)輸出波形</b></p>&
46、lt;p> 圖5—1 正弦波仿真波形</p><p><b> ?。?)程序如下:</b></p><p> void sin_wave()</p><p><b> {</b></p><p><b> float i;</b></p><p
47、> for(i=0;i<2*PI;i+=0.02)</p><p><b> {</b></p><p> DAC0832 = 128+sin(i)*127;</p><p> DelayMS(1);</p><p> if(S2) return;</p><p><
48、;b> }</b></p><p><b> 4.3 三角波產(chǎn)生</b></p><p><b> ?。?)輸出波形</b></p><p> 圖5—2 三角波仿真圖形</p><p><b> (2)程序如下</b></p><
49、p> void triangle_wave()</p><p> { uint i; </p><p> for(i=0;i<512;i++)</p><p> { if(i<255) DAC0832 = i;</p><p> DelayMS(1);</p><p>
50、 if(i>256) DAC0832 = -i;</p><p> DelayMS(1);</p><p> if(S1) return;</p><p><b> } </b></p><p><b> }</b></p><p><b>
51、 4.4 鋸齒波產(chǎn)生</b></p><p><b> ?。?)輸出波形</b></p><p> 圖5-3 鋸齒波仿真圖形</p><p><b> ?。?)程序如下</b></p><p> void sawtooth_wave()</p><p>&l
52、t;b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<256;i++)</p><p><b> {</b></p><p> DAC0832 = i;</p><p> Delay
53、MS(4);</p><p> if(S0) return;</p><p><b> } </b></p><p><b> }</b></p><p><b> 4.5方波產(chǎn)生</b></p><p><b> ?。?)輸出波形
54、</b></p><p> 圖5-4 方波仿真圖形</p><p><b> (2)程序如下</b></p><p> Void square_wave ()</p><p> { uint i;</p><p> while(1) </p>&l
55、t;p> {DAC0832=0;</p><p> DelayMS(500);</p><p> DAC0832=255;</p><p> DelayMS(500);</p><p> if(S3) return;</p><p><b> }</b></p>
56、<p><b> }</b></p><p> 第五章 總結(jié)與展望</p><p> 制作函數(shù)信號發(fā)生器隨設(shè)計(jì)思想不同,具有多種方法,本文只是一種可能實(shí)現(xiàn)的方法。此法的頻率控制和幅度控制分辨率高,且硬件集成度高,整機(jī)自動化程度高,性能優(yōu)良,具有很高的實(shí)用價值。該信號發(fā)生器在調(diào)試時,總是出現(xiàn)許多的錯誤,軟件上除了許多的問題,之后糾正和向老師、同學(xué)請
57、教慢慢的改了過來。可是在仿真時依然存在很多的問題,開始的時候是仿真出不了波形,之后改了改電路的一根線,出現(xiàn)了。同時該信號源設(shè)計(jì)尚存在的不足之處,主要有兩個方面,第一為缺乏頻率準(zhǔn)確顯示的手段,可以配備相應(yīng)的數(shù)字頻率計(jì)模塊,但如何將顯示的精度與信號源的頻段配合有待討論研究;第二為D/A轉(zhuǎn)換時可以加一個鎖存器,并且放大電路有待進(jìn)一步改進(jìn)使具有更強(qiáng)的輸出能力。</p><p><b> 參考文獻(xiàn)</b&
58、gt;</p><p> [1] 田開坤. 基于LCD12864顯示器的數(shù)字示波器設(shè)計(jì) [J]. 電子制作﹒2011,(5)</p><p> [2] 史良. LCD12864顯示模塊與微處理器的接口設(shè)計(jì) [J]. 礦業(yè)安全與環(huán)保,1999,(5) </p><p> [3] 周明理. 基于AT89S52的函數(shù)信號發(fā)生器的設(shè)計(jì) [J]. 輕工科技﹒2012,
59、(4)</p><p> [4] 貢雪梅、肖川. 基于單片機(jī)函數(shù)信號發(fā)生器的Proteus仿真設(shè)計(jì) [J]. 西安航空技術(shù)高等??茖W(xué)校學(xué)報(bào)﹒2013,(1)</p><p> [5] 張毅剛、彭喜元、彭宇. 單片機(jī)原理及應(yīng)用技術(shù)[M]. 北京:高等教育出版社﹒2011 ,1</p><p> [6] 彭偉. 單片機(jī)C語言程序設(shè)計(jì)100例-基于8051+Prot
60、eus仿真[M]. 北京:電子工業(yè)出版社﹒2011,8</p><p> [7] 譚浩強(qiáng). C程序設(shè)計(jì)(第三版)[M]. 北京清華大學(xué)出版社﹒2007</p><p><b> 附件一 </b></p><p><b> 主要元器件清單</b></p><p> 元件名稱 數(shù)量
61、 數(shù)值 </p><p><b> 電阻</b></p><p> 1 R1 1k</p><p> 1 R2 200R </p><p> 1 R3 100k</p><p> 1
62、R4 1k </p><p><b> 電容 </b></p><p> 2 C1, C2 30pF</p><p> 1 C3 22uF</p><p> 1 C4 0.1uF</p><p><
63、b> 單片機(jī) </b></p><p> AT89C51 1 U1 </p><p><b> 數(shù)模轉(zhuǎn)換器</b></p><p> DAC0832 1 U2 </p><p><b> 放大器</b></p><
64、p> UA741 1 U3 </p><p><b> 鎖存器</b></p><p> 74LS373 1 U4 </p><p> 晶振 1 X1 24MHz</p><p> 附錄二 </p><
65、p><b> 程序清單</b></p><p> #include <reg52.h></p><p> #include <math.h></p><p> #include <absacc.h></p><p> #define uint unsigned int&
66、lt;/p><p> #define uchar unsigned char</p><p> #define DAC0832 XBYTE[0xfffe]</p><p> #define PI 3.1415926</p><p> sbit S0 = P1^0;</p><p> sbit S1= P1^1;&
67、lt;/p><p> sbit S2 = P1^2;</p><p> sbit S3 = P1^3;</p><p> void DelayMS(uint ms)</p><p><b> {</b></p><p><b> uchar i;</b></p&g
68、t;<p> while(ms--)</p><p><b> {</b></p><p> for(i=0;i<120;i++);</p><p><b> }</b></p><p><b> }</b></p><p>
69、; void sawtooth_wave()</p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<256;i++)</p><p><b> {</b></p><p
70、> DAC0832 = i;</p><p> DelayMS(4);</p><p> if(S0) return;</p><p><b> } </b></p><p><b> }</b></p><p> void triangle_wave(
71、)</p><p><b> {</b></p><p> uint i; </p><p> for(i=0;i<512;i++)</p><p><b> {</b></p><p> if(i<255) DAC0832 = i;</p&g
72、t;<p> DelayMS(1);</p><p> if(i>256) DAC0832 = -i;</p><p> DelayMS(1);</p><p> if(S1) return;</p><p><b> } </b></p><p><b
73、> }</b></p><p> uint i; </p><p> for(i=0;i<255;i++)</p><p><b> {</b></p><p> DAC0832=i;</p><p> DelayMS(1);</p><
74、;p><b> }</b></p><p> for(i=255;i>0;i--)</p><p> {DAC0832=i;</p><p> DelayMS(1);}</p><p> if(S1) return;</p><p><b> }</b&g
75、t;</p><p> void sin_wave()</p><p><b> {</b></p><p><b> float i;</b></p><p> for(i=0;i<2*PI;i+=0.02)</p><p><b> {</
76、b></p><p> DAC0832 = 128+sin(i)*127;</p><p> DelayMS(1);</p><p> if(S2) return;</p><p><b> }</b></p><p><b> }</b></p&g
77、t;<p> void square_wave()</p><p><b> {</b></p><p><b> uint i;</b></p><p> while(1) </p><p><b> {</b></p><p&
78、gt; DAC0832=0;</p><p> DelayMS(500);</p><p> DAC0832=255;</p><p> DelayMS(500);</p><p> if(S3) return;</p><p><b> }</b></p><
79、p><b> }</b></p><p> void main()</p><p><b> { </b></p><p><b> while(1)</b></p><p><b> { </b></p><p&
80、gt; if(S1==0)triangle_wave();</p><p> else if(S0==0) sawtooth_wave();</p><p> else if(S2==0)sin_wave();</p><p> else if(S3==0) square_wave();</p><p> else Del
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 函數(shù)發(fā)生器課程設(shè)計(jì)
- 函數(shù)發(fā)生器 課程設(shè)計(jì)
- 課程設(shè)計(jì)——函數(shù)發(fā)生器
- 函數(shù)發(fā)生器課程設(shè)計(jì)
- 函數(shù)發(fā)生器課程設(shè)計(jì)
- 信號發(fā)生器課程設(shè)計(jì)----函數(shù)信號發(fā)生器
- 信號發(fā)生器課程設(shè)計(jì)---函數(shù)發(fā)生器的設(shè)計(jì)
- 函數(shù)信號發(fā)生器課程設(shè)計(jì)
- 課程設(shè)計(jì)--函數(shù)波形發(fā)生器
- 函數(shù)發(fā)生器課程設(shè)計(jì)報(bào)告
- 函數(shù)信號發(fā)生器課程設(shè)計(jì)
- 函數(shù)發(fā)生器課程設(shè)計(jì)報(bào)告
- 函數(shù)信號發(fā)生器課程設(shè)計(jì)
- 函數(shù)信號發(fā)生器課程設(shè)計(jì)
- 函數(shù)發(fā)生器課程設(shè)計(jì)報(bào)告
- 函數(shù)發(fā)生器的課程設(shè)計(jì)
- 課程設(shè)計(jì)---函數(shù)信號發(fā)生器
- 課程設(shè)計(jì)-函數(shù)信號發(fā)生器
- 函數(shù)信號發(fā)生器課程設(shè)計(jì)
- 課程設(shè)計(jì)---函數(shù)發(fā)生器的設(shè)計(jì)
評論
0/150
提交評論