版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計</p><p> 2013年 6月17日</p><p><b> 目錄</b></p><p><b> 第1章 緒論3</b></p><p> 1.1 波形發(fā)生器的概述3</p><p> 1.2 本設(shè)計任務
2、3</p><p> 第2章 總體方案論證與設(shè)計4</p><p> 2.1 總體方案選擇與論證4</p><p> 2.2 系統(tǒng)設(shè)計基本原理圖與分析5</p><p> 第3章 系統(tǒng)硬件電路的設(shè)計6</p><p> 3.1 單片機最小系統(tǒng)的設(shè)計6</p><p>&
3、lt;b> 3.2資源分配6</b></p><p> 3.3各模塊電路的設(shè)計7</p><p> 3.4按鍵和波形指示燈電路8</p><p> 3.5電流電壓轉(zhuǎn)換電路9</p><p> 第4章 系統(tǒng)的軟件設(shè)計10</p><p> 4.1主程序模塊10</p>
4、<p> 4.2鋸齒波程序模塊11</p><p> 4.3三角波程序模塊11</p><p> 第5章 系統(tǒng)調(diào)試與測試結(jié)果分析13</p><p> 5.1軟件仿真13</p><p> 5.2仿真結(jié)論分析14</p><p> 5.3硬件測試結(jié)果分析14</p>
5、<p><b> 結(jié) 論15</b></p><p><b> 附錄1 程序17</b></p><p> 附錄2 整體電路原理圖24</p><p> 附錄3 仿真效果圖25</p><p><b> 第1章 緒論</b></p>
6、<p> 波形發(fā)生器也稱函數(shù)發(fā)生器,作為實驗信號源,是現(xiàn)今各種電子電路實驗設(shè)計應用中必不可少的儀器設(shè)備之一。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒波,正弦波,方波,三角波等波形。作為一種常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領(lǐng)域。函數(shù)信號發(fā)生器是一種能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路。通過對函數(shù)波形發(fā)生器的原理以及構(gòu)成分析,可設(shè)計一個
7、能變換出三角波、正弦波、方波的函數(shù)波形發(fā)生器。</p><p> 1.1 波形發(fā)生器的概述</p><p> 波形發(fā)生器作為一種常用的信號源,是現(xiàn)代測試領(lǐng)域內(nèi)應用最為廣泛的通用儀器之一。在研制、生產(chǎn)、測試和維修各種電子元件、部件以及整機設(shè)備時,都學要有信號源,由它產(chǎn)生不同頻率不同波形的電壓、電流信號并加到被測器件或設(shè)備上,用其他儀器觀察、測量被測儀器的輸出響應,以分析確定它們的性能參
8、數(shù)。信號發(fā)生器是電子測量領(lǐng)域中最基本、應用最廣泛的一類電子儀器。它可以產(chǎn)生多種波形信號,如正弦波,三角波,方波等,因而廣泛用于通信、雷達、導航、宇航等領(lǐng)域。隨著集成電路的迅速發(fā)展,用集成電路可很方便地構(gòu)成各種信號波形發(fā)生器。用集成電路實現(xiàn)的信號波形發(fā)生器與其它信號波形發(fā)生器相比,其波形質(zhì)量、幅度和頻率穩(wěn)定性等性能指標,都有了很大的提高。</p><p> 1.2 本設(shè)計任務</p><p&
9、gt; 本設(shè)計通過分析比較后采用傳統(tǒng)的方法來實現(xiàn)多功能波形發(fā)生器。借助高性能單片機運算速度高,系統(tǒng)集成度強的優(yōu)勢,設(shè)計的這種信號發(fā)生器,比以前的數(shù)字式信號發(fā)生器具有硬件簡單,理解及實現(xiàn)起來較容易,該方案的設(shè)計思路較為清晰,且容易對頻率和幅值進行控制等優(yōu)點。</p><p> 第2 章 總體方案論證與設(shè)計</p><p> 依據(jù)應用場合.需要實現(xiàn)的波形種類,波形發(fā)生器的具體指標要求會
10、有所不同。依據(jù)不同的設(shè)計要求選取不同的設(shè)計方案。通常,波形發(fā)生器需要實現(xiàn)的波形有正弦波、方波、三角波和鋸齒波。有些場合可能還需要任意波形的產(chǎn)生。各種波形共有的指標有:波形的頻率、幅度要求,頻率穩(wěn)定度,準確度等。</p><p> 2.1 總體方案選擇與論證</p><p> 對于不同波形,具體的指標要求也會有所差異,例如,占空比是脈沖波形特有的指標。波形發(fā)生器的設(shè)計方案多種多樣,大致
11、可以分為幾大類:純硬件設(shè)計法、純軟件設(shè)計法和軟硬件結(jié)合設(shè)計法。</p><p><b> 2.1.1方案一:</b></p><p> 波形發(fā)生器設(shè)計的純硬件法早期,波形發(fā)生器的設(shè)計主要是采用運算放大器加分立元件來實現(xiàn)。實現(xiàn)的波形比較單一,主要為正弦波、方波和三角波。工作原理也相對簡單:首先是產(chǎn)生正弦波,然后通過波形變換(正弦波通過比較器產(chǎn)生方波,方波經(jīng)過積分器變
12、為三角波)實現(xiàn)方波和三角波。在各種波形后加上一級放大電路,可以使輸出波形的幅度達到要求,通過開關(guān)電路實現(xiàn)不同輸出波形的切換,改變電路的具體參數(shù)可以實現(xiàn)頻率、幅度和占空比的改變。通過對電路結(jié)構(gòu)的優(yōu)化及所用元器件的嚴格選取可以提高電路的頻率穩(wěn)定性和準確度。通過調(diào)整外部元件的參數(shù)實現(xiàn)頻率,幅值,占空比的調(diào)整,但是由于元件太過分散,即使使用單片壓控函數(shù)發(fā)生器,參數(shù)與外部條件有關(guān)。因而產(chǎn)生的波形穩(wěn)定性差,精度低,抗干擾能力差,價格高,且靈活性差。
13、</p><p> 2.1.2 方案二:</p><p> 軟硬件結(jié)合法軟硬件結(jié)合的波形發(fā)生器設(shè)計方法同時兼具軟硬件設(shè)計的優(yōu)勢:既具有純硬件設(shè)計的快速、高性能,同時又具有軟件控制的靈活性、智能性。如以單片機和單片集成函數(shù)發(fā)生器為核心。輔以鍵盤控制、液晶顯示等電路,設(shè)計出智能型函數(shù)波形發(fā)生器,采用軟硬件結(jié)合的方法可以實現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生器,同時還可以擴展波形發(fā)生器的功能,采用
14、單片機(AT89S51)和數(shù)模轉(zhuǎn)換芯片(DAC0832)實現(xiàn)波形的產(chǎn)生,波形的產(chǎn)生由程序控制,向D/A的輸入端按一定的規(guī)律發(fā)送數(shù)據(jù),經(jīng)過D/A和MC1458產(chǎn)生100Hz頻率波形,通過查詢鍵盤或中斷控制不同波形的產(chǎn)生。此方案通過編程簡化了外部電路,原理簡單,容易實現(xiàn)。</p><p> 方案選擇:經(jīng)比較,方案二明顯更適合實現(xiàn)課程設(shè)計題目的要求。通過編程實現(xiàn)不同波型的產(chǎn)生,并且可以通過按鍵實現(xiàn)波形的切換。該方案線
15、路簡單,結(jié)構(gòu)緊湊,系統(tǒng)穩(wěn)定,易控制,容易調(diào)試等優(yōu)點,綜上分析,選擇方案二實現(xiàn)課題要求。</p><p> 2.2 系統(tǒng)設(shè)計基本原理圖與分析</p><p> 2.2.1系統(tǒng)原理框圖如圖2-1</p><p> 圖2-1波形發(fā)生器系統(tǒng)框圖</p><p> 2.2.2原理框圖分析:</p><p> 該波形發(fā)
16、生器主要由單片機(AT89S51),數(shù)模轉(zhuǎn)換電路(DAC0832),電流/電壓轉(zhuǎn)換電路(MC1458),按鍵和波形指示燈電路,ISP接口等組成。其工作原理為當按下四個按鍵當中的任何一個按鍵,就會產(chǎn)生相對應的波形,并且四個LED燈作為不同波形的指示。</p><p> 第3章 系統(tǒng)硬件電路的設(shè)計</p><p> 3.1 單片機最小系統(tǒng)的設(shè)計</p><p>
17、 AT89S51是片內(nèi)有ROM/EPROM的單片機,因此,這種芯片構(gòu)成的最小系統(tǒng)簡單﹑可靠。用AT89S51單片機構(gòu)成最小應用系統(tǒng)時,只要將單片機接上時鐘電路和復位電路即可,如圖3-1 AT89S51單片機最小系統(tǒng)所示。由于集成度的限制,最小應用系統(tǒng)只能用作一些小型的控制單元。其應用特點:有可供用戶使用的大量I/O口線;內(nèi)部存儲器容量有限;應用系統(tǒng)開發(fā)具有特殊性。</p><p> 圖3-1 AT89S51單
18、片機最小系統(tǒng)</p><p><b> 3.2資源分配</b></p><p> 軟硬件設(shè)計是設(shè)計中為了滿足功能和指標要求,現(xiàn)分配資源如下:</p><p> 晶振采用12MHz,內(nèi)存分配:P0口與DAC0832的DI0-DI7數(shù)據(jù)輸入;P1口的P1.0~P1.3分別與四個按鍵相連,分別控制相應波形的輸出,每輸出一個波形,點亮對應的LED
19、燈端相連;P2口與DAC0832的輸入寄存器選擇信號CS,輸入寄存器寫選通信號WR1及DAC寄存器寫選通WR2和數(shù)據(jù)傳送信號XFER</p><p> 使CPU開始工作的方法就是給CPU一個復位信號,復位信號結(jié)束后,CPU從程序存儲器“0000H”開始執(zhí)行程序。AT89S51高電平復位,采取手動復位。設(shè)置一個復位按鈕,當操作者按下按鈕時產(chǎn)生一個復位信號。</p><p> 3.3各模塊
20、電路的設(shè)計</p><p> 3.3.1 D/A轉(zhuǎn)換電路</p><p> DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1μs,滿量程誤差為±1LSB,參考電壓為(+10~-10)V,供電電源為(+5~+15)V,邏輯電平輸入與TTL兼容。</p><p> 圖3-2
21、 DAC0832引腳圖</p><p> 3.3.2 DAC0832工作原理</p><p> DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。8 位輸入寄存器用于存放主機送來的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由加以控制;8位DAC寄存器用于存放待轉(zhuǎn)換的數(shù)字量,由加以控制;8位D/A轉(zhuǎn)換器輸出與數(shù)字量成正比的模擬電流;由與門、非與門
22、組成的輸入控制電路來控制2個寄存器的選通或鎖存狀態(tài)。</p><p> DAC0832與反相比例放大器相連,實現(xiàn)電流到電壓的轉(zhuǎn)換,因此輸出模擬信號的極性與參考電壓的極性相反。</p><p> 圖3-3 D/A轉(zhuǎn)換器雙極性輸出電路</p><p> 圖3-3中,運算放大器U3B的作用是把運算放大器U3A的單向輸出電壓轉(zhuǎn)換成雙向輸出電壓。DAC0832主要是用于
23、波形的數(shù)據(jù)的傳送,是本題目電路中的主要芯片。</p><p> 3.4按鍵和波形指示燈電路</p><p><b> 原理圖如下</b></p><p> 圖3-4 采用中斷的方式對波形的切換</p><p> 對于查詢方式對波形的切換,當按鍵按下時,輸出相應波形,并點亮相應的LED燈,對于中斷方式,利用兩個外部
24、中斷實現(xiàn)對波形的切換。中斷與查詢相結(jié)合的方式可以進行擴展,查詢方式不是實時的,而中斷時實時的。</p><p> 3.5電流電壓轉(zhuǎn)換電路</p><p><b> 原理圖如下:</b></p><p> 圖3-5 I/V轉(zhuǎn)換電路</p><p> 實現(xiàn)I/V轉(zhuǎn)換最簡單的方法就是直接在1out1和Iout2之間跨界
25、一電阻,這樣就很容易的實現(xiàn)了I/V轉(zhuǎn)換,但是這種方法忽略了一個阻抗問題。對于DAC0832來說,R的取值應盡可能大,能夠保證獲得更多的電壓,對于與輸出電壓相連的后續(xù)電路來說,R的取值應盡可能的小,以降低輸出阻抗,這兩方面是矛盾的,所以這種方式欠合理。而合理的方式是應用運算放大器實現(xiàn)I/V轉(zhuǎn)換,也解決了阻抗的問題。</p><p> 第4章 系統(tǒng)的軟件設(shè)計</p><p> 根據(jù)功能,
26、系統(tǒng)軟件設(shè)計分成幾個模塊編程:主程序模塊,鋸齒波程序模塊,三角波程序模塊,正弦波程序模塊,方波程序模塊,延時程序模塊。</p><p><b> 4.1主程序模塊</b></p><p><b> 主程序流程圖</b></p><p> 圖4-1主程序流程圖</p><p> 主程序中主要實
27、現(xiàn)利用按鍵來控制不同波形的輸出,當按鍵KEY1(P1.0)按下時波形發(fā)生器就輸出鋸齒波,對應的LED(P1.4)點亮;當按鍵KEY2(P1.1)按下時,波形發(fā)生器就輸出三角波,對應的LED(P1.5)點亮;當按鍵KEY3(P1.2)按下時,波形發(fā)生器就輸出正弦波,對應的LED(P1.6)點亮;當按鍵KEY4(P1.3)按下時,波形發(fā)生器就輸出方波,對應的LED(P1.7)點亮。通過按鍵可以以任意循環(huán)方式輸出不同波形。</p>
28、<p> 4.2鋸齒波程序模塊</p><p><b> 程序流程圖</b></p><p> 圖4-2鋸齒波程序流程圖</p><p> 鋸齒波產(chǎn)生首先將DAC0832口地址至為2FFFH,然后將00H送入寄存器A中,DAC0832輸出A中的內(nèi)容,當A中的內(nèi)容等于FFH返回開始,當A中的內(nèi)容不為FFH時,A中的內(nèi)容累加,
29、從而輸出波形。</p><p> 4.3三角波程序模塊</p><p><b> 程序流程圖</b></p><p> 圖4-3 三角波程序流程圖</p><p> 三角波產(chǎn)生首先將DAC0832口地址至為2FFFH,通過A中數(shù)值的加一遞升,當A中的內(nèi)容為0時,與0FFH相比,相等時A中的內(nèi)容減一遞減,從而循環(huán)產(chǎn)
30、生三角波。</p><p> 4.4正弦波程序模塊和方波程序模塊</p><p><b> 程序流程圖</b></p><p> 圖4-4正弦波程序流程圖 圖4-5方波程序流程圖</p><p> 正弦波波形通過查表指令得出。</p&
31、gt;<p> 方波產(chǎn)生首先將DAC0832口地址至為2FFFH,當A中的內(nèi)容為0時,輸出對應模擬量,然后延時,當A中的內(nèi)容為0FFH時,同樣輸出對應模擬量,再延時相同時間,從而得到方波。</p><p> 第5章 系統(tǒng)調(diào)試與測試結(jié)果分析</p><p><b> 5.1軟件仿真</b></p><p> 圖5-1鋸齒波
32、仿真圖</p><p> 圖5-2三角波仿真圖</p><p> 圖5-3正弦波仿真圖</p><p><b> 圖5-4方波仿真圖</b></p><p><b> 5.2仿真結(jié)論分析</b></p><p> 從軟件仿真的結(jié)果上看,波形存在一定的的失真,這主要跟
33、程序的設(shè)計有關(guān),沒有做到那么精確,再者,我認為仿真軟件本身也會給測試結(jié)果一定的誤差。</p><p> 5.3硬件測試結(jié)果分析</p><p> 硬件測試結(jié)果顯示,示波器顯示的波形比仿真軟件模擬甚至還標準,而且對按鍵的響應比仿真響應快。這在一定程度上,告訴我們,仿真軟件只是一個我們研究的工具,我們不能完全依賴于于仿真軟件。</p><p><b>
34、結(jié) 論</b></p><p> 本次的設(shè)計中利用AT89S51和DAC0832以及放大器完成電路的設(shè)計,用開關(guān)來控制各種波形的發(fā)生及轉(zhuǎn)換,用單片機輸出后,經(jīng)過模數(shù)轉(zhuǎn)換器生成波形,最終可以通過示波器觀察。在這次的軟件設(shè)計中,程序設(shè)計采用的是匯編語言。匯編語言具有速度快,可以直接對硬件進行操作的優(yōu)點,它可以極好的發(fā)揮硬件的功能。</p><p> 通過這次課程設(shè)計使我對課程
35、所學理論知識的深化和提高。并且本次課程設(shè)計,使我了解和掌握單片機應用系統(tǒng)的軟硬件設(shè)計過程、方法及實現(xiàn),培養(yǎng)了我分析問題和解決問題的能力,為以后設(shè)計和實現(xiàn)更難的應用系統(tǒng)打下良好基礎(chǔ)。</p><p> 在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過其他的課程設(shè)計但這次設(shè)計真的讓我長進了很多。對于單片機設(shè)計,其硬件電路是比較簡單的,主要是解決程序設(shè)計的問題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏
36、輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關(guān)鍵的問題所在,這需要對單片機的結(jié)構(gòu)很熟悉。因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。</p><p> 要設(shè)計一個成功的電路,必須要有耐心,要有堅持的毅力。在整個電路的設(shè)計過程中,花費時間最多的是各個單元電路的連接及電路的細節(jié)設(shè)計上,如在多種方案的
37、選擇中,我們仔細比較分析其原理以及可行的原因。這就要求我們對硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應用。完成這次設(shè)計后,我在書本理論知識的基礎(chǔ)上又有了更深層次的理解。</p><p> 同時在本次設(shè)計的過程中,我還學會了高效率的查閱資料、運用工具書、利用網(wǎng)絡查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識在實際應用中其實并不是十分理想,各種參數(shù)都需要自己去調(diào)整。在實踐中應用的深刻理解,通過把波
38、形在計算機上實現(xiàn),知道和理解該理論在計算機中怎樣執(zhí)行的,對該理論在實踐中的應用更深刻的理解,這次課程設(shè)計,我進一步了解了波形發(fā)生器的原理,在實際動手操作過程中,使我學得了許多知識,使我獲益匪淺。</p><p><b> 附錄1 程序</b></p><p><b> 源程序</b></p><p> ;******
39、****************************************************</p><p> ;課程設(shè)計題目:波形發(fā)生器設(shè)計</p><p> ;實 現(xiàn) 功 能:能產(chǎn)生正弦波,三角波,鋸齒波,方波</p><p> ; 可通過按鍵能對各波形的切換,頻率為:100HZ</p><p>
40、 ;按鍵查詢方式</p><p> ;**********************************************************</p><p> ;*******************************</p><p><b> ;對按鍵進行設(shè)定</b></p><p>
41、; ;*******************************</p><p> KEY1EQUP1.0</p><p> KEY2EQUP1.1</p><p> KEY3EQUP1.2</p><p> KEY4EQUP1.3</p><p><b> ORG0000
42、H</b></p><p><b> LJMPMAIN</b></p><p><b> ORG0030H</b></p><p> MAIN:MOVSP,#60H;設(shè)置堆棧區(qū)</p><p> ;******************************</p&
43、gt;<p> ;按下KEY1生成鋸齒波程序</p><p> ;******************************</p><p> B1:MOVA,#00H</p><p> LP1:CLRP1.4</p><p><b> SETBP1.5</b></p>&
44、lt;p> SETBP1.6</p><p><b> SETBP1.7</b></p><p> MOVDPTR,#2FFFH;對</p><p> MOVX@DPTR,A</p><p> LCALLDELYB1</p><p> CJNEA,#0FFH,ADD
45、1</p><p> JNBKEY2,B2</p><p> JNBKEY3,B3</p><p> JBKEY4,D0</p><p> LJMPB4</p><p> D0:SJMPB1</p><p> ADD1:INCA;<
46、;/p><p> SJMPLP1</p><p> ;********************************</p><p> ;按下KEY2生成三角波程序</p><p> ;********************************</p><p> B2:MOVA,#00H&l
47、t;/p><p> UP1:CLRP1.5</p><p><b> SETBP1.4</b></p><p><b> SETBP1.6</b></p><p><b> SETBP1.7</b></p><p> MOVDPTR,#2
48、FFFH</p><p> MOVX@DPTR,A</p><p> LCALLDELYB2</p><p><b> INCA</b></p><p><b> JNZUP1</b></p><p><b> DOWN1:</b>
49、</p><p><b> DECA</b></p><p> MOVX@DPTR, A</p><p> LCALLDELYB2</p><p> JNZDOWN1</p><p> JNBKEY1,B1</p><p> JNBKE
50、Y3,B3</p><p> JBKEY4,C0</p><p><b> LJMPB4</b></p><p> C0:SJMPUP1</p><p> ;******************************</p><p> ;KEY3按下生成正弦波</
51、p><p> ;******************************</p><p> B3:MOVR1,#00H</p><p><b> LOOP1:</b></p><p><b> CLRP1.6</b></p><p><b> SE
52、TBP1.5</b></p><p><b> SETBP1.4</b></p><p><b> SETBP1.7</b></p><p><b> MOVA,R1</b></p><p> MOVDPTR,#SETTAB</p>
53、<p> MOVCA,@A+DPTR</p><p> MOVDPTR,#2FFFH</p><p> MOVX@DPTR,A</p><p> LCALLDELYB3</p><p><b> INCR1</b></p><p> JNBKEY1,B1<
54、/p><p> JNBKEY2,B2</p><p> JBKEY4,E0</p><p><b> LJMPB4</b></p><p> E0:AJMPLOOP1</p><p> SETTAB: ;正弦表格</p><p> DB 80H,83H,8
55、6H,89H,8DH,90H,93H,96H</p><p> DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH</p><p> DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H</p><p> DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H</
56、p><p> DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H</p><p> DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H</p><p> DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH</p><p> DB 0
57、FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH</p><p> DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H</p><p> DB 0F5H,0F4H,0F2H,0F1H,0EF
58、H, 0EEH,0ECH,0EAH</p><p> DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH</p><p> DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H</p><p> DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H</
59、p><p> DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H</p><p> DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H</p><p> DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H</p><p> DB 66H, 6
60、3H, 60H, 5DH, 5AH, 57H, 55H, 51H</p><p> DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH</p><p> DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H</p><p> DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H,
61、 16H</p><p> DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH</p><p> DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H</p><p> DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> D
62、B 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H</p><p> DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H</p><p> DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H</p><p> DB 16H, 18H, 1AH, 1CH, 1EH, 2
63、0H, 22H, 25H</p><p> DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H</p><p> DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH</p><p> DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H</p><
64、p> DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H</p><p><b> RET</b></p><p> ;********************************</p><p> ;按下KEY4生成方波</p><p> ;*************
65、*******************</p><p> B4:MOVA,#00H</p><p> LP2:CLRP1.7</p><p><b> SETBP1.4</b></p><p><b> SETBP1.5</b></p><p><b
66、> SETBP1.6</b></p><p> MOVDPTR,#2FFFH</p><p> MOVX@DPTR,A</p><p> LCALLDELYB4</p><p> MOVA,#0FFH</p><p> MOVX@DPTR,A</p><p&
67、gt; LCALLDELYB4</p><p> JBKEY1,J0</p><p><b> LJMPB1</b></p><p> J0:JBKEY2,J1</p><p><b> LJMPB2</b></p><p> J1:JBKEY
68、3,J2</p><p><b> LJMPB3</b></p><p> J2:LJMPB4</p><p> ;************************************</p><p> ;下面為延時程序的編寫</p><p> ;***************
69、*********************</p><p><b> ;延時26us</b></p><p><b> DELYB1:</b></p><p> MOV R3,#01H</p><p><b> DL0:</b></p><p>
70、 MOV R2,#0AH</p><p><b> DJNZ R2,$</b></p><p> DJNZ R3,DL0</p><p><b> RET</b></p><p><b> ;延時10us</b></p><p><b&g
71、t; DELYB2:</b></p><p> MOV R5,#01H</p><p><b> DL1:</b></p><p> MOV R4,#02H</p><p><b> DJNZ R4,$</b></p><p> DJNZ R5,DL0
72、</p><p><b> RET</b></p><p><b> ;延時17us</b></p><p><b> DELYB3:</b></p><p> MOV R5,#07H</p><p><b> DJNZ R5,$&l
73、t;/b></p><p><b> RET</b></p><p><b> ;延時5ms</b></p><p><b> DELYB4:</b></p><p> MOV R6,#13H</p><p><b> DL3:
74、</b></p><p> MOV R5,#82H</p><p><b> DJNZ R5,$</b></p><p> DJNZ R6,DL0</p><p><b> RET</b></p><p><b> END</b>&
75、lt;/p><p> ;********************************</p><p> ;采用中斷方式實現(xiàn)波形的切換</p><p> ;*******************************</p><p> ORG 0000H</p><p><b> AJMP MAI
76、N</b></p><p> ORG 0003H;外部中斷0入口地址</p><p> AJMP JUCHIBO;方波,對應P3.2口</p><p> ORG 0013H;外部中斷1入口地址</p><p> AJMP SANJIAO;三角波對應P3.3口</p><p><b&
77、gt; ORG 0030H</b></p><p> MAIN: SETB EX0;開外部中斷0</p><p> SETB EX1;開外部中斷1</p><p> MOV IP,#04H;外部中斷1優(yōu)先,P3.3</p><p> CLR IT0;外部中斷0觸發(fā)方式(電平觸發(fā))</p>&
78、lt;p> CLR IT1;外部中斷1觸發(fā)方式(電平觸發(fā))</p><p> SETB EA;開總中斷</p><p> LCALL ZHENGXUAN</p><p><b> SJMP MAIN</b></p><p><b> SANJIAO:</b></p>
79、;<p> MOV DPTR,#2FFFH ; 設(shè)置D/A口地址</p><p> MOV A,#00H; </p><p><b> LOOP1:</b></p><p> MOVX @DPTR,A ; 輸出對應于A內(nèi)容的模擬量,2個機器周期</p><p> LCALL DELAY3;
80、2個機器周期,應該延時11us</p><p> INC A;1個機器周期</p><p> JNZ LOOP1;2個機器周期</p><p><b> LOOP2:</b></p><p> DEC A ;1個機器周期</p><p> MOVX @DPTR,A;2個機器周期<
81、;/p><p> LCALL DELAY3;2個機器周期,延時11us</p><p> JNZ LOOP2;2個機器周期</p><p> SJMP LOOP1</p><p><b> RETI</b></p><p><b> JUCHIBO:</b></p
82、><p> LOOP3:MOVDPTR,#2FFFH;設(shè)置D/A口地址</p><p> MOV A,#00H</p><p><b> LOOP4:</b></p><p> MOVX@DPTR,A</p><p> LCALLDELAY1;26us</p><
83、;p> CJNEA,#0FFH,ADD1</p><p> SJMPLOOP3</p><p> ADD1:INCA</p><p> SJMPLOOP4</p><p><b> RETI</b></p><p> ZHENGXUAN: MOV R3
84、,#00H ;取表格初值</p><p> LOOP5: </p><p> MOV A,R3;1個周期</p><p> MOV DPTR,#SETTAB;2個周期</p><p> MOVC A,@A+DPTR;查表指令,2個周期</p><p> MOV
85、X @DPTR,A; 輸出對應于A內(nèi)容的模擬量,2個周期</p><p> LCALL DELAY1;2個周期,延時26us</p><p> INC R3;1個周期</p><p> SJMP LOOP5;2個周期</p><p> ;相鄰兩點之間指令占據(jù)時間為13us,這個時間應該要計算進去</p><p>
86、; SETTAB: ;正弦表格</p><p> DB 80H,83H,86H,89H,8DH,90H,93H,96H</p><p> DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH</p><p> DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H
87、,0C5H</p><p> DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H</p><p> DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H</p><p> DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H</p><p
88、> DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH</p><p> DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH</p><p> DB 0FDH,0FCH,0FB
89、H,0FAH,0F9H, 0F8H,0F7H,0F6H</p><p> DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH</p><p> DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH</p><p> DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH
90、,0C7H</p><p> DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H</p><p> DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H</p><p> DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H</p><p>
91、; DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H</p><p> DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H</p><p> DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH</p><p> DB 38H, 35H, 33H, 30H, 2E
92、H, 2BH, 29H, 27H</p><p> DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H</p><p> DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH</p><p> DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H</p>
93、<p> DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H</p><p> DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H</p><p> DB 0AH, 0BH, 0DH,
94、 0EH, 10H, 11H, 13H, 15H</p><p> DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H</p><p> DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H</p><p> DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH<
95、/p><p> DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H</p><p> DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H</p><p><b> RET</b></p><p><b> ;延時26us</b>&l
96、t;/p><p><b> DELAY1: </b></p><p> MOV R6,#01H</p><p><b> DL0:</b></p><p> MOV R5,#0AH</p><p><b> DJNZ R5,$</b></p&
97、gt;<p> DJNZ R6,DL0</p><p><b> RET</b></p><p><b> ;延時11us</b></p><p><b> DELAY3: </b></p><p><b> SETB RS0</b&g
98、t;</p><p><b> SETB RS1 </b></p><p> MOV R7,#01H</p><p><b> DL3:</b></p><p> MOV R6,#01H</p><p><b> DL2:</b></p&
99、gt;<p> MOV R5,#01H</p><p><b> DJNZ R5,$</b></p><p> DJNZ R6,DL2</p><p> DJNZ R7,DL3</p><p><b> RET</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計---波形發(fā)生器
- 單片機課程設(shè)計—波形發(fā)生器
- 課程設(shè)計--單片機波形發(fā)生器
- 單片機課程設(shè)計-波形發(fā)生器
- 單片機課程設(shè)計報告--波形發(fā)生器
- 單片機課程設(shè)計--簡易波形發(fā)生器
- 單片機課程設(shè)計--多波形發(fā)生器
- 單片機課程設(shè)計---函數(shù)波形發(fā)生器
- 單片機波形發(fā)生器課程設(shè)計報告
- 單片機課程設(shè)計--波形發(fā)生器的設(shè)計
- 波形發(fā)生器的設(shè)計單片機課程設(shè)計
- 單片機課程設(shè)計報告---基于單片機的波形發(fā)生器
- 單片機波形發(fā)生器課程設(shè)計報告 (2)
- 基于單片機的波形發(fā)生器課程設(shè)計
- 單片機實現(xiàn)波形發(fā)生器的課程設(shè)計報告
- 單片機優(yōu)質(zhì)課程設(shè)計波形發(fā)生器報告
- 課程設(shè)計基于單片機之波形發(fā)生器的設(shè)計
- 課程設(shè)計基于單片機之波形發(fā)生器的設(shè)計
- 單片機波形發(fā)生器的設(shè)計
- 基于單片機雙通道的多波形發(fā)生器課程設(shè)計
評論
0/150
提交評論