信號(hào)波形發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)資料</p><p><b>  2014屆</b></p><p>  本科畢業(yè)設(shè)計(jì)(論文)資料</p><p>  第一部分 畢業(yè)論文</p><p><b>  摘 要</b></p><p>  為了設(shè)計(jì)一款操作簡(jiǎn)便、靈活

2、,結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)良的信號(hào)波形發(fā)生器,通過(guò)詳細(xì)了解STC89C52單片機(jī)和DAC0832數(shù)模轉(zhuǎn)換器的主要功能和工作原理,設(shè)計(jì)了一種以這兩個(gè)芯片為核心元件的信號(hào)波形發(fā)生器。通過(guò)硬件電路設(shè)計(jì)和軟件編程相結(jié)合方式來(lái)實(shí)現(xiàn)這個(gè)設(shè)計(jì)。采用STC89C52單片機(jī)作為控制核心,外圍采用數(shù)字/數(shù)模轉(zhuǎn)換電路(DAC0832)、運(yùn)放電路(LM324)和按鍵等。采用軟件編程的方法來(lái)實(shí)現(xiàn)波形,將產(chǎn)生波形的程序用子程序從形式編寫,在需要哪種波形時(shí)調(diào)用相應(yīng)的子程序。

3、按鍵可以控制產(chǎn)生正弦波、方波、三角波和鋸齒波類型且可以方便地調(diào)節(jié)其頻率和幅值。設(shè)計(jì)中詳細(xì)介紹了該信號(hào)發(fā)生器的工作原理、硬件電路、軟件流程及技術(shù)關(guān)鍵。與傳統(tǒng)的信號(hào)發(fā)生器相比,該設(shè)計(jì)具有輸出波形穩(wěn)定、精度高等特色,且電路結(jié)構(gòu)緊湊、體積小,得到的輸出波形失真度低、頻譜純度高,具有非常大的現(xiàn)實(shí)意義。此種信號(hào)波形發(fā)生器可以廣泛地被應(yīng)用于自動(dòng)控制系統(tǒng)、電子電路和教學(xué)實(shí)驗(yàn)等領(lǐng)域。</p><p>  關(guān)鍵詞:信號(hào)波形發(fā)生器,A

4、T89C52單片機(jī),DAC0832數(shù)模轉(zhuǎn)換器,運(yùn)算放大器</p><p><b>  ABSTRACT</b></p><p>  In order to design a simple-structured and flexible signal waveform generator which is easy to operate with excellent p

5、erformance,understand the main functions and work principle of signal chip computer STC89C52 and DAC0832 to design a kind of signal generator which is based on them.To achieve the design through hardware design and softw

6、are programming.Using STC89C52 as control core,peripheral circuit use DAC0832,LM324 and button and so on.Adopting the method of software programming to realize t</p><p>  Keywords: ,Signal generator, STC89C5

7、2, DAC0832,Operational amplifier </p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  第1章 緒論1</b></p>

8、;<p>  1.1信號(hào)波形發(fā)生器發(fā)展歷程1</p><p>  1.2課題研究背景及前景1</p><p>  1.3課題研究的主要內(nèi)容2</p><p>  第2章 系統(tǒng)總體設(shè)計(jì)3</p><p>  2.1系統(tǒng)總體設(shè)計(jì)3</p><p>  2.2 主要芯片簡(jiǎn)介3</p>

9、<p>  2.2.1 STC89C52單片機(jī)簡(jiǎn)介3</p><p>  2.2.2 DAC0832 8位D/A轉(zhuǎn)換器芯片簡(jiǎn)介5</p><p>  2.2.3運(yùn)算放大器LM324簡(jiǎn)介6</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)8</p><p><b>  3.1主控電路8</b></p&

10、gt;<p>  3.1.1外接晶振引腳XTAL1與XTAL29</p><p>  3.1.2 復(fù)位與復(fù)位電路9</p><p>  3.1.3 EA/VDD片內(nèi)程序存儲(chǔ)器選用端9</p><p>  3.2 D/A數(shù)模轉(zhuǎn)換電路10</p><p>  3.3按鍵接口電路10</p><p>

11、  第4章 系統(tǒng)軟件設(shè)計(jì)13</p><p>  4.1 主程序流程圖及程序13</p><p>  4.2各波形子程序14</p><p>  4.2.1 正弦波子程序14</p><p>  4.2.2 方波子程序14</p><p>  4.2.3 三角波子程序15</p><p

12、>  4.2.4 鋸齒波子程序15</p><p>  4.3 鍵盤掃描程序15</p><p><b>  結(jié) 論17</b></p><p><b>  參考文獻(xiàn)18</b></p><p><b>  致 謝19</b></p><

13、p>  附錄1 硬件電路原理圖20</p><p>  附錄2 設(shè)計(jì)源程序清單21</p><p><b>  第1章 緒論</b></p><p>  1.1 信號(hào)波形發(fā)生器發(fā)展歷程</p><p>  信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)實(shí)驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作

14、提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。因此信號(hào)波形發(fā)生器和示波器、電壓表、頻率計(jì)等儀器一樣是最普通、最基本的,也是應(yīng)用最廣泛的電子儀器之一,幾乎所有的電參量的測(cè)量都需要用到信號(hào)發(fā)生器[8]。</p><p>  波形發(fā)生器作為一種常用的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的波形發(fā)生器可以完全用硬件電路搭建,如應(yīng)用555振蕩電路可以產(chǎn)生正弦波,三角波,方波等波形,傳統(tǒng)的波形發(fā)生器多這種方式設(shè)計(jì),這種方式不應(yīng)用單片機(jī),但是這種方式存在

15、波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)[10]。</p><p>  自六十年代以來(lái),信號(hào)發(fā)生器有了迅速的發(fā)展,出現(xiàn)了函數(shù)信號(hào)發(fā)生器、掃頻信號(hào)發(fā)生器、合成信號(hào)發(fā)生器、程控信號(hào)發(fā)生器等新種類。各類信號(hào)發(fā)生器的主要性能指標(biāo)也都有 了大幅度的提高,同時(shí)再簡(jiǎn)化機(jī)械結(jié)構(gòu)、小型化、多功能等各方面也有了顯著的進(jìn)展[8]。</p><p>  今年來(lái)隨著GSM、GPRS、3G、Blueto

16、oth 乃至已經(jīng)投入運(yùn)營(yíng)的標(biāo)準(zhǔn)的4G等移動(dòng)通信以及LMDS、無(wú)線本地環(huán)路等無(wú)線接入的發(fā)展,同時(shí)加上合成孔徑雷達(dá)、多普勒沖雷達(dá)等現(xiàn)代軍事、國(guó)防、航空航天等在科技上的不斷創(chuàng)新與進(jìn)步,世界各國(guó)非常重視信號(hào)波形發(fā)生器的發(fā)展。所有的這些社會(huì)需求以及微電子技術(shù)、計(jì)算機(jī)技術(shù)、信號(hào)處理技術(shù)等本身的不斷進(jìn)步都極大刺激了信號(hào)波形發(fā)生器的發(fā)展??梢灶A(yù)料,隨著高性價(jià)比、更高集成度、更高處理速度的單片機(jī)的發(fā)展,基于單片機(jī)的信號(hào)波形發(fā)生器的應(yīng)用前景不可估量[8]。

17、</p><p>  1.2 課題研究背景及前景</p><p>  信號(hào)發(fā)生器是指產(chǎn)生所需參數(shù)的電測(cè)試信號(hào)的儀器,信號(hào)發(fā)生器又稱信號(hào)源或振蕩器。按信號(hào)波形可分為正弦信號(hào)、函數(shù)(波形)信號(hào)、脈沖信號(hào)和隨機(jī)信號(hào)發(fā)生器等四大類。在通信、廣播、電視系統(tǒng),在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)領(lǐng)域內(nèi),函數(shù)信號(hào)發(fā)生器在實(shí)驗(yàn)室和設(shè)備檢測(cè)中都具有十分廣泛的用途。目前市場(chǎng)上大多數(shù)函數(shù)信號(hào)發(fā)生器都是非單片機(jī)控制的,但是這種

18、電路存在波形質(zhì)量差,功能簡(jiǎn)單,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。采用單片機(jī)函數(shù)信號(hào)發(fā)生器可產(chǎn)生正弦波、方波、三角波鋸齒波等,操作簡(jiǎn)單易行[1]。</p><p>  基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),以性價(jià)比相對(duì)較大的STC89C52單片機(jī)為核心,以簡(jiǎn)單、廉價(jià)的元器件構(gòu)筑,能夠產(chǎn)生高精度、高純度的正弦波、方波、三角波、和鋸齒波,同時(shí)可以實(shí)現(xiàn)波形自由切換,以及頻率和幅度在線調(diào)整[2]。利用單片機(jī)通過(guò)程序設(shè)計(jì)方

19、法來(lái)產(chǎn)生低頻信號(hào),其頻率底線很低,具有線路相對(duì)簡(jiǎn)單、結(jié)構(gòu)緊湊、體積小、價(jià)格低廉、頻率穩(wěn)定度搞、抗干擾能力強(qiáng)、用途廣泛等優(yōu)點(diǎn),而且如果想產(chǎn)生新的波形時(shí),只需對(duì)程序進(jìn)行修改即可[3]。</p><p>  我國(guó)信號(hào)發(fā)生器行業(yè)運(yùn)行目前發(fā)展形勢(shì)良好,該行業(yè)企業(yè)正逐步向規(guī)?;?、產(chǎn)業(yè)化方向發(fā)展,隨著我國(guó)信號(hào)發(fā)生器行業(yè)需求市場(chǎng)的不斷擴(kuò)大以及出口增長(zhǎng),我國(guó)信號(hào)發(fā)生器行業(yè)運(yùn)行將會(huì)迎來(lái)一個(gè)新的發(fā)展機(jī)遇。了解國(guó)內(nèi)外信號(hào)發(fā)生器生產(chǎn)核心技

20、術(shù)的研發(fā)方向、工藝設(shè)備及趨勢(shì),對(duì)于企業(yè)提升產(chǎn)品技術(shù)規(guī)格,提高市場(chǎng)競(jìng)爭(zhēng)力十分關(guān)鍵。同時(shí)伴隨著我國(guó)信號(hào)發(fā)生器市場(chǎng)的迅猛發(fā)展,與之相關(guān)的核心生產(chǎn)技術(shù)應(yīng)用與研發(fā)必將成為業(yè)內(nèi)企業(yè)關(guān)注的焦點(diǎn)。而在我們大學(xué)生身邊,高校開展實(shí)驗(yàn)過(guò)程中用到的多是低頻函數(shù)信號(hào)發(fā)生器,如果在高校實(shí)驗(yàn)領(lǐng)域能夠應(yīng)用這項(xiàng)設(shè)計(jì)來(lái)取代傳統(tǒng)信號(hào)發(fā)生器,將具有非常重要的現(xiàn)實(shí)意義[8]。</p><p>  1.3 課題研究的主要內(nèi)容</p><

21、p>  以單片機(jī)為控制核心,設(shè)計(jì)一款結(jié)構(gòu)簡(jiǎn)單,性能優(yōu)良的信號(hào)發(fā)生器。</p><p>  (1)使波形發(fā)生器產(chǎn)生大量的標(biāo)準(zhǔn)信號(hào),并保證高精度、高穩(wěn)定性、可重復(fù)性和易操作性的電子儀器。</p><p>  (2)波形發(fā)生器具有連續(xù)的相位變換和頻率穩(wěn)定性等優(yōu)點(diǎn),且可對(duì)頻率、幅值、波形進(jìn)行動(dòng)態(tài)、及時(shí)地控制。</p><p>  (3)波形發(fā)生器具體功能是:實(shí)現(xiàn)利用單

22、片機(jī)STC89C52和8位D/A轉(zhuǎn)換芯片DAC0832共同實(shí)現(xiàn)正弦波、方波、三角波、鋸齒波這四種常見波形的發(fā)生,并且通過(guò)按鍵和利用DAC接口實(shí)現(xiàn)波形發(fā)生器可以產(chǎn)生鋸齒波、三角波、方波、正弦波等常用波形。</p><p>  (4)主要性能指標(biāo):波形的頻率范圍:8.3Hz—500Hz</p><p>  幅度的調(diào)節(jié)范圍:5V—15V</p><p>  (5)波形發(fā)生

23、器系統(tǒng)功能的軟件設(shè)計(jì):采用C語(yǔ)言編寫應(yīng)用程序,輸出不同波形,可以調(diào)節(jié)相應(yīng)頻率。而信號(hào)波形的幅值通過(guò)放大電路的滑動(dòng)變阻器調(diào)節(jié),最后波形可以直接接示波器進(jìn)行顯示。</p><p>  第2章 系統(tǒng)總體設(shè)計(jì)</p><p><b>  2.1系統(tǒng)總體設(shè)計(jì)</b></p><p>  采用的是STC89C52單片機(jī)用軟件實(shí)現(xiàn)信號(hào)的輸出。該單片機(jī)是一個(gè)

24、微型計(jì)算機(jī),包括中央處理器CPU、ROM、RAM、I/O接口電路、定時(shí)計(jì)數(shù)器、串行通訊等,是信號(hào)波形發(fā)生器設(shè)計(jì)的核心。設(shè)計(jì)的信號(hào)發(fā)生器總體系統(tǒng)框圖如2.1所示:</p><p>  圖2.1 總體系統(tǒng)框圖</p><p>  (1)總體設(shè)計(jì)方案:采用單片機(jī)(STC89C52)和數(shù)模轉(zhuǎn)換芯片(DAC0832)為核心元件實(shí)現(xiàn)波形的產(chǎn)生,波形的產(chǎn)生由軟件編程控制,向D/A的輸入端按一定規(guī)律發(fā)送數(shù)

25、據(jù),經(jīng)過(guò)D/A轉(zhuǎn)換器和LM324運(yùn)算放大器輸出,通過(guò)延時(shí)程序控制波形頻率。此方案通過(guò)軟件編程簡(jiǎn)化了外部電路,原理簡(jiǎn)單,容易實(shí)現(xiàn)[10]。</p><p>  具體是利用STC89C52單片機(jī)結(jié)合程序設(shè)計(jì)方法產(chǎn)生正弦波、方波、三角波、鋸齒波四種波形,然后通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),再經(jīng)過(guò)放大后輸出到示波器上顯示。通過(guò)按鍵電路來(lái)控制四種波形的類型選擇、頻率變化。</p>&l

26、t;p>  (2)主要功能及使用介紹:本設(shè)計(jì)采用C語(yǔ)言編程設(shè)計(jì)波形產(chǎn)生程序,分別包括:鍵盤掃描程序、外部中斷程序、正弦波產(chǎn)生程序、方波產(chǎn)生程序、三角波產(chǎn)生程序、鋸齒波產(chǎn)生程序。主控電路通過(guò)STC89C52控制產(chǎn)生波形,并接有復(fù)位電路和振蕩電路。鍵盤電路通過(guò)三個(gè)按鍵控制波形循環(huán)選擇(KEY0)、頻率步進(jìn)加(KEY1)和頻率步進(jìn)減(KEY2)。三個(gè)按鍵通過(guò)上拉電阻接地,且通過(guò)或門芯片74HC4075BI并聯(lián)至P3.0、P3.1和P3.

27、2。頻率的加減由P3.1和P3.2調(diào)節(jié),幅度的調(diào)節(jié)由放大電路中的滑動(dòng)變阻器來(lái)調(diào)節(jié)。數(shù)模轉(zhuǎn)換電路與放大電路組合一起,由P0口產(chǎn)生數(shù)字波形,經(jīng)DAC0832數(shù)模轉(zhuǎn)換和濾波放大輸出到示波器。</p><p>  (3)性能指標(biāo):產(chǎn)生的波形有:正弦波、方波、三角波、鋸齒波。</p><p>  頻率的調(diào)節(jié)范圍:8.3Hz-500Hz</p><p>  幅值調(diào)節(jié)范圍:5V-

28、15V</p><p>  2.2 主要芯片簡(jiǎn)介</p><p>  2.2.1 STC89C52單片機(jī)簡(jiǎn)介</p><p>  STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的

29、8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案[11]。</p><p>  具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89

30、C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選[11]。</p><p>  在此設(shè)計(jì)中,主要通過(guò)單片機(jī)的P1口8位I/O總線作為數(shù)據(jù)總線輸出數(shù)據(jù)到DCA0832,而用P2.6,P2

31、.7口作為控制總線來(lái)控制輸出波形的類型和數(shù)值。主控電路如圖2.2所示:</p><p>  圖2.2 STC89C52單片機(jī)引腳</p><p>  2.2.2 DAC0832 8位D/A轉(zhuǎn)換器芯片簡(jiǎn)介</p><p>  DAC0832是采用CMOS工藝制成的單片電流輸出型并行8位D/A轉(zhuǎn)換器,工作電壓為+5—+15V,基準(zhǔn)電壓為+10V,而其轉(zhuǎn)化時(shí)間是1us.

32、DAC0832主要由兩個(gè)8位D/A轉(zhuǎn)換器組成,正是因?yàn)槠淦瑑?nèi)有輸入數(shù)據(jù)寄存器和DAC寄存器兩級(jí)數(shù)字量緩沖寄存器,故可以直接方便地與單片機(jī)接口。數(shù)字量進(jìn)入DAC寄存器的同時(shí),D/A轉(zhuǎn)換器就開始數(shù)字量到模擬量的轉(zhuǎn)換工作,DAC寄存器中的數(shù)字量不變,則模擬輸出量也不變。DAC0832是以電流形式輸出的,而最終輸出需要用電壓形式,則可以外接運(yùn)算放大器。</p><p>  一個(gè)8位D/A轉(zhuǎn)換器有8個(gè)輸入端(其中每個(gè)輸入端

33、是8位二進(jìn)制數(shù)的一位),有一個(gè)模擬輸出端。輸入可有28=256個(gè)不同的二進(jìn)制組態(tài),輸出為256個(gè)電壓之一,即輸出電壓不是整個(gè)電壓范圍內(nèi)任意值,而只能是256個(gè)可能值[11]。DAC0832的邏輯框圖和引腳排列圖如圖2.3所示:</p><p>  (a) DAC0832內(nèi)部結(jié)構(gòu)框圖 (b) DAC0832引腳圖</p><p>  圖2.3 DAC0832內(nèi)部結(jié)構(gòu)框

34、圖和引腳圖</p><p>  D0~D7:數(shù)字信號(hào)輸入端。</p><p>  ILE:輸入寄存器允許,高電平有效。</p><p>  CS:片選信號(hào),低電平有效。</p><p>  WR1:寫信號(hào)1,低電平有效。</p><p>  XFER:傳送控制信號(hào),低電平有效。</p><p>

35、  WR2:寫信號(hào)2,低電平有效。</p><p>  IOUT1、IOUT2:DAC電流輸出端。</p><p>  RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。</p><p>  VREF:基準(zhǔn)電壓(-10~10V)。</p><p>  VCC:是源電壓(+5~+15V)。</p><p><b>  

36、AGND:模擬地</b></p><p>  NGND:數(shù)字地,可與AGND接在一起使用。</p><p>  DAC0832有如下3種工作方式:</p><p>  (1)單緩沖方式:LE1或LE2一直為高電平,只控制其中一級(jí)寄存器。單緩沖方式是控制輸入寄存器和DAC寄存器同時(shí)接收資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。此方式適用于只有一

37、路模擬量輸出或幾路模擬量不要求同步輸出的情形。</p><p>  (2)雙緩沖方式:不讓LE1和LE2一直為高,控制兩級(jí)寄存器??刂芁E1從高變低,將從D0-D7進(jìn)入的數(shù)據(jù)存入“輸入寄存器”,而控制LE2從高變低,將輸入寄存器的數(shù)據(jù)存入DAC寄存器,同時(shí)開始D/A轉(zhuǎn)換。雙緩沖方式是先使輸入寄存器接收資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分兩次鎖存輸入資料。此方式適用于多個(gè)D/A轉(zhuǎn)換同步輸出的情形。&

38、lt;/p><p> ?。?)直通方式:LE1和LE2一直為高電平,數(shù)據(jù)可以直接進(jìn)入D/A轉(zhuǎn)換器。直通方式是資料不經(jīng)兩級(jí)鎖存器鎖存,即 CS,XFER ,WR1 ,WR2 均接地,ILE接高電平。</p><p>  2.2.3 運(yùn)算放大器LM324簡(jiǎn)介</p><p>  LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全

39、相同的運(yùn)算放大器, 除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖1所示的符號(hào)來(lái)表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同[11]。LM324的 引腳排列如圖2.4所示:</p><p&

40、gt;  (a) LM324運(yùn)算放大器功能圖 (b)LM324運(yùn)算放大去引腳圖</p><p>  圖2.4 LM324運(yùn)算放大器功能圖和引腳圖</p><p>  由于LM324四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中[11]。</p><p>  2.2.4 或門芯片74HC

41、4075簡(jiǎn)介</p><p>  74HC4075是三輸入或門芯片,74HC4075的邏輯功能和引出端排列與CC4075相一致,其工作速度與LS_TTL相似,而功耗仍與COMS4000系列一樣。該器件所有輸入輸出均有內(nèi)部保護(hù)電路,以減少由于靜電感應(yīng)而損壞器件的可能性。74HC4075就有高抗噪聲度和大的驅(qū)動(dòng)負(fù)載的能力[11]。其寬的電源電壓范圍是2—6V,低的輸入的電流是1uA,高的負(fù)載能力是10個(gè)LS_TTL負(fù)

42、載,高的工作速度(典型值)是tpd=11ns(VCC=5V,C=15pF)和低的電源電流20uA。</p><p><b>  2.3 本章小結(jié)</b></p><p>  本章主要介紹設(shè)計(jì)的總體方案和硬件的基礎(chǔ)知識(shí),為后面的硬件設(shè)計(jì)和軟件設(shè)計(jì)作準(zhǔn)備。其中總體方案本著“廉價(jià)成本,性能穩(wěn)定,簡(jiǎn)單靈活”的設(shè)計(jì)原則,接著詳細(xì)闡述本設(shè)計(jì)的總體思路,以設(shè)計(jì)框圖的形式呈現(xiàn),簡(jiǎn)單明

43、了。后面對(duì)設(shè)計(jì)的信號(hào)波形發(fā)生器的工作原理和使用作了詳細(xì)的說(shuō)明和介紹,其中工作原理是采用STC89C52控制器產(chǎn)生波形數(shù)字信號(hào),再結(jié)合數(shù)模轉(zhuǎn)換芯片DAC0832對(duì)數(shù)字信號(hào)進(jìn)行轉(zhuǎn)換輸出模擬信號(hào),而由于DAC0832的工作特性和工作方式,需要設(shè)計(jì)一個(gè)放大電路對(duì)模擬信號(hào)進(jìn)行放大處理,從而實(shí)現(xiàn)信號(hào)的穩(wěn)定輸出,進(jìn)而實(shí)現(xiàn)對(duì)信號(hào)波形的幅度調(diào)節(jié)。對(duì)于此信號(hào)波形發(fā)生器的操作使用,主要從外部鍵盤接口電路和復(fù)位電路進(jìn)行說(shuō)明,為了實(shí)現(xiàn)信號(hào)波形發(fā)生器使用的靈活性和

44、易操作性,我采用或門芯片連接,結(jié)合單片機(jī)的豐富的輸入輸出接口,從而實(shí)現(xiàn)鍵盤電路的簡(jiǎn)單易操作??傮w方案作為系統(tǒng)設(shè)計(jì)的骨架和精髓,我對(duì)方案進(jìn)行了反復(fù)的修改和驗(yàn)證,以求方案的完整和可行性。</p><p>  第二個(gè)主要部分是對(duì)所用到的相關(guān)芯片作了詳細(xì)介紹,不僅包括各個(gè)芯片的外部框圖和功能引腳圖,后面還詳細(xì)介紹芯片的使用規(guī)則和使用功能。所用到的芯片包括核心芯片STC89C52單片機(jī)和DAC0832數(shù)模轉(zhuǎn)換芯片,還有運(yùn)算

45、放大器芯片LM324和或門芯片74HC4075。通過(guò)各個(gè)芯片的使用介紹和功能介紹為后續(xù)工作做好了鋪墊,也對(duì)自己靈活使用相關(guān)芯片提供準(zhǔn)備,這對(duì)后面的硬件設(shè)計(jì)電路圖和軟件程序靈活設(shè)計(jì)有很大的幫助。</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)</p><p><b>  3.1 主控電路</b></p><p>  STC89C52是一種低功耗、高性

46、能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲(chǔ)器,因此這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單、可靠。用STC89C52單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),再接上時(shí)鐘電路和復(fù)位電路即可。由于芯片面積限制、集成度的非常高,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。本設(shè)計(jì)使用其大量的I/O口線和三個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器。定時(shí)器/計(jì)數(shù)器可以工作在計(jì)數(shù)和定時(shí)兩種模式并且有4種工作方式。在波形發(fā)生器中,將其作定時(shí)器使用,通過(guò)計(jì)算來(lái)精確地確定波形的兩

47、個(gè)采樣點(diǎn)輸出之間所需的延遲時(shí)間。其中模式1采用的是16位計(jì)數(shù)器方式,當(dāng)T0和T1被允許計(jì)數(shù)后,從設(shè)定的初值開始加計(jì)數(shù),最高位產(chǎn)生溢出時(shí)CPU發(fā)中斷請(qǐng)求,從而完成波形頻率的調(diào)節(jié)[1]。這些操作由固化在STC89C52的程序自動(dòng)控制。主控電路如圖3.1所示:</p><p>  圖3.1 主控電路</p><p><b>  主控電路功能:</b></p>

48、<p> ?。?)主控電路包括復(fù)位電路和晶體振蕩電路,其中復(fù)位電路是上電復(fù)位與手動(dòng)復(fù)位一體,晶體振蕩電路產(chǎn)生振蕩頻率。</p><p> ?。?)作為信號(hào)發(fā)生器的核心電路之一,主控電路芯片STC89C52通過(guò)執(zhí)行反映控制要求的用戶程序來(lái)實(shí)現(xiàn)各種數(shù)字波形的輸出,主要使用單片機(jī)豐富的I/O接口、定時(shí)器和外部中斷。定時(shí)器應(yīng)用于延時(shí)以達(dá)到按鍵去抖和頻率的調(diào)節(jié),外部中斷應(yīng)用于按鍵控制,I/O接口用于數(shù)字量的傳輸

49、。</p><p>  3.1.1 外接晶振引腳XTAL1與XTAL2</p><p>  單片機(jī)之所以要加振蕩器是因?yàn)閱纹瑱C(jī)內(nèi)CPU在執(zhí)行指定程序是,要經(jīng)過(guò)“取指”、“譯碼”,再定時(shí)給相關(guān)電路發(fā)出控制信號(hào),以實(shí)現(xiàn)“機(jī)器碼指令”所要求的功能。這就要求內(nèi)部必須有一個(gè)基準(zhǔn)時(shí)鐘??赏ㄟ^(guò)外接晶振或振蕩器信號(hào)二種方式來(lái)實(shí)現(xiàn),一般采用外接晶振的方法較方便。XTAL1(19),XTAL2(18)為外接晶

50、振的兩個(gè)引腳。接入晶振時(shí),還要接入兩個(gè)20-30pF的瓷片電容C1,C2,晶振頻率因單片機(jī)工作速度而異,Intel MCS-51系列為1.2—12MHz。當(dāng)采用外部振蕩器時(shí),信號(hào)接入(19)腳,(18)腳懸浮。振蕩器的12分頻為一個(gè)機(jī)器周期,當(dāng)外接12MHz晶振是,一個(gè)機(jī)器周期是1Us。[6] </p><p>  3.1.2 復(fù)位與復(fù)位電路</p><p>  單片機(jī)必須進(jìn)行復(fù)位,是

51、因?yàn)閱纹瑱C(jī)內(nèi)的CPU“取指”過(guò)程即為CPU從PC指針?biāo)付ǖ某绦騼?chǔ)存器ROM地址單元中讀取“機(jī)器碼”過(guò)程。單片機(jī)加電后,PC指針應(yīng)指向ROM中某個(gè)固定的單元。當(dāng)然,程序開始的第一條指令也應(yīng)放在ROM的這一地址單元內(nèi),這樣整個(gè)程序才能有序的執(zhí)行。這個(gè)單元就是ROM的0000H單元。只有上電復(fù)位正常后,PC值才為0000H,即指向ROM的0000H。此外,專用寄存器SFR中SP為07H,即指向片內(nèi)數(shù)據(jù)儲(chǔ)存器(片內(nèi)RAM)07H單元,P0-P

52、3值為0FFH,其余專用寄存器值大多為00H。[6]</p><p>  復(fù)位的方法:當(dāng)振蕩器正常工作時(shí),RST(9)腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)有效復(fù)位??紤]到振蕩器有一定的起振時(shí)間,該引腳必須保持10ms以上的高電平,才能有效復(fù)位。復(fù)位電路有開機(jī)自動(dòng)復(fù)位和手動(dòng)復(fù)位。注意:復(fù)位信號(hào)為2個(gè)以上機(jī)器周期的高電平,單片機(jī)復(fù)位后正常工作時(shí)應(yīng)該為低電平,如果未加復(fù)位電平或復(fù)位后復(fù)位電平仍未撤除,則單片機(jī)不能正常

53、工作,此時(shí),可檢查RST電壓及相關(guān)器件[6]。</p><p>  3.1.3 EA/VDD片內(nèi)程序存儲(chǔ)器選用端</p><p>  單片機(jī)復(fù)位后,PC指針可能指向片內(nèi)ROM0000H或片外ROM0000H單元,這取決于EA/VDD(31)腳外接高電平(指向片內(nèi)ROM0000H)還是低電平(指向片外ROM0000H)。STC89C52內(nèi)部有8KBROM,這時(shí)EA(31)腳需外接高電位VCC

54、[6]。</p><p>  3.2 D/A數(shù)模轉(zhuǎn)換電路</p><p>  在DAC0832數(shù)模轉(zhuǎn)換器的三種工作方式中,較常用的是第二種方式。而單緩沖是適用于只有一路模擬量輸出或幾路模擬量異步輸出的情形。本設(shè)計(jì)采用的是第二種單緩沖方式。這種單緩沖方式是DAC0832的兩個(gè)緩沖器同時(shí)受控,將兩級(jí)寄存器的控制信號(hào)并接,輸入數(shù)據(jù)在控制信號(hào)的作用下,直接送入DAC寄存器。也可以采用把WR2和XF

55、ER這兩個(gè)信號(hào)固定接地的方法[5]。D/A數(shù)模轉(zhuǎn)換電路如圖3.2所示:</p><p>  圖3.2 數(shù)模轉(zhuǎn)換與放大電路</p><p>  圖中ILE接+5V電源,片選信號(hào)CS和傳送信號(hào)XFER都連接到P2.0口,寫選通線WR1和WR2相連同接單片機(jī)的P2.1口,CPU對(duì)DAC0832執(zhí)行一次寫操作,把一個(gè)數(shù)據(jù)就直接寫入DAC寄存器中,DAC0832的輸出模擬信號(hào)隨之相應(yīng)的變化。由于D

56、AC0832是電流型輸出,故在電路中采用運(yùn)算放大器LM324實(shí)現(xiàn)I/V轉(zhuǎn)換。</p><p><b>  此電路功能:</b></p><p> ?。?)主要利用數(shù)模轉(zhuǎn)換芯片DAC0832和運(yùn)算放大器LM324芯片的功能實(shí)現(xiàn)數(shù)模的轉(zhuǎn)換和信號(hào)的放大調(diào)節(jié)。</p><p>  (2)信號(hào)波形幅度調(diào)節(jié)是通過(guò)LM324兩級(jí)放大電路中第二級(jí)的滑動(dòng)變阻器的

57、調(diào)節(jié)來(lái)實(shí)現(xiàn)。</p><p>  其中放大倍數(shù)P=U0/Ui=(R3+RV)/R1……………………………………(3.1)</p><p>  3.3 按鍵接口電路</p><p>  鍵盤用的是上拉電阻,選通接地的形式。</p><p>  KEY0鍵功能:正弦波、方波、三角波、鋸齒波循環(huán)選擇。</p><p>  K

58、EY1鍵功能:頻率加鍵。</p><p>  KEY2鍵功能:頻率減鍵。</p><p>  按鍵電路通過(guò)邏輯或門芯片74HC0475連接到單片機(jī)STC89C52的P3.3/INT1(13)腳,產(chǎn)生外部中斷請(qǐng)求信號(hào)。同時(shí)并聯(lián)連接P3.0、P3.1和P3.2接口,通過(guò)中斷服務(wù)程序控制相關(guān)功能。按鍵接口電路如圖3.3所示:</p><p>  圖3.3 按鍵接口電路&l

59、t;/p><p><b>  按鍵電路功能:</b></p><p>  (1)按鍵電路運(yùn)用三個(gè)按鍵實(shí)現(xiàn)對(duì)波形的循環(huán)選擇和頻率的調(diào)節(jié),頻率的調(diào)節(jié)是通過(guò)鍵盤掃面程序和延時(shí)程序來(lái)實(shí)現(xiàn)。</p><p>  (2)按鍵電路控制是通過(guò)按鍵連接或門芯片74HC4075輸入到外部中斷1接口實(shí)現(xiàn)的。</p><p>  (3)頻率調(diào)節(jié)范圍

60、的計(jì)算:由于延時(shí)程序是采用定時(shí)器0查詢方式延時(shí)1ms,則信號(hào)波形周期延時(shí)2ms,而按鍵的積累數(shù)目為0—60,那么最小頻率Fmin=1/(2*60)*1000=8.3Hz 最大頻率Fmax=1/2*1000=500Hz。</p><p><b>  3.3 本章小結(jié)</b></p><p>  本章主要對(duì)本設(shè)計(jì)的硬件電路設(shè)計(jì)作了詳細(xì)的介紹,包括其工作原理和主要功能介紹。

61、本章節(jié)詳細(xì)介紹了硬件電路的各個(gè)部分,包括主控電路、數(shù)模轉(zhuǎn)換電路及波形放大電路和鍵盤接口電路。</p><p>  主控電路詳細(xì)介紹了設(shè)計(jì)中核心部分之一,STC89C52單片機(jī)控制產(chǎn)生四種基本信號(hào)波形,主要運(yùn)用單片機(jī)的豐富的輸入輸出接口和定時(shí)、外部中斷,配以單片機(jī)外部上電和手動(dòng)復(fù)位電路及振蕩電路,實(shí)現(xiàn)數(shù)字信號(hào)波形的產(chǎn)生和復(fù)位控制。主控電路合理運(yùn)用了單片機(jī)的輸入輸出接口,一是使硬件電路擁有簡(jiǎn)約外觀,具有美感,二是使得

62、編程簡(jiǎn)單化。</p><p>  數(shù)模轉(zhuǎn)換電路及放大電路是硬件電路設(shè)計(jì)另一個(gè)核心部分,數(shù)模轉(zhuǎn)換電路對(duì)輸入的數(shù)字信號(hào)波形進(jìn)行數(shù)模轉(zhuǎn)換,輸出模擬信號(hào)。數(shù)模轉(zhuǎn)換芯片擁有三種工作方式,我采用的是第二種工作方式。通過(guò)詳細(xì)了解了DAC0832數(shù)模轉(zhuǎn)換芯片引腳功能和接線方式,順利連接好相關(guān)接線口,從而實(shí)現(xiàn)數(shù)模轉(zhuǎn)換功能。由于數(shù)模轉(zhuǎn)換芯片的工作特性,需要配以相應(yīng)的放大電路以實(shí)現(xiàn)穩(wěn)定波形的輸出,也便于輸出波形的幅度的調(diào)節(jié)。</

63、p><p>  鍵盤接口電路是用戶操作信號(hào)波形發(fā)生器的界面,運(yùn)用單片機(jī)的外部中斷和定時(shí)中斷,和或門芯片,實(shí)現(xiàn)了鍵盤電路的簡(jiǎn)便和易操作,鍵盤電路包括三個(gè)主要按鍵,實(shí)現(xiàn)波形信號(hào)的循環(huán)選擇和頻率的調(diào)節(jié)。</p><p>  通過(guò)把硬件電路分各個(gè)部分電路進(jìn)行剖析,并進(jìn)行相應(yīng)功能介紹,以便使用硬件電路的合理連接實(shí)現(xiàn)設(shè)計(jì)功能。</p><p>  第4章 系統(tǒng)軟件設(shè)計(jì)</p

64、><p>  4.1 主程序流程圖及程序</p><p>  信號(hào)波形發(fā)生器的軟件設(shè)計(jì)主要包括:按鍵掃描與處理程序、正弦波產(chǎn)生子程序、方波產(chǎn)生子程序、三角波產(chǎn)生子程序、三角波產(chǎn)生子程序、鋸齒波產(chǎn)生子程序幾個(gè)主要部分。主程序的主要功能是接收用戶鍵輸入的數(shù)據(jù)(信號(hào)類型的選擇和數(shù)據(jù)的調(diào)節(jié))和控制指令,單片機(jī)發(fā)送數(shù)據(jù)及控制指令,按要求輸出信號(hào)[2]。系統(tǒng)主程序流程圖如圖4.1所示:</p>

65、<p><b>  開始</b></p><p>  系統(tǒng)初始化 </p><p><b>  波形顯示</b></p><p>  KEY0鍵是否按下 Y 由KEY4、KEY5鍵的輸入 調(diào)出正弦波子程序&

66、lt;/p><p><b>  頻率、幅度值調(diào)節(jié)</b></p><p><b>  N</b></p><p>  KEY1鍵是否按下 Y 由KEY4、KEY5鍵的輸入 調(diào)出方波子程序</p><p><b>  頻率、幅度值調(diào)節(jié)</b><

67、/p><p><b>  N</b></p><p>  KEY2鍵是否按下 Y 由KEY4、KEY5鍵的輸入 調(diào)出三角波子程序</p><p><b>  頻率、幅度值調(diào)節(jié)</b></p><p><b>  N</b></p>&

68、lt;p>  KEY3鍵是否按下 Y 由KEY4、KEY5鍵的輸入 調(diào)出鋸齒波子程序</p><p><b>  頻率、幅度值調(diào)節(jié)</b></p><p>  圖4.1 主程序流程圖</p><p>  根據(jù)設(shè)計(jì)要求,在程序運(yùn)行時(shí),當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)就調(diào)用相應(yīng)的波形子程序和延時(shí)程

69、序。系統(tǒng)子程序的調(diào)用是通過(guò)按鍵的選擇來(lái)實(shí)現(xiàn),然后根據(jù)按鍵的情況計(jì)算得出相應(yīng)的頻率和幅值,啟用延時(shí)程序進(jìn)行頻率的調(diào)節(jié)。</p><p>  主程序主要包括系統(tǒng)的初始化、按鍵的掃描、頻率幅度調(diào)節(jié)和子程序的調(diào)用。其中系統(tǒng)初始化指定時(shí)中斷和外部中斷的初始化,按鍵掃描主要是對(duì)按鍵接口電路的三個(gè)按鍵,通過(guò)循環(huán)選擇鍵選擇各種波形,頻率選擇鍵調(diào)節(jié)波形頻率,幅度調(diào)節(jié)通過(guò)放大電路的滑動(dòng)變阻器調(diào)節(jié)。最后可以直接通過(guò)示波器顯示。<

70、/p><p><b>  4.2各波形子程序</b></p><p>  正弦波信號(hào)產(chǎn)生原理:單片機(jī)內(nèi)部數(shù)據(jù)只能以0、1輸出,所產(chǎn)生的信號(hào)也都是離散信號(hào)。為了能夠讓單片機(jī)實(shí)現(xiàn)正弦波信號(hào)輸出的功能,采用對(duì)信號(hào)采樣、量化的方法。在設(shè)計(jì)中,對(duì)正弦信號(hào)進(jìn)行采樣,通過(guò)查表來(lái)實(shí)現(xiàn)輸出不同的幅度值。采樣點(diǎn)越密,信號(hào)失真度也就越小[3]。</p><p>  方波

71、信號(hào)產(chǎn)生原理:通過(guò)等時(shí)間間隔地輸出上限電平和下限電平來(lái)產(chǎn)生,相等時(shí)間用延時(shí)程序來(lái)實(shí)現(xiàn)。</p><p>  三角波信號(hào)產(chǎn)生原理:通過(guò)從最小值到最大值和從最大值到最小值的循環(huán)來(lái)實(shí)現(xiàn)三角波的輸出,頻率由延時(shí)程序來(lái)調(diào)節(jié)。</p><p>  鋸齒波信號(hào)產(chǎn)生原理:通過(guò)累加產(chǎn)生鋸齒波形。頻率由延時(shí)程序來(lái)實(shí)現(xiàn)。</p><p>  4.2.1 正弦波子程序</p>

72、<p>  void sin() //正弦波 </p><p><b>  { </b></p><p>  uchar i; </p><p><b>  CS_DA=0; </b></p><p><b>  WR_DA=0; </b></p

73、><p>  for(i=0;i<255;i++) </p><p><b>  { </b></p><p>  P0=SinTab[i]; </p><p>  delayms(f); </p><p><b>  }</b></p><p>&

74、lt;b>  }</b></p><p>  4.2.2 方波子程序</p><p>  void squwave() //方波 </p><p><b>  { </b></p><p><b>  uchar i; </b></p><p>&l

75、t;b>  CS_DA=0; </b></p><p><b>  WR_DA=0; </b></p><p>  for(i=100;i>0;i--) </p><p><b>  { </b></p><p><b>  P0=0; </b><

76、/p><p>  delayms(f); </p><p><b>  } </b></p><p>  for(i=100;i>0;i--) </p><p><b>  { </b></p><p><b>  P0=255; </b></p

77、><p>  delayms(f); </p><p><b>  } </b></p><p><b>  } </b></p><p>  4.2.3 三角波子程序</p><p>  void triwave() //三角波 </p><

78、p><b>  { </b></p><p><b>  uchar i; </b></p><p><b>  CS_DA=0; </b></p><p><b>  WR_DA=0; </b></p><p>  for(i=0;i<255

79、;i++) </p><p><b>  { </b></p><p><b>  P0=i; </b></p><p>  delayms(f); </p><p><b>  } </b></p><p>  while(i--) </p>

80、;<p><b>  { </b></p><p><b>  P0=i; </b></p><p>  delayms(f); </p><p><b>  } </b></p><p><b>  } </b></p>&l

81、t;p>  4.2.4 鋸齒波子程序</p><p>  void sawwave() //鋸齒波 </p><p><b>  { </b></p><p>  unsigned char i; </p><p><b>  CS_DA=0; </b></p><p

82、><b>  WR_DA=0; </b></p><p>  for(i=255;i>0;i--) </p><p><b>  { </b></p><p><b>  P0=i; </b></p><p>  delayms(f); </p>

83、<p><b>  } </b></p><p><b>  } </b></p><p>  4.3 鍵盤掃描程序</p><p>  void service_INT1(void) interrupt 2 </p><p><b>  { </b></p

84、><p>  if(key0==0) </p><p><b>  { </b></p><p>  delayms(10);//按鍵消抖 </p><p>  if(key0==0) m++; </p><p>  while(!key0);//松手檢測(cè) </p><p>&

85、lt;b>  } </b></p><p>  if(key1==0) </p><p><b>  { </b></p><p>  delayms(10); </p><p>  if(key1==0) f=f+1; </p><p>  while(!key1);//松手檢

86、測(cè) </p><p><b>  } </b></p><p>  if(key2==0) </p><p><b>  { </b></p><p>  delayms(10); </p><p>  if(key2==0) f=f-1; </p><p

87、>  while(!key2);//松手檢測(cè) </p><p><b>  } </b></p><p>  if(m>4) m=0; </p><p>  if(f>60) f=0; </p><p><b>  } </b></p><p><b

88、>  4.3 本章小結(jié)</b></p><p>  本章通過(guò)介紹總體的軟件編程流程圖,使得軟件設(shè)計(jì)的目標(biāo)一目了然.接下來(lái)通過(guò)五個(gè)主要子程序的介紹,詳細(xì)闡述了軟件設(shè)計(jì)的難點(diǎn)和重點(diǎn).五個(gè)主要子程序包括:鍵盤掃描程序,正弦撥產(chǎn)生子程序,方波產(chǎn)生子程序,三角波產(chǎn)生子程序,和鋸齒波產(chǎn)生子程序.通過(guò)軟件編程大大簡(jiǎn)化了硬件電路,也有利于消除硬件電路帶來(lái)的一些問題,如波形產(chǎn)生純度和噪聲問題等.</p>

89、;<p><b>  結(jié) 論</b></p><p>  (1)本設(shè)計(jì)按照簡(jiǎn)單化,便捷化和價(jià)格低廉的原則,研究了基于OTC89C52單片機(jī)的信號(hào)波形發(fā)生器,采用軟硬件相結(jié)合的方式,通過(guò)相應(yīng)程序的控制,可以產(chǎn)生一系列有規(guī)律的信號(hào)波形,滿足了設(shè)計(jì)任務(wù)的要求。設(shè)計(jì)這樣一個(gè)信號(hào)波形發(fā)生器具有性價(jià)比高、結(jié)構(gòu)體積小、穩(wěn)定度高、實(shí)現(xiàn)方便、易于操作等特點(diǎn),而且升級(jí)的空間很大(無(wú)論是硬件方面還

90、是軟件方面都有很大的提升空間)。由于此設(shè)計(jì)具有優(yōu)良的性能和高性價(jià)比,無(wú)論其在控制控制領(lǐng)域、實(shí)驗(yàn)領(lǐng)域還是廣泛的電子領(lǐng)域都有非常大的現(xiàn)實(shí)意義。此方案解決了傳統(tǒng)信號(hào)發(fā)生器所面臨的低性價(jià)比和性能的不穩(wěn)定性等問題。 </p><p>  (2)當(dāng)然,此設(shè)計(jì)方案所設(shè)計(jì)的信號(hào)波形發(fā)生器尚存在不足之處,主要有兩個(gè)方面,第一是缺乏頻率準(zhǔn)確顯示的模塊,可以配備相應(yīng)的數(shù)字頻率計(jì)模塊,但如何將顯示的精度與信號(hào)源的頻段配合有待進(jìn)一步討論研

91、究:第二是輸出級(jí)可以配以幅度顯示的儀表,并且放大電路有待進(jìn)一步改進(jìn),使其具有更強(qiáng)的輸出能力,數(shù)模芯片也可優(yōu)化選擇。</p><p>  (3)此設(shè)計(jì)方案最大的特點(diǎn)是具有很大的升級(jí)空間,硬件設(shè)計(jì)方面可以考慮采用解決以上不足之處的方案,配以相應(yīng)的顯示模塊;而在軟件設(shè)計(jì)方面,如需要其他各種有規(guī)律波形,只要加入相應(yīng)的子程序即可,且頻率和幅度的調(diào)節(jié)也可精確量化。</p><p><b> 

92、 參考文獻(xiàn)</b></p><p>  [1] 李偉龍.基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì) [A].蘭州:西北民族大學(xué),2013.</p><p>  [2]  陳華敏, 任立民.基于AT89C51 的信號(hào)發(fā)生器的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(2):127-130.</p><p>  [3] 田蛟,展文豪,張宏偉.基于單片機(jī)的信

93、號(hào)發(fā)生器設(shè)計(jì)[A].石家莊:軍械工程學(xué)院光學(xué)與電子工程系,2010-11-8. </p><p>  [4] 一凡設(shè)計(jì)網(wǎng)[DB/OL].</p><p>  http://www.1-fun.com/design/article/2013-1-5/1187-1.html 2013-1-5.</p><p>  [5] 歐偉明,何靜,凌云,劉劍等.單片機(jī)原理與應(yīng)用

94、系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009-7.</p><p>  [6] 梁巧艷,楊會(huì)彩,杜延虎.一種基于AT89C51低頻信號(hào)源的設(shè)計(jì)[J].延安:延安大學(xué),2008-05-08.</p><p>  [7] 胡應(yīng)坤.基于單片機(jī)的數(shù)字函數(shù)信號(hào)發(fā)生器設(shè)計(jì)[A].廣東揭陽(yáng):廣東環(huán)境保護(hù)工程職業(yè)學(xué)院,2013-7.</p><p>  [8] 豆丁網(wǎng).信號(hào)

95、發(fā)生器的發(fā)展過(guò)程及現(xiàn)狀[DB/OL].</p><p>  http://www.docin.com/p-145347825.html</p><p>  [9] 馬忠梅,籍順心,張凱,馬巖.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2007-1.</p><p>  [10] 道客巴巴.基于DAC0832的波形發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)[DB/OL]

96、.http://www.doc88.com/p-906975853177.html</p><p>  [11] 21ic基礎(chǔ)知識(shí).LCD1602引腳圖[DB/OL].http://www.21ic.com/jichuzhishi/datasheet/LCD1602/dlu/189327.html</p><p><b>  致 謝</b></p>

97、<p>  從畢業(yè)論文的初期的起稿到現(xiàn)在的定稿,所花費(fèi)的時(shí)間扎實(shí)有一個(gè)月。在這個(gè)過(guò)程,我遇到過(guò)很多困難,彷徨憂愁過(guò),但在定稿時(shí)我懷揣著滿意與喜悅,更有一份感激之情。</p><p>  在這論文寫作期間,我衷心感謝我的論文指導(dǎo)老師**老師對(duì)我的細(xì)心教導(dǎo)和嚴(yán)格的批評(píng)。她嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和對(duì)待學(xué)術(shù)研究的嚴(yán)格給我留下來(lái)很深刻的印象,過(guò)程中雖然有對(duì)老師的小抱怨,但現(xiàn)在懂得沒有嚴(yán)格的時(shí)間觀念和嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)工作態(tài)度是做

98、不好研究設(shè)計(jì)的。論文寫作中,**老師對(duì)我的論文的章節(jié)布局和寫作要點(diǎn)進(jìn)行了指導(dǎo),起了提綱攜領(lǐng)的作用。</p><p>  同時(shí),這篇論文的寫作過(guò)程,我也得到好幾個(gè)同學(xué)的幫助。在硬件電路圖的繪制和仿真時(shí),遇到了仿真軟件PROTEUS運(yùn)用的一些困難,幾個(gè)同學(xué)相互交流后解決的。在這我想感謝這幾位同學(xué)的幫助,希望我們的友誼長(zhǎng)存。</p><p>  最后,我感謝母校湖南工業(yè)大學(xué)給我這三年半時(shí)間的深造

99、機(jī)會(huì),讓我學(xué)習(xí)相關(guān)專業(yè)知識(shí),讓我體驗(yàn)四年完整的豐富的大學(xué)生活。</p><p><b>  學(xué)生簽名:</b></p><p><b>  日 期:</b></p><p>  附錄1 硬件電路原理圖</p><p>  附錄2 設(shè)計(jì)源程序清單</p><p>  用C

100、語(yǔ)言高級(jí)語(yǔ)言編寫的系統(tǒng)源程序如下:</p><p>  #include <reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  unsigned char m=0,f=0;</p>&

101、lt;p>  sbit CS_DA=P2^0;//控制端口與單片機(jī)的接口</p><p>  sbit WR_DA=P2^1;//控制端口與單片機(jī)的接口</p><p>  sbit key0=P3^0;//波形的循環(huán)選擇按鍵</p><p>  sbit key1=P3^1;//波形頻率加</p><p>  sbit key2=P3

102、^2;//波形頻率減</p><p>  uchar code SinTab[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,</p><p>  0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,

103、0xd1,0xd4,0xd6,0xd8,</p><p>  0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,</p><p>  0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff

104、,0xff,0xff,0xff,0xff,0xff,</p><p>  0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,</p><p>  0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd

105、6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,</p><p>  0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,</p><p>  0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x

106、72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,</p><p>  0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,</p><p>  0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0

107、x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,</p><p>  0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,

108、0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,</p><p>  0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,</p><p>  0x35,0x38,0x3a,0x3d,0x40,0x43,0x45

109、,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,</p><p>  0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80};</p><p>  void delayms(uint t) </p><p><b>  { </b></p>

110、<p>  while(t--) </p><p><b>  { </b></p><p>  TH0=(65536-1000)/256;</p><p>  TL0=(65536-1000)%256;</p><p>  do{}while(!TF0);//延時(shí)1ms</p><p&

111、gt;<b>  TF0=0; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void INT1_init() </p><p><b>  { </b></p><p

112、>  IP=0x04;//置INT1高優(yōu)先級(jí)中斷</p><p>  IE=0x84;//INT1開中斷,CPU開中斷</p><p><b>  } </b></p><p>  void service_INT1(void) interrupt 2 </p><p><b>  { </b&g

113、t;</p><p>  if(key0==0) </p><p><b>  { </b></p><p>  delayms(10);//按鍵消抖 </p><p>  if(key0==0) m++; </p><p>  while(!key0);//松手檢測(cè) </p>&l

114、t;p><b>  } </b></p><p>  if(key1==0) </p><p><b>  { </b></p><p>  delayms(10); </p><p>  if(key1==0) f=f+1; </p><p>  while(!key

115、1);//松手檢測(cè) </p><p><b>  } </b></p><p>  if(key2==0) </p><p><b>  { </b></p><p>  delayms(10); </p><p>  if(key2==0) f=f-1; </p>

116、;<p>  while(!key2);//松手檢測(cè) </p><p><b>  } </b></p><p>  if(m>4) m=0; </p><p>  if(f>60) f=0; </p><p><b>  } </b></p><p&

117、gt;  void sin() //正弦波 </p><p><b>  { </b></p><p>  uchar i; </p><p><b>  CS_DA=0; </b></p><p><b>  WR_DA=0; </b></p>&

118、lt;p>  for(i=0;i<255;i++) </p><p><b>  { </b></p><p>  P0=SinTab[i]; </p><p>  delayms(f); </p><p><b>  }</b></p><p><b>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論