版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題 目 名 稱: 基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器設(shè)計(jì) </p><p> 題 目 類 型: 畢 業(yè) 設(shè) 計(jì) </p><p> 院 (系): 電 子 信 息 學(xué)
2、院 </p><p> 專 業(yè) 班 級(jí): </p><p> 學(xué) 生 姓 名: </p><p> 指 導(dǎo) 教 師:
3、</p><p> 輔 導(dǎo) 教 師: </p><p> 時(shí) 間:2013年3月至2013年6月 </p><p><b> 目錄</b></p><p> xx畢業(yè)設(shè)計(jì)(論文)任務(wù)書I</p><p
4、> 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告III</p><p> xx畢業(yè)論文(設(shè)計(jì))指導(dǎo)教師評(píng)審意見X</p><p> xx畢業(yè)論文(設(shè)計(jì))評(píng)閱教師評(píng)語XI</p><p> xx畢業(yè)論文(設(shè)計(jì))答辯記錄及成績?cè)u(píng)定XII</p><p><b> 中文摘要XIII</b></p><
5、p><b> 英文摘要XIV</b></p><p><b> 1 緒論1</b></p><p> 1.1單片機(jī)概述1</p><p> 1.2函數(shù)發(fā)生器的分類1</p><p> 1.3 研究內(nèi)容2</p><p> 2 方案的設(shè)計(jì)與選擇3&
6、lt;/p><p> 2.1 方案的比較3</p><p> 2.2 設(shè)計(jì)原理3</p><p> 2.3 設(shè)計(jì)思想4</p><p> 2.4 設(shè)計(jì)功能4</p><p> 3 主要器件介紹6</p><p> 3.1 AT89C51簡介6</p><p
7、> 3.2 8255簡介8</p><p> 3.3 DAC0832簡介8</p><p> 3.4 數(shù)碼管顯示原理9</p><p><b> 4硬件設(shè)計(jì)11</b></p><p> 4.1 硬件原理框圖11</p><p> 4.2 主控電路11</p
8、><p> 4.3 數(shù)/模轉(zhuǎn)換電路12</p><p> 4.4 按鍵接口電路13</p><p> 4.5 時(shí)鐘電路14</p><p> 4.6 顯示電路15</p><p> 5 軟件設(shè)計(jì)16</p><p> 5.1 設(shè)計(jì)構(gòu)思16</p><p&
9、gt; 5.2 程序流程圖16</p><p> 5.3 波形圖22</p><p><b> 6 結(jié)論25</b></p><p><b> 參考文獻(xiàn)27</b></p><p> 附錄1 電路原理圖28</p><p> 附錄2 源程序29<
10、/p><p> 附錄3 器件清單40</p><p> xx畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 學(xué)院(系) 電子信息學(xué)院 專業(yè) 電氣工程及其自動(dòng)化 班級(jí) 學(xué)生姓名 指導(dǎo)教師/職稱 </p><p> 1.畢業(yè)設(shè)計(jì)(論文)題目
11、:</p><p> 基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器設(shè)計(jì) </p><p> 2.畢業(yè)設(shè)計(jì)(論文)起止時(shí)間:2013年3月11日~2013年6月10日</p><p> 3.畢業(yè)設(shè)計(jì)(論文)所需資料及原始數(shù)據(jù)(指導(dǎo)教師選定部分)</p><p> ( 1 )王世虎,劉明杰,李曉峰.基于C8051F單片機(jī)信號(hào)發(fā)生器設(shè)計(jì)與應(yīng)用[J].
12、中國科技信息,2009</p><p> ( 2 )徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)[M].電子工業(yè)出版社,2005</p><p> ( 3 )張洪濤,萬紅,楊述斌,數(shù)字信號(hào)處理[M].華中科技大學(xué)出版社,2006</p><p> ( 4 )徐愛鈞.8051單片機(jī)實(shí)踐教程[M].電子工業(yè)出版社,2005</p><p> (
13、5 )CNKI中國知網(wǎng)上關(guān)于利用單片機(jī)設(shè)計(jì)信號(hào)發(fā)生器的期刊論文,碩士論文等</p><p> 4.畢業(yè)設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容</p><p> ?。?)熟悉單片機(jī)開發(fā)方法,熟練掌握匯編語言;</p><p> ?。?)探討單片機(jī)產(chǎn)生方波,正弦波,三角波的方法;</p><p> ?。?)研究產(chǎn)生任意波形的方法;</p>
14、<p> ?。?)設(shè)計(jì)單片機(jī)和DA轉(zhuǎn)換器的連接方法;</p><p> ?。?)設(shè)計(jì)單片機(jī)驅(qū)動(dòng)DA轉(zhuǎn)換器的匯編語言程序,并調(diào)試</p><p> 5.畢業(yè)設(shè)計(jì)(論文)的目標(biāo)及具體要求</p><p> 要求熟練掌握單片機(jī)的開發(fā)流程。能結(jié)合自己所學(xué)的專業(yè)知識(shí)設(shè)計(jì)硬件電路及相應(yīng)的程序,以及運(yùn)用所學(xué)知識(shí)獨(dú)立設(shè)計(jì)任意波形產(chǎn)生的方法和匯編程序。在此設(shè)計(jì)過程中進(jìn)一
15、步加深學(xué)生的軟件編程和動(dòng)手能力。</p><p> 6、完成畢業(yè)設(shè)計(jì)(論文)所需的條件及上機(jī)時(shí)數(shù)要求</p><p><b> PC機(jī)一臺(tái)</b></p><p><b> 單片機(jī)開發(fā)環(huán)境</b></p><p> 圖書管資料與參考書籍</p><p><b&g
16、t; 上機(jī)250學(xué)時(shí)</b></p><p> 任務(wù)書批準(zhǔn)日期 2013 年 3 月 11日 系主任(責(zé)任教授)(簽字) </p><p> 任務(wù)書下達(dá)日期 2013 年 3月 11 日 指導(dǎo)教師(簽字) </p><p> 完成任務(wù)日期 2013 年
17、 3月 17日 學(xué)生(簽名) </p><p><b> xx</b></p><p> 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告</p><p> 題 目 名 稱: 基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器 </p><p> 題 目 類 別: 畢 業(yè) 設(shè) 計(jì)
18、 </p><p> 學(xué) 院(系): 電子信息學(xué)院 </p><p> 專 業(yè) 班 級(jí): </p><p> 學(xué) 生 姓 名: </p><p> 指 導(dǎo) 教 師:
19、 </p><p> 輔 導(dǎo) 老 師: </p><p> 開題報(bào)告日期: 2013年3月12日 </p><p> 基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器設(shè)計(jì)</p><p> 學(xué) 生:
20、電子信息學(xué)院</p><p> 指導(dǎo)教師:,電子信息學(xué)院</p><p><b> 一 課題來源</b></p><p> 為了實(shí)現(xiàn)輸出多種波形的功能,基于單片機(jī)的控制及各電子器件與單片機(jī)間的聯(lián)合,編寫相應(yīng)的軟件,設(shè)計(jì)一種信號(hào)發(fā)生器。以適應(yīng)各種理論研究。</p><p> 二 研究的目的和意義</p&g
21、t;<p> 函數(shù)發(fā)生器亦稱信號(hào)發(fā)生器,主要作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場(chǎng)上常見的波形發(fā)生器多為純硬件的搭接而成,波形種類多為鋸齒、正弦、方波、三角等波形。用分立元件組成的函數(shù)發(fā)生器,通常是單函數(shù)發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調(diào)試;用集成芯片的函數(shù)發(fā)生器,可達(dá)到較高的頻率和產(chǎn)生多種波形信號(hào),但電路較為復(fù)雜且不易調(diào)試。利用單片集成芯片的函數(shù)發(fā)生器,能產(chǎn)生多種波形
22、,達(dá)到較高的頻率,且易于調(diào)試;利用專用直接數(shù)字合成DDS 芯片的函數(shù)發(fā)生器,能產(chǎn)生任意波形并達(dá)到很高的頻率,但成本較高。</p><p> 函數(shù)發(fā)生器作為一種常見的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的一般可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過程控
23、制,生物醫(yī)學(xué),地震模擬機(jī)械振動(dòng)等領(lǐng)域常常要用到低頻信號(hào)源。而由硬件電路構(gòu)成的低頻信號(hào)其性能難以令人滿意,而且由于低頻信號(hào)源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。</p><p> 利用單片機(jī)采用程序設(shè)計(jì)方法來產(chǎn)生低頻信號(hào),其頻率底線很低。具有線路相對(duì)簡單,結(jié)構(gòu)緊湊,價(jià)格低廉,頻率穩(wěn)定度高,抗
24、干擾能力強(qiáng),用途廣泛等優(yōu)點(diǎn),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對(duì)電路稍加修改,調(diào)整程序,即可完成功能升級(jí)。</p><p> 三 參考文獻(xiàn)及資料名稱</p><p> [1]徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2004</p><p> [2]徐愛鈞.單片機(jī)原理實(shí)用教程-基于Proteus虛擬仿真[
25、M].電子工業(yè)出版社,2011</p><p> [3]周潤景等.基于PROTEUS的電路的及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京航空航天大學(xué)出版社,2006</p><p> [4]余永權(quán)等.單片機(jī)在控制系統(tǒng)中的應(yīng)用[M].電子工業(yè)出版社,2006</p><p> [5]周靈彬.PROTEUS的單片機(jī)教學(xué)與應(yīng)用仿真[M].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008<
26、;/p><p> [6]沙占友.單片機(jī)外圍電路設(shè)計(jì)[M].電子工業(yè)出版社,2005</p><p> [7]沈紅衛(wèi).基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].電子工業(yè)大學(xué)出版社,2005</p><p> [8]朱善君.單片機(jī)接口技術(shù)與應(yīng)用[M].清華大學(xué)出版社,2005</p><p> [9]張靖武.單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[
27、M].電子工業(yè)大學(xué),2007</p><p> [10]寧成軍.基于Proteus和Keil接口的單片機(jī)外圍硬件電路仿真[M].現(xiàn)代電子技術(shù),2006</p><p> [11]孫德文.微型計(jì)算機(jī)技術(shù)[M].高等教育出版社,2005</p><p> [12]汪文.單片機(jī)原理及應(yīng)用[M].華中科技大出版社,2007</p><p>
28、四 國內(nèi)外發(fā)展趨勢(shì)及研究主攻方向</p><p> 我國的單片機(jī)應(yīng)用始于80年代,雖然發(fā)展迅速,但相對(duì)于世界市場(chǎng)我國的占有率還很低。到目前為止,由于我國的微電子技術(shù)和制造工藝都比較落后及國外單片機(jī)的競爭等原因,我國還沒有設(shè)計(jì)生產(chǎn)出自己的單片機(jī)。國內(nèi)的單片機(jī)目前注重的還只是低中檔的應(yīng)用,普遍采用的是8或16位的單片機(jī),對(duì)宏單片機(jī)和DSP等高檔的應(yīng)用還處于初始階段。</p><p> 單
29、片機(jī)的發(fā)展趨勢(shì)為:低功耗與高性能、低電壓、低噪聲與高可靠性、采用CMOS技術(shù)、外圍電路內(nèi)裝、串行擴(kuò)展技術(shù)等。同時(shí),單片機(jī)的快速發(fā)展也帶動(dòng)著基于單片機(jī)的信號(hào)發(fā)生器的快速發(fā)展。</p><p> 五 研究方案及預(yù)期達(dá)到的目標(biāo)</p><p> ?。ㄒ唬∮布娐返膶?shí)現(xiàn)原理與構(gòu)思</p><p> 1 AT89C51單片機(jī)控制兩片DAC0832的原理圖</p&
30、gt;<p> 圖1 AT89C51控制兩片DAC0832原理圖</p><p> 因?yàn)锳T89C51單片機(jī)自身便有一個(gè)64K的程序存儲(chǔ)器,所以不用擴(kuò)展外加程序存儲(chǔ)器。由單片機(jī)編程即可由單片機(jī)輸出所需要信號(hào)的數(shù)字量,再由D/A轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)化為模擬電流輸出,通過運(yùn)放轉(zhuǎn)化為模擬電壓輸出。</p><p> 因?yàn)镈/A數(shù)模轉(zhuǎn)換器的最大輸出電壓是由其輸入的基準(zhǔn)電壓來控制的
31、,所以只要能控制D/A的基準(zhǔn)電壓便可以控制輸出幅度,實(shí)現(xiàn)幅度可調(diào)。所以設(shè)計(jì)用兩片DAC0832來輸出信號(hào),第一片D/A用來輸出信號(hào),第二片D/A用來控制第一片D/A的基準(zhǔn)電壓。其中用P0口作為兩片D/A的數(shù)據(jù)總線,P2口的P2.0和P2.1口用來控制兩片D/A的選通。</p><p> 2 鍵盤顯示電路的構(gòu)思</p><p> 由于本設(shè)計(jì)要求控制波形的幅度和頻率,所需按鍵較多,所以設(shè)計(jì)
32、選用P1口來擴(kuò)展4×4鍵盤。由于4×4鍵盤的設(shè)計(jì)已很普遍,所以在本文中不加以介紹。</p><p> 本設(shè)計(jì)中要求用數(shù)碼管顯示輸出信號(hào)的幅度和頻率等信息,而這些信息在信號(hào)輸出的時(shí)候是不需要時(shí)刻改變的,所以設(shè)計(jì)中選用靜態(tài)數(shù)碼管顯示,由單片機(jī)的串行通信口輸出顯示數(shù)據(jù)。這樣可以節(jié)省單片機(jī)的端口來做其它的用途,給予了裝置可優(yōu)化性。</p><p> 圖 2顯示電路方框圖&l
33、t;/p><p> 圖中只給出兩位數(shù)碼管的顯示,可以按要求任意擴(kuò)展N位數(shù)碼顯示,每擴(kuò)展一片74LS164,可以增加一位LED顯示器。所要顯示的數(shù)據(jù)由RXD串行發(fā)送出去,由74LS164轉(zhuǎn)化為并行輸出,再由LED顯示。這樣,在顯示數(shù)據(jù)輸送完畢之后,主程序可以不必掃描顯示器,從而使CPU能用于其它工作。</p><p> (二) 軟件設(shè)計(jì)的構(gòu)思</p><p><
34、b> 1 幅度控制</b></p><p> 由于D/A數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準(zhǔn)電壓來控制,所以控制第二片D/A數(shù)模轉(zhuǎn)換器輸出給第一片D/A數(shù)模轉(zhuǎn)換器的電壓值就可控制信號(hào)幅度。因此,送入第二片的值是幾個(gè)固定的值。由于DAC0832內(nèi)部具有鎖存器,所以只需向第二片D/A送值一次,直到下一次改變信號(hào)幅度。</p><p><b> 2 頻率控制&l
35、t;/b></p><p> 單片機(jī)內(nèi)部數(shù)據(jù)只有0、1之分,所產(chǎn)生的信號(hào)也都是離散信號(hào)。為了能夠讓單片機(jī)輸出所需的數(shù)字信號(hào),我們采用對(duì)信號(hào)采樣、量化的方法來實(shí)現(xiàn)由單片機(jī)產(chǎn)生所需信號(hào)。在本設(shè)計(jì)中,對(duì)信號(hào)的四分之一周期采樣19個(gè)幅度值,通過反復(fù)查表來輸出幅度值,而整個(gè)信號(hào)是通過正查表和逆向查表來實(shí)現(xiàn)的。采樣的點(diǎn)越密,信號(hào)失真度也就越小。兩次采樣點(diǎn)的輸出時(shí)間間隔是由定時(shí)、計(jì)數(shù)器來控制的,因此,通過控制不同的計(jì)數(shù)
36、初值就可以控制整個(gè)信號(hào)的頻率。計(jì)數(shù)時(shí)間=信號(hào)周期/72。計(jì)數(shù)次數(shù)=計(jì)數(shù)時(shí)間/機(jī)器周期。對(duì)應(yīng)的,計(jì)數(shù)初值=65536-計(jì)數(shù)次數(shù)。單片機(jī)只能產(chǎn)生離散頻率的信號(hào),所以所得到的信號(hào)頻率不是連續(xù)的,而是離散的頻率點(diǎn)。由于這部分計(jì)算位數(shù)較多,不適合用單片機(jī)編程來計(jì)算計(jì)數(shù)初值,所以本設(shè)計(jì)中將各頻率的計(jì)數(shù)初值算出,讓單片機(jī)按控制命令來查表控制頻率。</p><p> 正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控
37、制是半周期計(jì)數(shù),經(jīng)過半周期只需改變輸出為最大或最小電平即可。</p><p> 本設(shè)計(jì)為低頻信號(hào)發(fā)生器,在頻率只有幾十赫茲的時(shí)候計(jì)數(shù)次數(shù)將很大,因此計(jì)數(shù)器的工作方式選為工作方式1,每次計(jì)數(shù)器溢出時(shí)需要重新裝入計(jì)數(shù)初值。</p><p> ?。ㄈ╊A(yù)期達(dá)到的目標(biāo)</p><p> 1 該裝置用鍵盤控制輸出方波、三角波、正弦波; </p><p
38、> 2 用鍵盤控制輸出幅度和頻率的變化,并將幅值和頻率用數(shù)碼管顯示,幅度范圍1V~5V,頻率范圍0~10KHz。</p><p> 六 完成畢業(yè)設(shè)計(jì)所必須具備的工作條件</p><p><b> ?。ㄒ唬?資料來源</b></p><p> 圖書館,中國期刊網(wǎng)(CNKI),互聯(lián)網(wǎng)上搜索資料及指導(dǎo)教師提供資料。</p>
39、<p> (二) 實(shí)驗(yàn)中主要設(shè)備、儀器及軟件環(huán)境 </p><p> 計(jì)算機(jī)設(shè)備,網(wǎng)絡(luò),電子元器件(單片機(jī),運(yùn)放等),仿真軟件(Protues ,Kei等)</p><p> 七 工作的主要階段、進(jìn)度與時(shí)間安排</p><p> 收集整理資料并撰寫開題報(bào)告 3月10日----3月16日</p><
40、;p> 完成英文翻譯 3月17日----4月10日</p><p> 學(xué)習(xí)課題相關(guān)內(nèi)容 4月11日----4月25日</p><p> 編程、逐步實(shí)現(xiàn)各項(xiàng)功能 4月26日----5月15日</p><p> 調(diào)試程
41、序、撰寫畢業(yè)設(shè)計(jì)正文 5月16日----5月31日</p><p> 正文的進(jìn)一步完善 6月1日-----6月5 日</p><p> 準(zhǔn)備畢業(yè)論文答辯 6月6日-----6月10日</p><p> 八 指導(dǎo)教師審查意見</p&
42、gt;<p> xx畢業(yè)論文(設(shè)計(jì))指導(dǎo)教師評(píng)審意見</p><p> xx畢業(yè)論文(設(shè)計(jì))評(píng)閱教師評(píng)語</p><p> xx畢業(yè)論文(設(shè)計(jì))答辯記錄及成績?cè)u(píng)定</p><p> 基于單片機(jī)的多功能函數(shù)發(fā)生器設(shè)計(jì)</p><p> 學(xué)生:,電子信息學(xué)院</p><p><b> 指
43、導(dǎo)老師:,xx</b></p><p> 【摘要】信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛地應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。目前使用的信號(hào)發(fā)生器大部分是函數(shù)信號(hào)發(fā)生器,且特殊波形發(fā)生器的價(jià)格昂貴。所以本設(shè)計(jì)使用的是AT89C51單片機(jī)構(gòu)成的發(fā)生器,可產(chǎn)生三角波、方波、正弦波等多種特殊波形,波形的頻率可用程序控制改變。在單片機(jī)上加外圍器件距陣式鍵盤,通過鍵盤控制波形頻率的增減以及波形的選擇,并
44、用了LED顯示頻率大小。在單片機(jī)的輸出端口接DAC0832進(jìn)行D/A轉(zhuǎn)換,再通過運(yùn)放進(jìn)行波形調(diào)整,最后輸出波形接在示波器上顯示。本設(shè)計(jì)具有線路簡單、結(jié)構(gòu)緊湊、價(jià)格低廉、性能優(yōu)越等優(yōu)點(diǎn)。</p><p> 在介紹DAC0832芯片特性的基礎(chǔ)上,論述了采用DAC0832芯片設(shè)計(jì)數(shù)字函數(shù)信號(hào)發(fā)生器的原理以及整機(jī)的結(jié)構(gòu)設(shè)計(jì)。對(duì)其振蕩頻率控制、信號(hào)輸出幅度控制以及頻率和幅度數(shù)顯的實(shí)現(xiàn)作了較詳細(xì)的論述。該函數(shù)信號(hào)發(fā)生器可輸
45、出三角波,方波,正弦波和鋸齒波。</p><p> 【關(guān)鍵詞】單片機(jī);DAC;函數(shù)發(fā)生器</p><p> Design of function generator based on MCU</p><p> Student: Electronics and Information Engneering</p><p&
46、gt; Tutor: Electronics and Information Engneering</p><p> 【Abstract】Signal-generator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control s
47、ystem and teaching experiment etc. Currently used mostly function signal generator signal generator, waveform generator and a special price of expensive . So the dissertation is usage of the AT89s51 single-chip microcomp
48、uter constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can b</p><p> Based on the introduction of MAX038 , we discussed th
49、e principle and the whole frame of the digital function signal generator. We described the control of the oscillatory frequent , amplitude and the digital display in detail. Thegenerator can output three kinds of waves :
50、 triangle wave ,square wave , sine wave and sawtooth wave.</p><p> 【Key words】:single chip microcomputer;DAC;Function generator.</p><p> 基于單片機(jī)的多功能函數(shù)發(fā)生器的設(shè)計(jì)</p><p> 學(xué)生:,電子信息學(xué)院</
51、p><p><b> 指導(dǎo)老師:,xx</b></p><p><b> 1 緒論</b></p><p> 1.1 單片機(jī)概述</p><p> 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、
52、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。</p><p> 單片機(jī)也被稱為微控制器(Microcontroller),由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的
53、控制設(shè)備當(dāng)中。單片機(jī)是70年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)集成于同一硅片的器件。單片機(jī)用于控制有利于實(shí)現(xiàn)系統(tǒng)控制的最小化和單片化,簡化一些專用接口電路,如編程計(jì)數(shù)器、鎖相環(huán)(PLL)、模擬開關(guān)、A/D和D/A變換器、電壓比較器等組成的專用控制處理功能的單板式微系統(tǒng)。</p><p> 單片機(jī)是所有微處理機(jī)中性價(jià)比最高的一種,隨著種類的不斷全面,功能不斷完善
54、,其應(yīng)用領(lǐng)域也迅速擴(kuò)大。單片機(jī)在智能儀表、實(shí)時(shí)控制、機(jī)電一體化、辦公機(jī)械、家用電器等方面都有相當(dāng)?shù)膽?yīng)用領(lǐng)域。當(dāng)前,8位單片機(jī)主要用于工業(yè)控制,如溫度、壓力、流量、計(jì)量和機(jī)械加工的測(cè)量和控制場(chǎng)合;高效能的16位單片機(jī)(如MCS-96、MK-68200)可用在更復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)??梢哉f,微機(jī)測(cè)控技術(shù)的應(yīng)用已滲透到國民經(jīng)濟(jì)的各個(gè)部門,微機(jī)測(cè)控技術(shù)的應(yīng)用是產(chǎn)品提高檔次和推陳出新的有效途徑。</p><p> 1.2
55、函數(shù)發(fā)生器的分類</p><p> 函數(shù)發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。函數(shù)發(fā)生器亦稱信號(hào)發(fā)生器,主要作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。按照頻率范圍分類可以分為:超低頻信號(hào)發(fā)生器、低頻信號(hào)發(fā)生器、視頻信號(hào)發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號(hào)發(fā)生器。按照輸出波形分類可以分為:正弦信號(hào)發(fā)生器和非正弦信號(hào)發(fā)生器,非正弦信號(hào)發(fā)生器又包括:脈沖信
56、號(hào)發(fā)生器,函數(shù)信號(hào)發(fā)生器、掃頻信號(hào)發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號(hào)發(fā)生器、噪聲信號(hào)發(fā)生器等。按照信號(hào)發(fā)生器性能指標(biāo)可以分為一般信號(hào)發(fā)生器和標(biāo)準(zhǔn)信號(hào)發(fā)生器。前者指對(duì)輸出信號(hào)的頻率、幅度的準(zhǔn)確度和穩(wěn)定度以及波形失真等要求不高的一類信號(hào)發(fā)生器。后者是指其輸出信號(hào)的頻率、幅度、調(diào)制系數(shù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準(zhǔn)確、穩(wěn)定、屏蔽良好的中、高檔信號(hào)發(fā)生器。</p><p> 函數(shù)發(fā)生器作為一種常見的應(yīng)用電子儀器設(shè)
57、備,傳統(tǒng)的一般可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過程控制,生物醫(yī)學(xué),地震模擬機(jī)械振動(dòng)等領(lǐng)域常常要用到低頻信號(hào)源。而由硬件電路構(gòu)成的低頻信號(hào)其性能難以令人滿意,而且由于低頻信號(hào)源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電
58、,損耗顯著更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。</p><p> 利用單片機(jī)采用程序設(shè)計(jì)方法來產(chǎn)生低頻信號(hào),其頻率底線很低。具有線路相對(duì)簡單,結(jié)構(gòu)緊湊,價(jià)格低廉,頻率穩(wěn)定度高,抗干擾能力強(qiáng),用途廣泛等優(yōu)點(diǎn),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對(duì)電路稍加修改,調(diào)整程序,即可完成功能升級(jí)。</p><p><b> 1.3
59、 研究內(nèi)容</b></p><p> 本文是做基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),將采用編程的方法來實(shí)現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫,并將所寫程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出。
60、</p><p> 2 方案的設(shè)計(jì)與選擇</p><p> 2.1 方案的比較</p><p> 方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時(shí)產(chǎn)生正弦波、方波等,而且方法簡單易行,用D/A轉(zhuǎn)換器的輸出來改變調(diào)制電壓,也可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號(hào)的頻率穩(wěn)定度不高。</p><p> 方案二:采用鎖相式頻率合成器,利
61、用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。</p><p> 方案三:采用單片機(jī)編程的方法來實(shí)現(xiàn)。該方法可以通過編程的方法來控制信號(hào)波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實(shí)現(xiàn)頻率的變換。此外,由于通過編程方法產(chǎn)生的是數(shù)字信號(hào),所以信號(hào)的精度可以做的很高。</p><p> 鑒于方案一的
62、信號(hào)頻率不夠穩(wěn)定和方案二的電路復(fù)雜,頻率覆蓋系數(shù)難以達(dá)標(biāo)等缺點(diǎn),所以決定采用方案三的設(shè)計(jì)方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來實(shí)現(xiàn),使得信號(hào)頻率的穩(wěn)定性和精度的準(zhǔn)確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價(jià)格便宜,使得硬件的開銷達(dá)到最省。</p><p><b> 2.2 設(shè)計(jì)原理</b></p><p> 數(shù)字信號(hào)可以通過數(shù)/
63、模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),因此可通過產(chǎn)生數(shù)字信號(hào)再轉(zhuǎn)換成模擬信號(hào)的方法來獲得所需要的波形。89C51單片機(jī)本身就是一個(gè)完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉(zhuǎn)換及波形輸出、指示燈及其接口等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號(hào)發(fā)生器構(gòu)成原理框圖如圖2.1所示。&l
64、t;/p><p> 圖1 信號(hào)發(fā)生器原理框圖</p><p> 89C51是整個(gè)波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號(hào),并從鍵盤接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)幅度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)經(jīng)過接口電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號(hào)也就是所需要的輸出波形。</p><p><b> 2.3 設(shè)計(jì)思想</b></p
65、><p> ?。?)利用單片機(jī)產(chǎn)生方波、正弦波、三角波和鋸齒波等信號(hào)波形,信號(hào)的頻率和幅度可變。</p><p> ?。?)將一個(gè)周期的信號(hào)分離成256個(gè)點(diǎn)(按X軸等分),每兩點(diǎn)之間的時(shí)間間隔為T,用單片機(jī)的定時(shí)器產(chǎn)生,其表示式為:T=T/256。</p><p> 如果單片機(jī)的晶振為12MHz,采用定時(shí)器方式0,則定時(shí)器的初值為:</p><p&
66、gt; X=213—T/Tmec (2.1)</p><p><b> 定時(shí)時(shí)間常數(shù)為:</b></p><p> TL =(8192—T)/MOD(256) (2.2)<
67、/p><p><b> ?。?.3)</b></p><p> MOD32表示除32取余數(shù)</p><p> ?。?)正弦波的模擬信號(hào)是D/A轉(zhuǎn)換器的模擬量輸出,其計(jì)算公式為:</p><p> Y =(A/2sint)+A/2 (其中A=VREF) (2.4
68、)</p><p> t=NT (N=1~256) (2.5)</p><p> 那么對(duì)應(yīng)著存放在計(jì)算機(jī)里的這一點(diǎn)的數(shù)據(jù)為: </p><p><b> (2.6) </b></p><p> 一
69、個(gè)周期被分離成256個(gè)點(diǎn),對(duì)應(yīng)的四種波形的256個(gè)數(shù)據(jù)存放在以TAB1--TAB4為起始地址的存儲(chǔ)器中。</p><p><b> 2.4 設(shè)計(jì)功能</b></p><p> ?。?)本方案利用8255A擴(kuò)展8個(gè)獨(dú)立式按鍵,6個(gè)LED顯示器。其中“S0”號(hào)鍵代表方波輸出,“S1”號(hào)鍵代表正弦波輸出,“S2”號(hào)鍵代表三角波輸出,“S3” 號(hào)鍵代表鋸齒波輸出。<
70、/p><p> (2)“S4”號(hào)鍵為10Hz的頻率信號(hào),“S5”號(hào)鍵為100Hz的頻率信號(hào),“S6”號(hào)鍵為500Hz的頻率信號(hào),“S7”號(hào)鍵為1KHz的頻率信號(hào),6個(gè)LED顯示器輸出信號(hào)的頻率值,選用共陽極LED。</p><p> (3)利用兩片DAC0832實(shí)現(xiàn)幅度可調(diào)的信號(hào)源,(其中一片用來調(diào)節(jié)幅度,另外一片用來實(shí)現(xiàn)信號(hào)源的輸出)。</p><p> ?。?)
71、頻率范圍:10~1000Hz。</p><p> ?。?)輸出波形幅度為0~5V。</p><p><b> 3 主要器件介紹</b></p><p> 3.1 AT89C51簡介</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable a
72、nd Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C205
73、1是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p> 3.1.1 主要特性</p><p> .與MCS-51 兼容 .4K字節(jié)可編程閃爍存儲(chǔ)器 .壽命:1000寫/擦循環(huán) .數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部RAM<
74、/p><p> ·32根可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路</p><p> 3.1.2 管腳說明</p><p> VCC:供電電壓。 GND:接地。 P0口:P
75、0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8個(gè)TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個(gè)TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,
76、可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2
77、口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由</p><p> 于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故</p><p>
78、P3口也可作為AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)</p><p> 3.2 8255A簡介</p><p> 8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3
79、種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255A可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。</p><p> 8255A作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255A可編程,所以必須具有邏輯控制部分,因而8255A內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)
80、連接部分、控制部分。</p><p> 3.3 DAC0832簡介</p><p> DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。</p><p> 3.3.1
81、 特性介紹</p><p><b> * 分辨率為8位;</b></p><p> * 電流穩(wěn)定時(shí)間1us;</p><p> * 可單緩沖、雙緩沖或直接數(shù)字輸入;</p><p> * 只需在滿量程下調(diào)整其線性度;</p><p> * 單一電源供電(+5V~+15V);</p&
82、gt;<p> * 低功耗,200mw。</p><p> 3.3.2 管腳介紹</p><p> * D0~D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò));</p><p> * ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效;</p><p> * CS:片選信號(hào)輸入線(選通數(shù)
83、據(jù)鎖存器),低電平有效;</p><p> * WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;</p><p> * XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;</p><p&g
84、t; * WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換;</p><p> * IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;</p><p> * IOUT2:電流輸出端2,其值與
85、IOUT1值之和為一常數(shù);</p><p> * Rfb:反饋信號(hào)輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;</p><p> * Vcc:電源輸入端,Vcc的范圍為+5V~+15V;</p><p> * VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V;</p><p> * AGND:模擬信號(hào)地;</
86、p><p> * DGND:數(shù)字信號(hào)地。</p><p> 3.4 數(shù)碼管顯示原理</p><p> 我們最常用的是七段式和八段式LED數(shù)碼,八段比七段多了一個(gè)小數(shù)點(diǎn),其他的基本相同。所謂的八段是指數(shù)碼管里有八個(gè)小LED發(fā)光二極管,通過控制不同的LED的亮滅來顯示出不同的字形。數(shù)碼管又分為共陰極和共陽極兩種類型,其實(shí)共陰極就是將八個(gè)LED的陰極連在一起讓其接地,
87、這樣給任何一個(gè)LED得另一端高電平,它便能點(diǎn)亮。而共陽極就是將八個(gè)LED的陽極連在一起。其原理圖如下。</p><p> 引腳圖 共陰極 共陽極</p><p> 其中引腳圖的兩個(gè)COM端連在一起,是公共端,而共陰數(shù)碼管要將其接地,共陽極將其接正5V電源。一個(gè)八段數(shù)碼管成為一位,多個(gè)數(shù)碼管并列在一起可構(gòu)成多位數(shù)碼管
88、,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各自的公共端稱為位選線。顯示時(shí),都從段選線送入字符編碼,而選中哪個(gè)位選線,那個(gè)數(shù)碼管便會(huì)被點(diǎn)亮。數(shù)碼管的八段,對(duì)應(yīng)一個(gè)字節(jié)的八位,a對(duì)應(yīng)最低位,dp對(duì)應(yīng)最高位。所以如果想讓數(shù)碼管顯示數(shù)字0,那么共陰數(shù)碼管的字符編碼為00111111,即0x3f:共陽數(shù)碼管的字符編碼為11000000,即0xc0??梢钥闯鰞蓚€(gè)編碼的各位正好相反。如下圖</p><p>
89、;<b> 4 硬件設(shè)計(jì)</b></p><p> 4.1 硬件原理框圖</p><p> 硬件原理方框圖如圖3.1所示。</p><p> 圖2 硬件原理框圖</p><p><b> 4.2 主控電路</b></p><p> AT89C51單處機(jī)內(nèi)部
90、設(shè)置兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器T0和T1,它們具有計(jì)數(shù)器方式和定時(shí)器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其作定時(shí)器使用,用它來精確地確定波形的兩個(gè)采樣點(diǎn)輸出之間的延遲時(shí)間。模式1采用的是16位計(jì)數(shù)器,當(dāng)T0或T1被允許計(jì)數(shù)后,從初值開始加計(jì)數(shù),最高位產(chǎn)生溢出時(shí)向CPU請(qǐng)求中斷。</p><p> 中斷系統(tǒng)是使處理器具有對(duì)外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時(shí)候外
91、界發(fā)生了緊急事件,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時(shí)器/計(jì)數(shù)器溢出時(shí)產(chǎn)生的中斷請(qǐng)求,即是在AT89C51輸出一個(gè)波形采樣點(diǎn)信號(hào)后,接著啟動(dòng)定時(shí)器,在定時(shí)器未產(chǎn)生中斷之前,AT89C51等待,直到定時(shí)器計(jì)時(shí)結(jié)束,產(chǎn)生中斷請(qǐng)求,AT89C51響應(yīng)中斷,接著輸出下一個(gè)采樣點(diǎn)信號(hào),如此循環(huán)產(chǎn)生所需要的信號(hào)波形。</p><p> 如圖4.2所示,AT89C51從P0口接收來
92、自鍵盤的信號(hào),并通過P2口輸出一些控制信號(hào),將其輸入到8255A的信號(hào)控制端,用于控制其信號(hào)的輸入、輸出。如果有鍵按下,則在讀控制端會(huì)產(chǎn)生一個(gè)讀信號(hào),使單片機(jī)讀入信號(hào)。如果有信號(hào)輸出,則在寫控制端產(chǎn)生一個(gè)寫信號(hào),并將所要輸出的信號(hào)通過8255A的PB口輸出,并在數(shù)碼管上顯示出來。</p><p><b> 圖3 主控電路圖</b></p><p> 4.3 數(shù)
93、/模轉(zhuǎn)換電路</p><p> AT89C51單片機(jī)控制兩片DAC0832的原理圖</p><p> 圖4 單片機(jī)控制兩片DAC0832的原理圖</p><p> 因?yàn)锳T89C51單片機(jī)自身便有一個(gè)64K的程序存儲(chǔ)器,所以不用擴(kuò)展外加程序存儲(chǔ)器。由單片機(jī)編程即可由單片機(jī)輸出所需要信號(hào)的數(shù)字量,再由D/A轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)化為模擬電流輸出,通過運(yùn)放轉(zhuǎn)化為模擬電
94、壓輸出。</p><p> D/A數(shù)模轉(zhuǎn)換器的最大輸出電壓是由其輸入的基準(zhǔn)電壓來控制的,所以只要能控制D/A的基準(zhǔn)電壓便可以控制輸出幅度,實(shí)現(xiàn)幅度可調(diào)。所以設(shè)計(jì)用兩片DAC0832來輸出信號(hào),第一片D/A用來輸出信號(hào),第二片D/A用來控制壓。其中用P0口作為兩片D/A的數(shù)據(jù)總線,P2口的P2.0和P2.1口用來控制兩片D/A的選通。</p><p> 該文選用價(jià)格低廉、接口簡單、轉(zhuǎn)換控
95、制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器。DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。</p><p> 由圖4.3可知,DAC0832的片選地址為7FFFH,當(dāng)P25有效時(shí),若P0
96、口向其送的數(shù)據(jù)為00H, 則U1 的輸出電壓為0V;若P0口向其送的數(shù)據(jù)為0FFH時(shí), 則U1的輸出電壓為-5V. 故當(dāng)U1 輸出電壓為0V時(shí),由公式 得:Vout = - 5V.當(dāng)輸出電壓為- 5V時(shí),可得:Vout = +5V,所以輸出波形的電壓變化范圍為- 5V~+ 5V. 故可推得,當(dāng)P0所送數(shù)據(jù)為80H時(shí),Vout為0V。</p><p> 圖5 數(shù)模轉(zhuǎn)換電路&l
97、t;/p><p> 4.4 按鍵接口電路</p><p> 由于本設(shè)計(jì)要求控制波形的幅度和頻率,所需按鍵較多,所以設(shè)計(jì)選用P1口來擴(kuò)展4×4鍵盤。</p><p> 本設(shè)計(jì)中要求用數(shù)碼管顯示輸出信號(hào)的幅度和頻率等信息,而這些信息在信號(hào)輸出的時(shí)候是不需要時(shí)刻改變的,所以設(shè)計(jì)中選用靜態(tài)數(shù)碼管顯示,由單片機(jī)的串行通信口輸出顯示數(shù)據(jù)。這樣可以節(jié)省單片機(jī)的端口來
98、做其它的用途,給予了裝置可優(yōu)化性。</p><p> 圖4.4為鍵盤接口電路的原理圖,圖中鍵盤和8255A的PA口相連,AT89C51的P0口和8255A的D0口相連,AT89C51不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應(yīng)按鍵作出反應(yīng)。其中“S0”號(hào)鍵代表方波輸出,“S1”號(hào)鍵代表正弦波輸出,</p><p> “S2”號(hào)鍵代表三角波輸出。 “S3”號(hào)鍵代表鋸齒波輸出,“S4”
99、號(hào)鍵為10Hz的頻率信號(hào),“S5”號(hào)鍵為100Hz的頻率信號(hào),“S6”號(hào)鍵為500Hz的頻率信號(hào),“S7”號(hào)鍵為1KHz的頻率信號(hào)[3]。</p><p><b> 圖6 按鍵接口</b></p><p><b> 4.5 時(shí)鐘電路</b></p><p> 時(shí)鐘電路可以簡單定義如下:</p>&l
100、t;p> 1.就是產(chǎn)生象時(shí)鐘一樣準(zhǔn)確的振蕩電路。</p><p> 2.任何工作都按時(shí)間順序,用于產(chǎn)生這個(gè)時(shí)間的電路就是時(shí)鐘電路,時(shí)鐘電路一般由晶體振蕩器、晶振控制芯片和電容組成。</p><p><b> 圖7 時(shí)鐘電路</b></p><p> 8051單片機(jī)有兩個(gè)引腳(XTAL1,XTAL2)用于外接石英晶體和微調(diào)電容,從
101、而構(gòu)成時(shí)鐘電路,其電路圖如圖4.5所示。</p><p> 電容C1、C2對(duì)振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。由于頻率較大時(shí),三角波、正弦波、鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形。</p><p><b> 4.6 顯示電路</b></p><p&g
102、t; 顯示電路是用來顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖4.6所示。</p><p> 圖8 LED顯示電路</p><p><b> 5 軟件設(shè)計(jì)</b></p>&l
103、t;p><b> 5.1 設(shè)計(jì)構(gòu)思</b></p><p><b> 1 幅度控制</b></p><p> 由于D/A數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準(zhǔn)電壓來控制,所以控制第二片D/A數(shù)模轉(zhuǎn)換器輸出給第一片D/A數(shù)模轉(zhuǎn)換器的電壓值就可控制信號(hào)幅度。因此,送入第二片的值是幾個(gè)固定的值。由于DAC0832內(nèi)部具有鎖存器,所以只需向第
104、二片D/A送值一次,直到下一次改變信號(hào)幅度。</p><p><b> 2 頻率控制</b></p><p> 單片機(jī)內(nèi)部數(shù)據(jù)只有0、1之分,所產(chǎn)生的信號(hào)也都是離散信號(hào)。為了能夠讓單片機(jī)輸出所需的數(shù)字信號(hào),我們采用對(duì)信號(hào)采樣、量化的方法來實(shí)現(xiàn)由單片機(jī)產(chǎn)生所需信號(hào)。在本設(shè)計(jì)中,對(duì)信號(hào)的四分之一周期采樣19個(gè)幅度值,通過反復(fù)查表來輸出幅度值,而整個(gè)信號(hào)是通過正查表和逆
105、向查表來實(shí)現(xiàn)的。采樣的點(diǎn)越密,信號(hào)失真度也就越小。兩次采樣點(diǎn)的輸出時(shí)間間隔是由定時(shí)、計(jì)數(shù)器來控制的,因此,通過控制不同的計(jì)數(shù)初值就可以控制整個(gè)信號(hào)的頻率。計(jì)數(shù)時(shí)間=信號(hào)周期/72。計(jì)數(shù)次數(shù)=計(jì)數(shù)時(shí)間/機(jī)器周期。對(duì)應(yīng)的,計(jì)數(shù)初值=65536-計(jì)數(shù)次數(shù)。單片機(jī)只能產(chǎn)生離散頻率的信號(hào),所以所得到的信號(hào)頻率不是連續(xù)的,而是離散的頻率點(diǎn)。由于這部分計(jì)算位數(shù)較多,不適合用單片機(jī)編程來計(jì)算計(jì)數(shù)初值,所以本設(shè)計(jì)中將各頻率的計(jì)數(shù)初值算出,讓單片機(jī)按控制命
106、令來查表控制頻率。</p><p> 正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半周期計(jì)數(shù),經(jīng)過半周期只需改變輸出為最大或最小電平即可。</p><p> 5.2 程序流程圖</p><p> 本文中子程序的調(diào)用是通過按鍵的選擇來實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動(dòng)計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過轉(zhuǎn)換輸出
107、相應(yīng)的電壓,從而形成所需的各種波形。</p><p> 主程序的流程圖如圖5.1所示,在程序開始運(yùn)行之后,首先是對(duì)8255A進(jìn)行初始</p><p> 化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結(jié)束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。</p><p> 圖9 主程序流
108、程圖</p><p> 下面說明主程序流程圖的程序?qū)崿F(xiàn):</p><p><b> 開始:</b></p><p> ORG 0000H 程序開始執(zhí)行,首先覺得跳轉(zhuǎn)到主程序</p><p> AJM MAIN </p&g
109、t;<p> ORG 000BH 定時(shí)器0中斷入口地址,跳轉(zhuǎn)到中斷服務(wù)程序</p><p><b> LJMP TCO</b></p><p> ORG 0030H</p><p> 2.8255A初始化:</p><p> MOV DPTR,
110、#7F00H 指向8155命令字端口地址</p><p> MOV A,#06H 設(shè)置A口為輸入,B口、C口為輸出</p><p> MOVX @DPTR,A 送命令字</p><p><b> 3.判定信號(hào)頻率:</b></p>&
111、lt;p> MOV DPTR,#7F01H 指向A口地址</p><p> MOVX A,@DPTR 讀入A口的開關(guān)數(shù)據(jù)</p><p> JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出10Hz信號(hào)</p><p> JNB ACC.5,K100H
112、 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出100Hz信號(hào)</p><p> JNB ACC.6,K500H 判斷是否“6”號(hào)鍵,若是則轉(zhuǎn)輸出500Hz信號(hào)</p><p> JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出1KHz信號(hào)</p><p> AJMP MAIN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
- 單片機(jī)函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 電子專業(yè)畢業(yè)設(shè)計(jì)---單片機(jī)控制多功能信號(hào)發(fā)生器
- 多功能函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)控制的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)函數(shù)發(fā)生器系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)函數(shù)發(fā)生器系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的信號(hào)發(fā)生器
- 基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
- 51單片機(jī)課程設(shè)計(jì)---多功能信號(hào)發(fā)生器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論