版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于單片機的波形發(fā)生器</p><p><b> 摘要</b></p><p> 本系統(tǒng)是基于AT89C51單片機的數字式低頻信號發(fā)生器。采用AT89C51單片機作為控制核心,外圍采用數字/模擬轉換電路(DAC0832)、運放電路(LM324)、按鍵和8位數碼管等。通過按鍵控制可產生方波、三角波、正弦波等,同時用數碼管指示其對應的頻率。其設計
2、簡單、性能優(yōu)好,可用于多種需要低頻信號的場所,具有一定的實用性。</p><p> 各種各樣的信號是通信領域的重要組成部分,其中正弦波、三角波和方波等是較為常見的信號。在科學研究及教學實驗中常常需要這幾種信號的發(fā)生裝置。為了實驗、研究方便,研制一種靈活適用、功能齊全、使用方便的信號源是十分必要的。</p><p> 本文介紹的是利用AT89C51單片機和數模轉換器件DAC0832產生所
3、需不同信號的低頻信號源,其信號幅度和頻率都是可以按要求控制的。文中簡要介紹了DAC0832數模轉換器的結構原理和使用方法,AT89C51的基礎理論,以及與設計電路有關的各種芯片。文中著重介紹了如何利用單片機控制D/A轉換器產生上述信號的硬件電路和軟件編程。信號頻率幅度也按要求可調。</p><p> 本次關于產生不同低頻信號的信號源的設計方案,不僅在理論和實踐上都能滿足實驗的要求,而且具有很強的可行性。該信號源
4、的特點是:體積小、價格低廉、性能穩(wěn)定、實現方便、功能齊全。</p><p> 關鍵詞:AT89C51 DAC0832 LM324 8位數碼管顯示</p><p><b> Abstract</b></p><p> Waveform The system is a digital signal generator based on
5、 single chip computer.At89c51 is used as a control microcontroller core.The system is composed by digital/analog comversion(DAC0832), imply circuit,button and nixie tube.It can generate the square, triangle and sine wave
6、,with nixie tube.The system can be used for a signal soure in the low-frequency signal soure.It is very practical.</p><p> Various signals are an important part of correspondent area. In this area, sine wav
7、e, triangle wave and square wave are common signals. In science research and teaching experiment, we often need the occurrence equipment of these signals. In order to make the experiment and research easier, to develop a
8、 suitable, full functional and easily used signals source is essential.</p><p> This paper introduces the low frequency sources of different signals that are produced by AT89C51 SCM and DAC0832. Its signal
9、range and frequency can be controlled by requirement. This paper briefly introduces the structure principle and usage of DAC0832, the basic theory of AT89C51 and various chips which relevant to design circuit. this paper
10、 emphasized how to use SCM to control the hardware circuit and software program of the signals above which produced by DAC0832. The signal frequency range</p><p> This signal source design plan concerns on
11、producing different low frequency signals, not only meet the request of experiment in theory and in practice, but also have strong feasibility. The trait of this signal source is: small volume, low price, stable function
12、, easily achievable, and full function.</p><p> Keywords:AT89C51, DA0832, LM324, 8 nixie tube display</p><p><b> 目錄</b></p><p><b> 摘要I</b></p><
13、;p> AbstractII</p><p><b> 目錄III</b></p><p><b> 前言1</b></p><p> 1 波形發(fā)生器概述2</p><p> 1.1波形發(fā)生器的發(fā)展狀況2</p><p> 1.2國內外波形發(fā)生器產
14、品比較4</p><p> 2 方案論證與比較5</p><p><b> 2.1 方案一5</b></p><p><b> 2.2 方案二6</b></p><p><b> 2.3 方案三6</b></p><p><b&g
15、t; 3 硬件原理8</b></p><p> 3.1 MCS-51單片機的內部結構8</p><p> 3.1.1 內部結構概述8</p><p> 3.1.2 CPU結構9</p><p> 3.1.3 存儲器和特殊功能寄存器10</p><p> 3.2 P0-P3口結構11&
16、lt;/p><p> 3.3 時鐘電路和復位電路11</p><p> 3.3.1時鐘電路11</p><p> 3.3.2單片機的復位狀態(tài)12</p><p> 3.4 DAC0832的引腳及功能13</p><p><b> 4 軟件原理15</b></p>&l
17、t;p> 4.1 主流程圖15</p><p> 4.2 鋸齒波仿真圖16</p><p> 4.3 三角波仿真圖17</p><p> 4.4 方波仿真圖19</p><p> 4.5 正弦波仿真圖20</p><p><b> 總結22</b></p>
18、<p><b> 致謝23</b></p><p><b> 參考文獻24</b></p><p><b> 前言 </b></p><p> 波形發(fā)生器也稱函數發(fā)生器,作為實驗信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發(fā)生器多為純
19、硬件的搭接而成,且波形種類有限,多為鋸齒波,正弦波,方波,三角波等波形。</p><p> 信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路經之一,不用依靠單片機。但是這種電路存在波形質量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領域常常要用到低頻信
20、號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC很大;大電阻,大電容在制作上有困難,參數的精度亦難以保證;體積大,漏電,損耗顯著更是致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。</p><p><b> 1 波形發(fā)生器概述</b></p><p> 在電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機等
21、技術領域,經常需要用到各種各樣的信號波形發(fā)生器。隨著集成電路的迅速發(fā)展,用集成電路可很方便地構成各種信號波形發(fā)生器。用集成電路實現的信號波形發(fā)生器與其它信號波形發(fā)生器相比,其波形質量、幅度和頻率穩(wěn)定性等性能指標,都有了很大的提高。</p><p> 1.1波形發(fā)生器的發(fā)展狀況 </p><p> 波形發(fā)生器是能夠產生大量的標準信號和用戶定義信號,并保證高精度、高穩(wěn)定性、可重復性和易操作
22、性的電子儀器。函數波形發(fā)生器具有連續(xù)的相位變換、和頻率穩(wěn)定性等優(yōu)點,不僅可以模擬各種復雜信號,還可對頻率、幅值、相移、波形進行動態(tài)、及時的控制,并能夠與其它儀器進行通訊,組成自動測試系統(tǒng),因此被廣泛用于自動控制系統(tǒng)、震動激勵、通訊和儀器儀表領域。</p><p> 在 70 年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波,而函數發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準波形,產
23、生其它波形時,需要采用較復雜的電路和機電結合的方法。這個時期的波形發(fā)生器多采用模擬電子技術,而且模擬器件構成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產生較為復雜的信號波形,則電路結構非常復雜。同時,主要表現為兩個突出問題,一是通過電位器的調節(jié)來實現輸出頻率的調節(jié),因此很難將頻率調到某一固定值;二是脈沖的占空比不可調節(jié)。</p><p> 在 70 年代后,微處理器的出現,可以利用處理器、A/D/和 D/
24、A,硬件和軟件使波形發(fā)生器的功能擴大,產生更加復雜的波形。這時期的波形發(fā)生器多以軟件為主,實質是采用微處理器對 DAC的程序控制,就可以得到各種簡單的波形。 </p><p> 90 年代末,出現幾種真正高性能、高價格的函數發(fā)生器、但是HP公司推出了型號為 HP770S的信號模擬裝置系統(tǒng),它由 HP8770A任意波形數字化和 HP1776A波形發(fā)生軟件組成。HP8770A實際上也只能產生8 中波形,而且價格昂貴
25、。不久以后,Analogic公司推出了型號為 Data-2020的多波形合成器,Lecroy 公司生產的型號為9100 的任意波形發(fā)生器等。 </p><p> 到了二十一世紀,隨著集成電路技術的高速發(fā)展,出現了多種工作頻率可過 GHz 的DDS 芯片,同時也推動了函數波形發(fā)生器的發(fā)展,2003 年,Agilent的產品 33220A能夠產生 17 種波形,最高頻率可達到 20M,2005 年的產品N6030
26、A 能夠產生高達 500MHz 的頻率,采樣的頻率可達 1.25GHz。由上面的產品可以看出,函數波形發(fā)生器發(fā)展很快近幾年來,國際上波形發(fā)生器技術發(fā)展主要體現在以下幾個方面:</p><p> ?。?)過去由于頻率很低應用的范圍比較狹小,輸出波形頻率的提高,使得波形發(fā)生器能應用于越來越廣的領域。波形發(fā)生器軟件的開發(fā)正使波形數據的輸入變得更加方便和容易。波形發(fā)生器通常允許用一系列的點、直線和固定的函數段把波形數
27、據存入存儲器。同時可以利用一種強有力的數學方程輸入方式,復雜的波形可以由幾個比較簡單的公式復合成 v=f (t)形式的波形方程的數學表達式產生。從而促進了函數波形發(fā)生器向任意波形發(fā)生器的發(fā)展,各種計算機語言的飛速發(fā)展也對任意波形發(fā)生器軟件技術起到了推動作用。目前可以利用可視化編程語言(如Visual Basic ,Visual C 等等)編寫任意波形發(fā)生器的軟面板,這樣允許從計算機顯示屏上輸入任意波形,來實現波形的輸入。 </p&
28、gt;<p> ?。?)與VXI資源結合。目前,波形發(fā)生器由獨立的臺式儀器和適用于個人計算機的插卡以及新近開發(fā)的VXI模塊。由于VXI總線的逐漸成熟和對測量儀器的高要求,在很多領域需要使用VXI系統(tǒng)測量產生復雜的波形,VXI的系統(tǒng)資源提供了明顯的優(yōu)越性,但由于開發(fā)VXI模塊的周期長,而且需要專門的VXI機箱的配套使用,使得波形發(fā)生器VXI模塊僅限于航空、軍事及國防等大型領域。在民用方面,VXI模塊遠遠不如臺式儀器更為方便。
29、 </p><p> ?。?)隨著信息技術蓬勃發(fā)展,臺式儀器在走了一段下坡路之后,又重新繁榮起來。不過現在新的臺式儀器的形態(tài),和幾年前的己有很大的不同。這些新一代臺式儀器具有多種特性,可以執(zhí)行多種功能。而且外形尺寸與價格,都比過去的類似產品減少了一半。</p><p> 1.2國內外波形發(fā)生器產品比較 </p><p> 早在 1978 年,由美國 Wavete
30、k 公司和日本東亞電波工業(yè)公司公布了最高取樣頻率為 5MHz ,可以形成 256 點(存儲長度)波形數據,垂直分辨率為8bit,主要用于振動、醫(yī)療、材料等領域的第一代高性能信號源,經過將近30年的發(fā)展,伴隨著電子元器件、電路、及生產設備的高速化、高集成化,波形發(fā)生器的性能有了飛速的提高。變得操作越來越簡單而輸出波形的能力越來越強。波形操作方法的好壞,是由波形發(fā)生器控制軟件質量保證的,編輯功能增加的越多,波形形成的操作性越好。 </
31、p><p><b> 2 方案論證與比較</b></p><p> 依據應用場合.需要實現的波形種類,波形發(fā)生器的具體指標要求會有所不同。依據不同的設計要求選取不同的設計方案。通常,波形發(fā)生器需要實現的波形有正弦波、方波、三角波和鋸齒波。有些場合可能還需要任意波形的產生。各種波形共有的指標有:波形的頻率、幅度要求,頻率穩(wěn)定度,準確度等。對于不同波形,具體的指標要求也會
32、有所差異,例如,占空比是脈沖波形特有的指標。波形發(fā)生器的設計方案多種多樣,大致可以分為三大類:純硬件設計法、純軟件設計法和軟硬件結合設計法。</p><p><b> 2.1 方案一</b></p><p> 波形發(fā)生器設計的純硬件法早期,波形發(fā)生器的設計主要是采用運算放大器加分立元件來實現。實現的波形比較單一,主要為正弦波、方波和三角波。工作原理嗍也相對簡單:首
33、先是產生正弦波,然后通過波形變換(正弦波通過比較器產生方波,方波經過積分器變?yōu)槿遣?實現方波和三角波。在各種波形后加上一級放大電路,可以使輸出波形的幅度達到要求,通過開關電路實現不同輸出波形的切換,改變電路的具體參數可以實現頻率、幅度和占空比的改變。通過對電路結構的優(yōu)化及所用元器件的嚴格選取可以提高電路的頻率穩(wěn)定性和準確度。純硬件法中,正弦波的設計是基礎,實現方法也比較多,電路形式一般有LC、RC和石英晶體振蕩器三類。LC振蕩器適宜于
34、產生幾Hz至幾百MHz的高頻信號;石英晶體振蕩器能產生幾百kHz至幾十MHz的高頻信號且穩(wěn)定度高;對于頻率低于幾MHz,特別是在幾百Hz時,常采用RC振蕩電路。RC振蕩電路又分為文氏橋振蕩電路、雙T網絡式和移相式振蕩電路等類型。其中,以文氏橋振蕩電路最為常用。目前,實現波形發(fā)生器最簡單的方法是采用單片集成的函數信號發(fā)生器。它是將產生各種波形的功能電路集成優(yōu)化到一個集成電路芯片里,外加少量的電阻、電容元</p><p&
35、gt;<b> 2.2 方案二</b></p><p> 波形發(fā)生器設計的純軟件法 波形發(fā)生器的設計還可以采用純軟件的方法來實現。虛擬儀器鞠使傳統(tǒng)儀器發(fā)生了革命性的變化,是21世紀測試儀器領域技術發(fā)展的重要方向。它以計算機為基礎,軟件為核心,沒有傳統(tǒng)儀器那樣具體的物理結構.在計算機上實現儀器的虛擬面板,通過軟件設計實現和改變儀器的功能。例如用圖形化編程工具LabVIEW來實現任意波形發(fā)生
36、器的功能:在LabVIEW軟件的前面板通過拖放控件,設計儀器的功能面板(如波形顯示窗口,波形選擇按鍵,波形存儲回放等工作界面),在軟件的后面板直接拖放相應的波形函數并進行參數設置或直接調用編程函數來設計任意波形以實現波形產生功能;完成的軟件打包后,可脫離編程環(huán)境獨立運行。實現任意波形發(fā)生器的功能。采用純軟件的虛擬儀器設計思路可以使設計簡單、高效,僅改變軟件程序就可以輕松實現波形功能的改變或升級。從長遠角度來看,純軟件法成本較低。軟件法的
37、缺點是波形的響應速度和精度遜色于硬件法。</p><p><b> 2.3 方案三</b></p><p> 1.軟硬件結合法軟硬件結合的波形發(fā)生器設計方法同時兼具軟硬件設計的優(yōu)勢:既具有純硬件設計的快速、高性能,同時又具有軟件控制的靈活性、智能性。如以單片機和單片集成函數發(fā)生器為核心(如圖2.2)。輔以鍵盤控制、液晶顯示等電路,設計出智能型函數波形發(fā)生器,采用軟
38、硬件結合的方法可以實現功能較全、性能更優(yōu)的波形發(fā)生器,同時還可以擴展波形發(fā)生器的功能,比如通過軟件編程控制實現波形的存儲、運算、打印等功能,采用USB接口設計。使波形發(fā)生器具有遠程通信功能等。目前,實驗、科研和工業(yè)生產中使用的信號源大多采用此方法來實現。</p><p> 圖 2.2 軟硬件結合的波形發(fā)生器</p><p> 2.純硬件設計法功能較單一,波形改變困難、控制的靈活性不夠,
39、不具備智能性,其中由運算放大器加分立元件組成的波形發(fā)生器,除在學生實驗訓練中使用外?;静槐徊捎谩<冘浖O計法實現簡單,程序改變及功能升級靈活,但實現的波形精度及響應速度不如硬件法高。純軟件法主要適用于對波形精度、響應速度要求不是很高的場合。相比之下,軟硬件結合的方法可以設計出性能最優(yōu)、功能擴展靈活、控制智能化的新一代的波形發(fā)生器,可以滿足教學、科研、工業(yè)生產等各方面對波形發(fā)生器性能有較高要求的應用場合。綜合以上幾種設計方案,本設計采用
40、方案三的方法—軟硬件設計法。其方案能夠產生很好的波形,也易實現。</p><p><b> 3 硬件原理</b></p><p> 波形的產生是通過AT89S52單片機執(zhí)行某一波形發(fā)生程序,向D/A轉換器的輸入端按一定的規(guī)律發(fā)生數據,從而在D/A轉換電路的輸出端得到相應的電壓波形。</p><p> AT89S52單片機的最小系統(tǒng)有三種聯
41、接方式。一種是兩級緩沖器型,即輸入數據經過兩級緩沖器型,即輸入數據經過兩級緩沖器后,送D/A轉換電路。第二種是單級緩沖器型,輸入數據經輸入寄存器直接送入DAC寄存器,然后送D/A轉換電路。第三種是兩個緩沖器直通,輸入數據直接送D/A轉換電路進行轉換。本電路仿真的總圖如下:</p><p> 圖3.1 系統(tǒng)電路圖</p><p> 3.1 MCS-51單片機的內部結構</p>
42、<p> 3.1.1 內部結構概述</p><p> 典型的MCS-51單片機芯片集成了以下幾個基本組成部分。 </p><p> 1 一個8位的CPU</p><p> 2 128B或256B單元內數據存儲器(RAM)</p><p> 3 4KB或8KB片內程序存儲器(ROM或EPROM)</
43、p><p> 4 4個8位并行I/O接口P0~P3。</p><p> 5 兩個定時/計數器。</p><p> 6 5個中斷源的中斷管理控制系統(tǒng)。</p><p> 7 一個全雙工串行I/O口UART(通用異步接收、發(fā)送器) </p><p> 8 一個片內振蕩器和時鐘產生電路。</p>
44、<p> 圖3.2 單片機引腳</p><p> 3.1.2 CPU結構</p><p> CPU 是單片機的核心部件。它由運算器和控制器等部件組成。</p><p><b> 1. 運算器 </b></p><p> 運算器以完成二進制的算術/邏輯運算部件ALU為核心。它可以對半字節(jié)
45、(4)、單字節(jié)等數據進行操作。例如,能完成加、減、乘、除、加1、減1、BCD碼十進制調整、比較等算術運算,完成與、或、異或、求反、循環(huán)等邏操作,操作結果的狀態(tài)信息送至狀態(tài)寄存器。</p><p> 運算器還包含有一個布爾處理器,用以處理位操作。它以進位標志位C為累加器,可執(zhí)行置位、復位、取反、位判斷轉移,可在進位標志位與其他可位尋址的位之間進行位數據傳誦等操作,還可以完成進位標志位與其他可位尋址的位之間進行邏輯
46、與、或操作。</p><p><b> 2.程序計數器PC</b></p><p> PC是一個16位的計數器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動加1功能,即完成了一條指令的執(zhí)行后,其內容自動加1。</p><p><b> 3.指令寄存器 </b></p><p>
47、 指令寄存器用于存放指令代碼。CPU執(zhí)行指令時,由程序存儲器中讀取的指令代碼送如指令寄存器,經指令譯碼器譯碼后由定時有控制電路發(fā)出相應的控制信號,完成指令功能。</p><p> 3.1.3 存儲器和特殊功能寄存器</p><p> 1.存儲器(Memory)是計算機系統(tǒng)中的記憶設備,用來存放程序和數據。計算機中的全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都
48、保存在存儲器中。它根據控制器指定的位置存入和取出信息。</p><p><b> 2.特殊功能寄存器</b></p><p> 特殊功能寄存器(SFR)的地址范圍為80H~FFH。在MCS-51中,除程序計數器PC和四個工作寄存器區(qū)外,其余21個特殊功能寄存器都在這SFR塊中。其中5個是雙字節(jié)寄存器,它們共占用了26個字節(jié)。各特殊功能寄存器的符號和地址見附表2。其
49、中帶*號的可位尋址。特殊功能寄存器反映了8051的狀態(tài),實際上是8051的狀態(tài)字及控制字寄存器。用于CPU PSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關,另一類作片內功能的控制用。與芯片引腳有關的特殊功能寄存器是P0~P3,它們實際上是4個八位鎖存器(每個I/O口一個),每個鎖存器附加有相應的輸出驅動器和輸入緩沖器就構成了一個并行口。MCS-51共有P0~P3四個這樣的并行口,可提供32根I/O線,每根線都
50、是雙向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、標志寄存器PSW、數據指針DPTR等的功能前已提及。</p><p> 3.2 P0-P3口結構</p><p> P0口功能:P0口具有兩種功能:第一,P0口可以作為通用I/O接口使用,P0.7—P0.0用于傳送CPU的輸入/輸出數據。輸出數據時可以得到鎖存,不需外接專用鎖存器,輸入數據可以得到緩沖。第二,P0.7—
51、P0.0在CPU訪問片外存儲器時用于傳送片外存儲器de低8位地址,然后傳送CPU對片外存儲器的讀寫</p><p> P1口 功能:P1口的功能和P0口de第一功能相同,僅用于傳遞I/O輸入/輸出數據。 </p><p> P2口的功能:2口的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O使用。它的第二功能和P0口引腳的第二功能相配合,作為地址總線用于輸出片外存儲器的高8
52、位地址。 </p><p> P3口功能:P3口有兩個功能:第一功能與其余三個端口的第一功能相同;第二功能作控制用,每個引腳都不同。 </p><p> P3.0—RXD串行數據接收口 </p><p> P3.1—TXD串行數據發(fā)送口 </p><p> P3.2—INT0外中斷0輸入 </p><p>
53、P3.3—INT1外中斷1輸入 </p><p> P3.4—T0計數器0計數輸入 </p><p> P3.5—T1計數器1計數輸入 </p><p> P3.6—WR外部RAM寫選通信號 </p><p> P3.7—RD外部RAM讀選通信號 </p><p> 3.3 時鐘電路和復位電路</p&g
54、t;<p> 單片機的時鐘信號用來提供單片機內各種微操作的時間基準;復位操作則使單片機的片內電路初始化,使單片機從一種確定的狀態(tài)開始運行。</p><p><b> 3.3.1時鐘電路</b></p><p> 單片機的時鐘信號通常用兩種電路形式得到:內部振蕩和外部振蕩方式。</p><p> 圖3.3 時鐘部分電路圖&l
55、t;/p><p> 在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷諧振蕩器,構成了內部振蕩方式。由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自積振蕩,并產生振蕩時鐘脈沖。晶振通常選用6MHZ、12MHZ、或24MHZ。</p><p><b> 單片機的時序單位</b></p><p> 振蕩周期:晶振的振蕩周期,又稱時鐘周
56、期,為最小的時序單位。</p><p> 狀態(tài)周期:振蕩頻率經單片機內的二分頻器分頻后提供給片內CPU的時鐘周期。因此一個狀態(tài)周期包含2個振蕩周期。</p><p> 機器周期:1個機器周期由6個狀態(tài)周期12個振蕩周期組成,是計算機執(zhí)行一種基本操作的時間單位。</p><p> 指令周期:執(zhí)行一條指令所需的時間。一個指令周期由1-4個機器周期組成,依據指令不同
57、而不同.</p><p> 3.3.2單片機的復位狀態(tài)</p><p> 當MCS-5l系列單片機的復位引腳RST(全稱RESET)出現2個機器周期以上的高電平時,根據應用的要求,復位操作通常有兩種基本形式:上電復位和上電或開關復位。上電復位要求接通電源后,自動實現復位操作。上電或開關復位要求電源接通后,單片機自動復位,并且在單片機運行期間,用開關操作也能使單片機復位。上電后,由于電容
58、C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當單片機已在運行當中時,按下復位鍵K后松開,也能使RST為一段時間的高電平,從而實現上電或開關復位的操作。</p><p><b> 圖3.4 復位電路</b></p><p> 單片機的復位操作使單片機進入初始化狀態(tài),其中包括使程序計數器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機冷啟動
59、后,片內RAM為隨機值,運行中的復位操作不改變片內RAM區(qū)中的內容,21個特殊功能寄存器復位后的狀態(tài)為確定值統(tǒng)復位是任何微機系統(tǒng)執(zhí)行的第一步,使整個控制芯片回到默認的硬件狀態(tài)下。51單片機的復位是由RESET引腳來控制的,此引腳與高電平相接超過24個振蕩周期后,51單片機即進入芯片內部復位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內部的程序代碼,若為低電平便會執(zhí)行外
60、部程序。51單片機在系統(tǒng)復位時,將其內部的一些重要寄存器設置為特定的值,至于內部RAM內部的數據則不變。</p><p> 3.4 DAC0832的引腳及功能</p><p> 1 DAC0832芯片:</p><p> DAC0832是8分辨率的D/A轉換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉換控制容易等優(yōu)點,在單片機應用系統(tǒng)中
61、得到廣泛的應用。D/A轉換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉換電路及轉換控制電路構成。</p><p> 2 DAC0832的主要特性參數如下:</p><p><b> 分辨率為8位;</b></p><p> 電流穩(wěn)定時間1us;</p><p> 可單緩沖、雙緩沖或直接數字輸入;</p
62、><p> 只需在滿量程下調整其線性度;</p><p> 單一電源供電(+5V~+15V);</p><p> 低功耗,200mW。</p><p> 3 DAC0832結構: </p><p> D0~D7:8位數據輸入線,TTL電平,有效時間應大于90ns(否則鎖存器的數據會出錯);</p>
63、<p> ILE:數據鎖存允許控制信號輸入線,高電平有效;</p><p> CS:片選信號輸入線(選通數據鎖存器),低電平有效;</p><p> WR1:數據鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、CS、WR1的邏輯組合產生LE1,當LE1為高電平時,數據鎖存器狀態(tài)隨輸入數據線變換,LE1的負跳變時將輸入數據鎖存;</p>&l
64、t;p> XFER:數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效;</p><p> WR2:DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由WR1、XFER的邏輯組合產生LE2,當LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數據鎖存器的內容打入DAC寄存器并開始D/A轉換。</p><p> IOUT1:
65、電流輸出端1,其值隨DAC寄存器的內容線性變化;</p><p> IOUT2:電流輸出端2,其值與IOUT1值之和為一常數;</p><p> Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調整轉換滿量程精度;</p><p> Vcc:電源輸入端,Vcc的范圍為+5V~+15V;</p><p> VREF:基準電壓輸入線,VR
66、EF的范圍為-10V~+10V;</p><p> AGND:模擬信號地</p><p> DGND:數字信號地</p><p> 4 DAC0832的工作方式:</p><p> 根據對DAC0832的數據鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式</p>&l
67、t;p><b> 4 軟件原理</b></p><p> 系統(tǒng)軟件由主程序和產生波形的子程序組成,軟件設計主要是產生各種波形的子程序的編程,通過編程可得到各種波形。周期的改變可采用插入延時子程序的方法來實現。主程序和幾種常用波形子程序的流程圖如圖所示。</p><p><b> 4.1 主流程圖</b></p><
68、p> 圖4.1 主程序流程圖</p><p><b> 信號的產生:</b></p><p> 利用8位D/A轉換器DAC0808,可以將8位數字量轉換成模擬量輸出。數字量輸入的范圍為0~255,對應的模擬量輸出的范圍在VREF-到VREF+之間。根據這一特性,可以利用單片機的并行口輸出的數字量,產生常用的波形。例如,要產生幅度為0~5V的鋸齒波,只要將
69、DAC0808的VREF-接地,VREF+接+5V,單片機的并行口首先輸出00H,再輸出01H、02H,直到輸出FFH,再輸出00H,依此循環(huán),這樣在圖4.2所示的Vout端就可以看到在0到5V之間變化的鋸齒波。</p><p> 4.2 鋸齒波仿真圖</p><p> 圖4.2 鋸齒波仿真</p><p> 鋸齒波產生是通過P0口將00H送入寄存器A中,DA
70、C0832輸出A中的內容,讀取P2口的狀態(tài),取反后作為延時常數,當A中的內容不為0FFH時,A中的內容加1,當A中的內容等于FFH返回開始,從而輸出波形。</p><p><b> 鋸齒波程序</b></p><p> void juchi() </p><p><b> {</b></p>&l
71、t;p><b> uint i;</b></p><p><b> i=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> P0=i;</b>
72、;</p><p><b> delay(t);</b></p><p><b> i=i+1;</b></p><p><b> P0=i;</b></p><p><b> delay(t);</b></p><p>
73、 xianshiqi(t);</p><p> if(i==256)</p><p><b> {</b></p><p><b> i=0;</b></p><p><b> }</b></p><p><b> if(s5==0)
74、</b></p><p><b> {</b></p><p><b> t=t+1;</b></p><p><b> }</b></p><p><b> if(s6==0)</b></p><p><
75、b> {</b></p><p><b> t=t-1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.
76、3 三角波仿真圖</p><p> 圖4.3 三角波仿真</p><p> 三角波產生是通過P0口將00H送入寄存器A中,DAC0832輸出A中的內容,通過A中數值的加1遞升,同時延時,當A中的內容為0FF時,A中的內容減1遞減,從而循環(huán)產生三角波。</p><p><b> 三角波程序如下:</b></p><p&g
77、t; void sanjiaobo() </p><p><b> {</b></p><p><b> uint j=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p>
78、<p><b> P0=j;</b></p><p><b> delay(t);</b></p><p><b> j=j+1;</b></p><p><b> P0=j;</b></p><p><b> delay
79、(t);</b></p><p> xianshiqi(t);</p><p> if(j==256)</p><p><b> {</b></p><p><b> if(j!=0)</b></p><p><b> {</b>&
80、lt;/p><p><b> j=j-1;</b></p><p><b> P0=j;</b></p><p><b> delay(t);</b></p><p> xianshiqi(t);</p><p><b> if(s5==
81、0)</b></p><p><b> {</b></p><p><b> t=t+1;</b></p><p><b> }</b></p><p><b> if(s6==0)</b></p><p>&l
82、t;b> {</b></p><p><b> t=t-1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>&l
83、t;b> if(s5==0)</b></p><p><b> {</b></p><p><b> t=t+1;</b></p><p><b> }</b></p><p><b> if(s6==0)</b></p&
84、gt;<p><b> {</b></p><p><b> t=t-1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p&
85、gt;<p><b> 4.4 方波仿真圖</b></p><p> 圖4.4 方波的仿真</p><p> 方波產生是通過P0口將00H輸出給DAC0808,輸出對應模擬量,然后讀取P2口的狀態(tài),取反后作為延時常量,延時時間到,將FFH輸出時,同樣輸出對應模擬量,再延時,從而得到方波。</p><p><b>
86、 方波程序如下:</b></p><p> void fangbo() </p><p><b> {</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><
87、b> P0=256;</b></p><p><b> delay(t);</b></p><p><b> P0=0;</b></p><p><b> delay(t);</b></p><p> xianshiqi(t);</p>
88、<p><b> if(s5==0)</b></p><p><b> {</b></p><p><b> t=t+1;</b></p><p><b> }</b></p><p><b> if(s6==0)</
89、b></p><p><b> {</b></p><p><b> t=t-1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</
90、b></p><p> 4.5 正弦波仿真圖</p><p> 圖4.5 正弦的波仿真</p><p> 正弦波波形設計通過查表指令得出。</p><p><b> 正弦程序如下:</b></p><p> void zhengxianbo() </p><p
91、><b> {</b></p><p><b> uint k=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> P0=table[k++];</p>&
92、lt;p><b> delay(t);</b></p><p> xianshiqi(t);</p><p> if(k==182)</p><p><b> {</b></p><p><b> k=0;</b></p><p><
93、;b> }</b></p><p><b> if(s5==0)</b></p><p><b> {</b></p><p><b> t=t+1;</b></p><p><b> }</b></p><
94、p><b> if(s6==0)</b></p><p><b> {</b></p><p><b> t=t-1;</b></p><p><b> } </b></p><p><b> }</b></p&
95、gt;<p><b> }</b></p><p><b> 總結</b></p><p> 經過將近三周的單片機課程設計,終于完成了我的數字溫度計的設計,基本達到設計要求,從心底里來說,還是很高興的,畢竟這次設計把實物都做了出來。但高興之余不得不深思呀!</p><p> 在本次設計的過程中,我發(fā)現
96、很多的問題,雖然以前還做過這樣的設計但這次設計真的讓我長進了很多。對于單片機設計,其硬件電路是比較簡單的,主要是解決程序設計的問題,而程序設計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,它才是一個設計的靈魂所在。因此在整個設計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關鍵的問題所在,這需要對單片機的結構很熟悉。因此可以說單片機的設計是軟件和硬件的結合,二者是密不可分的。<
97、;/p><p> 要設計一個成功的電路,必須要有耐心,要有堅持的毅力。在整個電路的設計過程中,花費時間最多的是各個單元電路的連接及電路的細節(jié)設計上,如在多種方案的選擇中,我們仔細比較分析其原理以及可行的原因。這就要求我們對硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應用。完成這次設計后,我在書本理論知識的基礎上又有了更深層次的理解。</p><p> 同時在本次設計的過程中,我
98、還學會了高效率的查閱資料、運用工具書、利用網絡查找資料。我發(fā)現,在我們所使用的書籍上有一些知識在實際應用中其實并不是十分理想,各種參數都需要自己去調整。偶而還會遇到錯誤的資料現象,這就要求我們應更加注重實踐環(huán)節(jié)。</p><p> 最后還要在此感謝各位畢業(yè)設計的指導老師們和我的組員們,他們在整個過程中都給予了我充分的幫助與支持。</p><p><b> 致謝</b&g
99、t;</p><p> 在我寫本論文的過程中,xxx老師給我提供了許多資料,并對實踐中出現的問題給予耐心的解答,完稿之后在百忙之中仔細閱讀,給出修改意見。xxx愛崗敬業(yè),治學嚴謹,思維嚴密,平易近人是我十分尊敬的老師,在此對他表示感謝。</p><p> 在本文錄入的過程中,得到了其他同學的幫助,在這里對他們也表示的感謝!</p><p><b>
100、參考文獻</b></p><p> 李華.MCS-51系列單片機實用接口技術[M].</p><p> 何立民.單片機應用技術選編[M].</p><p> 閻石.模擬電子技術基礎[M].</p><p> 張毅剛, 彭喜圓, 譚曉昀, 曲春波.MCS-51單片機應用設計[M].哈爾濱工業(yè)大學出版社.</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計---波形發(fā)生器
- 基于單片機的波形發(fā)生器課程設計
- 單片機課程設計—波形發(fā)生器
- 課程設計--單片機波形發(fā)生器
- 單片機課程設計-波形發(fā)生器
- 單片機課程設計報告---基于單片機的波形發(fā)生器
- 單片機課程設計報告--波形發(fā)生器
- 單片機課程設計--簡易波形發(fā)生器
- 單片機課程設計--多波形發(fā)生器
- 單片機課程設計---函數波形發(fā)生器
- 單片機課程設計--波形發(fā)生器的設計
- 單片機波形發(fā)生器課程設計報告
- 波形發(fā)生器的設計單片機課程設計
- 課程設計基于單片機之波形發(fā)生器的設計
- 課程設計基于單片機之波形發(fā)生器的設計
- 單片機波形發(fā)生器課程設計報告 (2)
- 單片機實現波形發(fā)生器的課程設計報告
- 基于單片機雙通道的多波形發(fā)生器課程設計
- 單片機優(yōu)質課程設計波形發(fā)生器報告
- 單片機波形發(fā)生器的設計
評論
0/150
提交評論