1923_基于單片機的多功能信號發(fā)生器
1923_基于單片機的多功能信號發(fā)生器,基于,單片機,多功能,信號發(fā)生器
黃河科技學院本 科 畢 業(yè) 設 計 (論文) 任 務 書工 學院 機械 系 機械設計制造及其自動化 專業(yè) 2008 級 1 班學號 080105020 學生 劉冰 指 導 教 師 牛 月 蘭 畢業(yè)設計(論文)題目基于單片機的多功能信號發(fā)生器 畢業(yè)設計(論文)工作內容與基本要求(目標、任務、途徑、方法,應掌握的原始資料(數據) 、參考資料(文獻)以及設計技術要求、注意事項等) (紙張不夠可加頁)基于單片機的多功能信號發(fā)生器可以發(fā)生正弦波、方波、鋸齒波等多種波形,波形的切換可以通過按鍵直接實現。軟件部分由主程序、波形發(fā)生子程序及鍵盤、LED顯示等接口程序組成。彌補過去由分立元件和集成運算放大器構成振蕩器的頻率低、失真大等缺點,硬件結構更加簡單,真正達到頻率高、失真小、波形調節(jié)方便、人機交互方式好等要求。主要內容:1、電路原理圖設計。2、程序設計。3、通過 PROTEUS 軟件進行仿真調試。4、圖紙:畫出系統(tǒng)方框圖、電路原理圖、程序流程圖、系統(tǒng)仿真圖各一張。5、撰寫畢業(yè)設計說明書、寫出文獻綜述、翻譯外文資料。時間及任務安排:1、1----2 周:考察調研,實習參觀,收集資料,完成開題報告;2、3----4 周:完成文獻翻譯,文獻綜述,初步擬定總體設計方案;3、5---9 周:完成設計說明書初稿,基本完成課題設計、計算繪圖等工作;4、10-11 周: 完成設計說明書、設計圖紙,整理完成所有設計文件;5、第 12 周:做好答辯前的所有準備工作。畢業(yè)設計(論文)時間: 2012 年 2 月 13 日至 2012 年 5 月 15 日計 劃 答 辯 時 間: 2012 年 5 月 19 日工作任務與工作量要求:原則上查閱文獻資料不少于 12 篇,其中外文資料不少于 2 篇;文獻綜述不少于 3000 字;文獻翻譯不少于 3000 字;畢業(yè)論文 1 篇不少于 10000 字,理工科類論文或設計說明書不少于 8000 字(同時提交有關圖紙和附件) 。 專業(yè)(教研室)審批意見:審批人(簽字):日 期: 黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 I 頁基于單片機的多功能信號發(fā)生器摘 要信號發(fā)生器是一種常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領域。目前使用的信號發(fā)生器大部分是函數信號發(fā)生器,且特殊波形發(fā)生器的價格昂貴。所以本設計使用的是 AT89C51 單片機構成的發(fā)生器,可產生三角波、方波、正弦波等多種特殊波形和任意波形,波形的頻率可用程序控制改變。在單片機上加外圍器件距陣式鍵盤,通過鍵盤控制波形頻率的增減以及波形的選擇,并用了 LCD 顯示頻率大小。在單片機的輸出端口接 DAC0832 進行 D/A 轉換,再通過運放進行波形調整,最后輸出波形接在示波器上顯示。本設計具有線路簡單、結構緊湊、價格低廉、性能優(yōu)越等優(yōu)點。關鍵詞:信號發(fā)生器,單片機,波形調整 黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 II 頁Design Of Signal-generator Combing With One-chip ComputerAbstractAuthor:Liu BingTutor:Niu YuelanSignal-generator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control system 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 AT89C51 single-chip microcomputer constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can be controlled by procedure, at outer circle spare part of the machine, plus independence type keyboard , which can control wave increase or decrease of form-frequency and the choice of wave-form, at the same time LED display frequency size. The output of the machine connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior function etc.Key words:Signal generator, MCU, Wave-form adjustment 黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 III 頁目錄1 緒 論 ...................................................................11.1 課題背景 ..........................................................11.2 課題意義 ..........................................................11.3 國內外的研究狀況 ..................................................21.3.1 波形發(fā)生器的發(fā)展狀況 .........................................21.3.2 本課題在國內外的研究現狀 ....................................32 信號發(fā)生器的方案研究 ....................................................42.1 總體方案論證與設計 ................................................42.2 系統(tǒng)整體設計方案 ...................................................43 硬件電路的設計 ..........................................................53.1 主控芯片的選擇 .....................................................53.1.1 AT89C51 主要特性 ..............................................53.1.2 AT89C51 時鐘及復位電路設計 ....................................53.2 D/A 轉換電路設計 ...................................................73.2.1 DAC0832 芯片 ..................................................73.2.2 DAC0832 波形產生原理 ..........................................93.2.3 D/A 轉換電路 ..................................................93.3 數碼管顯示電路設計 ................................................103.3.1 顯示原理 .....................................................103.3.2 顯示電路 .....................................................123.4 通信接口電路設計 ..................................................123.5 電源電路設計 ......................................................133.6 整體硬件電路設計 ..................................................144 軟件設計 ...............................................................154.1 系統(tǒng)主程序設計 ....................................................154.2 方波子程序設計 ....................................................164.2.1 方波程序總流程 ...............................................16 黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 IV 頁4.2.2 方波產生程序設計 .............................................164.2.3 方波顯示程序設計 .............................................174.3 鋸齒波子程序設計 ..................................................174.3.1 鋸齒波產生原理 ...............................................174.3.2 鋸齒波程序設計 ...............................................184.4 三角波子程序設計 ..................................................194.5 正弦波子程序設計 ..................................................204.5.1 正弦波產生原理 ...............................................204.5.2 正弦波程序設計 ...............................................215 系統(tǒng)硬件的調試及系統(tǒng)分析 ................................................225.1 仿真工具 ..........................................................225.2 仿真原理圖 ........................................................225.3 顯示模塊調試 ......................................................235.4 D/A 模塊調試 ......................................................24結 論 ...................................................................28致 謝 ...................................................................29參考文獻 .................................................................30附錄 .....................................................................31附錄 A ................................................................31附錄 B ................................................................32黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 1 頁1 緒 論1.1 課題背景隨著電子測量及其他部門對各類信號發(fā)生器的廣泛需求及電子技術的迅速發(fā)展,促使信號發(fā)生器種類增多,性能提高。尤其隨著 70 年代微處理器的出現,更促使信號發(fā)生器向著自動化、智能化方向發(fā)展?,F在,許多信號發(fā)生器帶有微處理器,因而具備了自校、自檢、自動故障診斷和自動波形形成和修正等功能,可以和控制計算機及其他測量儀器一起方便的構成自動測試系統(tǒng)。當前信號發(fā)生器總的趨勢是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。在科學研究、工程教育及生產實踐中,如工業(yè)過程控制、教學實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學等領域,常常需要用到低頻信號發(fā)生器。而在我們日常生活中,以及一些科學研究中,鋸齒波和正弦波、矩形波信號是常用的基本測試信號。譬如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以利用熒光屏顯示圖像,常用到鋸齒波信號發(fā)生器作為時基電路。信號發(fā)生器作為一種通用的電子儀器,在生產、科研、測控、通訊等領域都得到了廣泛的應用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實際應用的需求。加之各類功能的半導體集成芯片的快速生產,都使我們研制一種低功耗、寬頻帶,能產生多種波形并具有程控等低頻的信號發(fā)生器成為可能。1.2 課題意義 便攜式和智能化越來越成為儀器的基本要求,對傳統(tǒng)儀器的數字化,智能化,集成化也就明顯得尤為重要。平時常用信號源產生的正弦波,方波,三角波等常見波形作為待測系統(tǒng)的輸入,測試系統(tǒng)的性能。但在某些場合,我們需要特殊波形對系統(tǒng)進行測試,這是傳統(tǒng)的模擬信號發(fā)生器和數字信號發(fā)生器很難勝任的。利用單片機的強大功能,設計合適的人機交互界面,使用戶能夠通過手動的設定,設置所需波形。該設計課題的研究和制作全面說明對多功能信號發(fā)生系統(tǒng)要有一個全面的了解、對多功能信號的發(fā)生原理要理解掌握,以及多功能信號發(fā)生器工作流程:波形的設黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 2 頁定,D/A 轉換,單片機(51 單片機,顯示電路,鍵盤控制) ,顯示和各模塊的連接通信等各個部分要熟練聯接調試,能夠正確的了解常規(guī)芯片的使用方法、掌握簡單信號發(fā)生器應用系統(tǒng)軟硬件的設計方法,進一步鍛煉了我們在信號處理方面的實際工作能力。1.3 國內外的研究狀況1.3.1 波形發(fā)生器的發(fā)展狀況 波形發(fā)生器亦稱函數發(fā)生器,作為實驗用信號源,是現今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由硬件電路搭接而成,如采用 555 振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質量差,控制難,可調范圍小,電路復雜和體積大等缺點。在科學研究和生產實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的 RC 很大;大電阻,大電容在制作上有困難,參數的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。波形發(fā)生器是能夠產生大量的標準信號和用戶定義信號,并保證高精度、高穩(wěn)定性、可重復性和易操作性的電子儀器。函數波形發(fā)生器具有連續(xù)的相位變換、和頻率穩(wěn)定性等優(yōu)點,不僅可以模擬各種復雜信號,還可對頻率、幅值、相移、波形進行動態(tài)、及時的控制,并能夠與其它儀器進行通訊,組成自動測試系統(tǒng),因此被廣泛用于自動控制系統(tǒng)、震動激勵、通訊和儀器儀表領域。在 70 年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波,而函數發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準波形,產生其它波形時,需要采用較復雜的電路和機電結合的方法。這個時期的波形發(fā)生器多采用模擬電子技術,而且模擬器件構成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產生較為復雜的信號波形,則電路結構非常復雜。同時,主要表現為兩個突出問題,一是通過電位器的調節(jié)來實現輸出頻率的調節(jié),因此很難將頻率調到某一個定黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 3 頁值;二是脈沖的占空比不可調節(jié)。在 70 年代后,微處理器的出現,可以利用處理器、A/D/和 D/A,硬件和軟件使波形發(fā)生器的功能擴大,產生更加復雜的波形。這時期的波形發(fā)生器多以軟件為主,實質是采用微處理器對 DAC 的程序控制,就可以得到各種簡單的波形。 90 年代末,出現幾種真正高性能、高價格的函數發(fā)生器、但是 HP 公司推出了型號為 HP770S 的信號模擬裝置系統(tǒng),它由 HP8770A 任意波形數字化和 HP1776A 波形發(fā)生軟件組成。HP8770A 實際上也只能產生 8 中波形,而且價格昂貴。不久以后,Analogic 公司推出了型號為 Data-2020 的多波形合成器,Lecroy 公司生產的型號為9100 的任意波形發(fā)生器等。 1.3.2 本課題在國內外的研究現狀二十一世紀,隨著集成電路技術的高速發(fā)展,出現了多種工作頻率可過 GHz 的DDS 芯片,同時也推動了函數波形發(fā)生器的發(fā)展, 2003 年,Agilent 的產品 33220A能夠產生 17 種波形,最高頻率可達到 20M,2005 年的產品 N6030A 能夠產生高達 500MHz 的頻率,采樣的頻率可達 1.25GHz。由上面的產品可以看出,函數波形發(fā)生器發(fā)展很快。 對目前而言,國外(美)研究和使用的信號發(fā)生器大多要求頻率在10 HZ~50MHZ,產生正弦、三角、鋸齒、方波、調幅、直流等波形,而國內則對頻6?率在 5×10 HZ~40MHZ ,能產生正弦~三角等基本波形以及調幅、調頻、 TTL 等的3信號發(fā)生器需求大。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 4 頁通信接口單片機系統(tǒng)D/A 電路電源模塊復位電路數碼管顯示模塊2 信號發(fā)生器的方案研究 2.1 總體方案論證與設計方案一:可以由晶體管、運算放大器放 IC 等通用器件制作,更多的則是用專門的函數信號發(fā)生器 IC 產生。早期的函數信號發(fā)生器 IC,如L8038、BA205、XR2207/2209 等,它們的功能較少,精度不高,頻率上限只有300kHz,無法產生更高頻率的信號,調節(jié)方式也不夠靈活,頻率和占空比不能獨立調節(jié),二者互相影響。方案二:利用專用直接數字合成DDS芯片的函數發(fā)生器:能產生任意波形并達到很高的頻率。但成本較高。方案三:采用 AT89C51 單片機和 DAC0832 芯片,直接連接鍵盤和顯示。該種方案主要對 AT89C51 單片機的各個 I/O 口充分利用。P1 口是連接鍵盤以及連接顯示電路,P2 口連接 DAC0832 輸出波形。這 樣總體來說,能對單片機各個接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本。也對按照系統(tǒng)便攜式低頻信號發(fā)生器的要求所完成.占用空間小,使用芯片少,低功耗。綜合考慮,方案三各項性能和指標都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現了模塊化設計的要求,而且這些芯片及器件均為通用器件,在市場上較常見,價格也低廉,樣品制作成功的可能性比較大,所以在本設計中采用了方案三。2.2 系統(tǒng)整體設計方案信號發(fā) 生器電路黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 5 頁的如圖 2-1 所示,控制器采用單片機,數據轉換電路采用 D/A 轉換電路,顯示電路采用共陰極七段數碼管實現動態(tài)掃描顯示,通信接口利用 MAX232 實現與外部設備的連接。圖 2.1 總體設計方框圖3 硬件電路的設計3.1 主控芯片的選擇本設計采用的主控芯片是 AT89C51。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器,是低電壓、高性能 CMOS8 位微處理器單片機。由于將多功能 8 位CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器, AT89C51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價的方案。所以本設計采用 AT89C51 作為主控芯片。3.1.1 AT89C51 主要特性AT89C51 的主要特性如表 3.1 所示表 3.1 AT89C51 的主要特性兼容 MCS-51 指令系統(tǒng) 4k 可反復擦寫(>1000 次)ISP Flash ROM32 個雙向 I/O 口 4.5-5.5V 工作電壓2 個 16 位可編程定時/計數器 時鐘頻率 0-33MHz全雙工 UART 串行中斷口線 128x8bit 內部 RAM5 個中斷源 低功耗空閑和省電模式黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 6 頁11223344D DC CB BA AT itleN u m b e r R e v isio nSizeA 4D a te : 2 0 1 0 - 4 - 2 3 Sh e e t o f File : Sh e e t1 .Sc h D o c D r a w n B y :+ 5 VC 1R 1R ST8 9 C 5 1中斷喚醒省電模式 3 級加密位看門狗(WDT)電路 軟件設置空閑和省電功能靈活的 ISP 字節(jié)和分頁編程 雙數據寄存器指針3.1.2 AT89C51 時鐘及復位電路設計復位電路分為上電自動復位和按鈕復位兩種方式,在程序跑飛時,使用復位電路可使程序恢復正常工作狀態(tài)。最簡單的復位電路是上電自動復位,它的工作原理是:加電瞬間電容通過充電來實現其電路如圖 3-3 所示。在通電瞬間,電容 C 通過電阻 R充電,RST 端出現正脈沖,用以復位。只要電源 VCC 的上升時間不超過 1ms,就可以實現自動上電復位,即接通電源就完成了系統(tǒng)的復位初始化。為了保證復位高電平持續(xù)時間大于 2 個機器周期。當采用晶體為 12MHz 時,可取 C=10Uf,R=8.2KΩ 。但是這個電路要想起到重新復位的作用,只能先下電,再上電才行。而如果在電容兩端并聯一個按鍵,就成了按鍵復位電路,只要按下這個按鍵,單片機就能復位而無需斷電。圖 3.3 上電自動復位黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 7 頁112233445566D DC CB BA ATitleNumber RevisionSizeBDate: 2010-4-16 Sheet of File: C:\Documents and Settings\..\與與與與與與.SCHDOCDrawn By:P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RESET9 P3.0(RXD)10P3.1(TXD)11 P3.2(INT0)12P3.3(INT1)13 P3.4(T0)14P3.5(T1)15 P3.6(WR)16P3.7(RD)17 XTAL218XTAL119 VSS20 P2.0 21P2.1 22P2.223P2.3 24P2.4 25P2.526P2.6 27P2.7 28PSEN29ALE/PROG 30EA/VPP 31P0.732P0.6 33P0.5 34P0.435P0.3 36P0.2 37P0.138P0.0 39VDD 40AT89C51U21212MXTAL33pFC233pFC3123456789RP1VCCVCCD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7200R21KR1VCC22UFC4SW-PBSP20P21P22P23P24P25P26本設計采用手動復位和上電自動復位組合方式復位。結構原理圖如圖 3.4 電路所示。VCC 上電時,電容充電,在 1K 電阻上出現電壓,使得單片機復位;幾個毫秒后,電容充滿,1K 電阻上電流降為 0,電壓也為 0,使得單片機進入工作狀態(tài)。工作期間,按下按鍵,電容放電。按鍵松手,電容又充電,在 1K 電阻上出現電壓,使得單片機復位。幾個毫秒后,單片機進入工作狀態(tài)。圖 3.4 單片機時鐘及復 位電路本 設計采用AT89C51 外接 12MHZ 晶振為單片機提供時鐘頻率,將 AT89C51 的 XTAL1 和 XTAL2兩端跨接石英晶體及兩個電容可以構成穩(wěn)定的自激振蕩器。電容取 33pF,可穩(wěn)定頻率并對振蕩頻率有微調作用。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 8 頁3.2 D/A 轉換電路設計D/A 模塊是本系統(tǒng)的核心部分,信號發(fā)生器的主要功能就是由這部分實現。模塊先接受來自單片機系統(tǒng)的數字量,通過 DAC0832 的轉換變成模擬電流輸出,通過電流-電壓轉換,得到模擬電壓。不同波形的采樣數字量不斷地被單片機系統(tǒng)送給轉換模塊,從而形成各種波形輸出。D/A 轉換電路的作用是將單片機輸出的波形樣值編碼轉換成模擬量值,完成雙極性的波形輸出。本設計采用 DAC0832 作為轉換芯片。3.2.1 DAC0832 芯片DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉換器。主要由兩個 8 位寄存器(輸入寄存器和 DAC 寄存器)和一個 8 位 D/A 轉換器組成。常用八位的 D/A 轉換器 DAC0832 內部結構資料:芯片內有兩級輸入寄存器,使DAC0832 具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路 D/A 異步輸入、同步轉換等)。D/A 轉換結果采用電流形式輸出。要是需要相應的模擬信號,可通過一個高輸入阻抗的線性運算放大器實現這個功能。運算放大器放的反饋電阻可通過 RFB 端引用片內固有電阻,還可以外接。該片邏輯輸入滿足 TTL 電壓電平范圍,可直接與 TTL 電路或微機電路相接。1、DAC0832 各引腳功能?DI0~ DI7:數字信號輸入端。?ILE:輸入寄存器允許,高電平有效。? :片選信號,低電平有效。CS?WR1:寫信號 1,低電平有效。? :傳送控制信號,低電平有效。XFER?WR2:寫信號 2,低電平有效。?IOUT1、IOUT2:DAC 電流輸出端。?RFB:是集成在片內的外接運放的反饋電阻。 ?VREF:基準電壓輸入線(-10~+10V) 。?VCC:工作電源( +5~+15V) 。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 9 頁8位輸 入寄 存器輸 入數 據 4~ 713~ 6928178129301參 考 電 壓UREFIOT}輸 出B反 饋 電 阻AGNDVCIOUTILE數 據鎖 存片 選 CSWR{寫 入 XF傳 送控 制 DAC寄存 器 位/寄 存器位 L&?AGND:模擬地 NGND:數字地。D/A 轉換芯片輸入時數字量,輸出為模擬量。模擬信號很容易受到電源和數字信號等干擾而引起波動。為提高穩(wěn)定性和減小誤差,一般把數字地和模擬地分開。 DAC0832 采用二次緩沖方式。這樣可以在輸出的同時,采集下一個數據,從而提高轉換速度,更重要的是能夠在多個轉換器同時工作時,實現多通道 D/A 的同步轉換輸出。 2、主要的特性參數?分辨率為 8 位。?只需在滿量程下調整其線性度。?可與單片機或微處理器直接接口,需要時也可與微處理器連接而單獨使用。 ?電流穩(wěn)定時間為 1us。?可雙緩沖、單緩沖或直通數據輸入。?功耗低,約為 200mW。?邏輯電平輸入與 TTL 兼容。?單電源供電(+5~+15V) 。DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉換器。主要由 8位輸入位寄存器、8 位 DAC 寄存器和一個 8 位 D/A 寄存器組成,如圖 3.5 所示。圖 3.5 DAC0832 內部結構8 位輸入寄存器用于存放 CPU 送來的數字量,使輸入數字量得到緩沖和鎖存,由端加以控制;8 位 DAC 寄存器用以存放待轉換的數字量,由 端控制;8 位1LE 2LE黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 10 頁D/A 轉換電路由 8 位 T 型電阻網絡和電子開關組成,電子開關受 8 位 DAC 寄存器輸出的數字量控制,T 型電阻網絡可以輸出與數字量成正比的模擬電流。3.2.2 DAC0832 波形產生原理一般利用 DAC0832 實現復雜波形的輸出,要首先利用采樣定理對各波形進行抽樣,然后對各采樣值進行編碼,得到的數字量存入各個波形表,執(zhí)行程序時通過查表方式依次取出,經過 D/A 轉換后輸出就可以得到不同波形。如果 N 個樣值點構成波形的一個周期,則 DAC0832 輸出 N 個樣值點后,便得到一個周期的波形信號。重復輸出 N個樣值點,得到第二周期。利用單片機的延時程序控制輸出信號的周期速度,也就控制了輸出波形的頻率。DAC0832 將參考電壓分成 256 份,單片機向 DAC0832 發(fā)送不同的數字編碼,可以產生不同的輸出。假設給 DAC0832 輸入的某個數字編碼的值為 D,則按照本系統(tǒng)的硬件設計,數模轉換模塊的輸出電壓應為 UO=Uref×D/256。3.2.3 D/A 轉換電路D/A 轉換電路由一片 DAC0832 和兩片 LM324AN 組成。DAC0832 是具有 20 條引腳的雙列直插式 CMOS 器件,它內部具有兩級數據寄存器,完成 8 位電流 D/A 轉換,故不需外加電路。DAC0832 是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉換可由運算放大器 LM324AN 實現,用兩片 LM324AN 可以實現雙極性輸出。 單片機向 DAC0832 發(fā)送數字編碼,產生不同的輸出。先利用采樣定理對各波形進行抽樣,然后把各采樣值進行編碼,得到的數字量存入各個波形表,執(zhí)行程序時通過查表方法依次取出,經過 D/A 轉換后輸出就可以得到波形。假如 N 個點構成波形的一個周期,則 DAC0832 輸出 N 個樣值點后,樣值點形成運動軌跡,即一個周期。重復輸出 N 個點,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。設計中為了實現模擬電壓的輸出,采用如圖 3.6 所示電路,將 DAC0832 的數據輸入端與 AT89C51 的 P0口相連,用來接收單片機發(fā)送的數據。輸出端利用兩片 LM324AN 實現波形的輸出,經過第一片 LM324AN 功放后,輸出反向電壓;經過第二片 LM324AN 一倍功放后,黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 11 頁1122334455667788D DC CB BA ATitleNumber RevisionSizeA3Date: 2010-4-15 Sheet of File: C:\Documents and Settings\..\與與與與與與與.SCHDOCDrawn By:CS1WR12GND3D134D125D116D107VREF8RFB9GND10VCC 20ILE(BY1/BY2) 19WR2 18XFER 17D14 16D15 15D16 14D17 13IOUT2 12IOUT1 11DAC0832U3100KR5100KR450KR3 OUTLM324AN2314111U4ALM324AN5672411U4BD0D1D2D3D4D5D6D7VCCVDD VDDVCC輸出正向電壓。從圖 3.6 所示電路圖中可以看出,當 VREF 接+5V 時,輸出電壓 OUT 的范圍是0~5V;當接+10V 時,輸出電壓 OUT 的范圍是 0~10V ;輸入數字量的變化,將引起模擬量輸出的變化。圖 3.6 D/A 轉換電路3.3 數碼管顯示電路設計顯示部分采用 8 位 7 段共陰數碼管,驅動芯片分別是 74LS48、74LS138,在軟件設計時,要根據芯片的控制邏輯來寫出顯示程序所需要的顯示數據表,所以需要了解這兩個芯片的真值表,如表 3.3、表 3.4 所示。3.3.1 顯示原理顯示模塊實現輸出波形參數的顯示功能。顯示部分用的是 8 位 7 段共陰數碼管,使用的是動態(tài)掃描顯示:74LS48 輸出為段選信號,決定數碼管顯示的字型碼;74LS138 是位選信號,決定顯示的數碼管位。在動態(tài)掃描時,每一個瞬間只使一位字符顯示,在此瞬間,段選輸出相應字符段選碼,位選則在該顯示位輸出選通電平,以保證該位顯示相應字符。如此輪流,使每黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 12 頁位分時顯示該位應顯示的字符。表 3.3 74LS48 真值表表 3.4 74LS138 真值表 輸入 輸出數字 D C B A Ya Yb Yc Yd Ye Yf Yg 字形0 0 0 0 0 1 1 1 1 1 1 0 01 0 0 0 1 0 1 1 0 0 0 0 12 0 0 1 0 1 1 0 1 1 0 1 23 0 0 1 1 1 1 1 1 0 0 1 34 0 1 0 0 0 1 1 0 0 1 1 45 0 1 0 1 1 0 1 1 0 1 1 56 0 1 1 0 0 0 1 1 1 1 1 67 0 1 1 1 1 1 1 0 0 0 0 78 1 0 0 0 1 1 1 1 1 1 1 89 1 0 0 1 1 1 1 0 0 1 1 9輸入 輸出G1 +G2ABC B A Y0123Y45670 X X X X 1 1 1 1 1 1 1 1 X 1 X X X 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 13 頁3.3.2 顯示電路在顯示模塊部分,如圖 3.7,通過 74LS138 和 74LS48 實現對七段數碼管的顯示控制。由于選用 8 位 LED,為簡化硬件電路,本設計采用 LED 動態(tài)掃描顯示電路。74LS138 能夠對數碼管實現位選,把 AT89C51 的 P2.4、P2.5 、P2.6 口與 3 線-8 線譯碼器的輸入端相連,將譯碼器的輸出端與 8 位共陰數碼管的位選端相連,從而實現數碼管的位選;74LS48 能夠對數碼管實現段選,將 AT89C51 的 P2.0、P2.1 、P2.2、P2.3 口與 4-7 譯碼器的輸入端相連,把單片機輸出的二進制數或者 BCD 碼,作為其輸入,并將轉換輸出的數據送給數碼管,作為數碼管的顯示段選碼。本設計中數碼管顯示的主要參數有:(1)當前波形的數字代號;(2)當前波形的輸出頻率;(3)當前輸出波形的峰值。1 0 1 1 1 1 1 1 1 1 1 1 0 11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-4-16 Sheet of File: I:\與與與與與與與\與與與與與與與.SCHDOCDrawn By:A1B2C3G2A4G2B5G16Y7 7Y6 9Y5 10Y4 11Y3 12Y2 13Y1 14Y0 1574LS138U5 R6R7R8R9R12R13R11R10VCCVCCW1W2W3W4W6W7W87SEG-MPX8-CC-BLUEAaBbCcDdEeFfGgDPdp1122334455667788a b c d e f g W1 W2 W3 W4 W5 W6 W7 W8BI/RBO4RBI5LT3A7B1C2D6a 13b 12c 11d 10e 9f 15g 1474LS48U6P20P21P22P23P24P25P26W5ab c defg黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 14 頁圖 3.7 數碼管顯示電路3.4 通信接口電路設計為實現計算機與單片機系統(tǒng)的數據通信與下載,本設計中采用 MAX232 實現,如圖 3.8 所示。MAX232 芯片是美信公司專門為電腦的 RS-232 標準串口設計的接口電路,使用+5v 單電源供電。外部結構基本可分三個部分:第一部分是電荷泵電路。由 1、2、3、4、5、6 腳和 4 只電容構成。功能是產生+12v 和 -12v 兩個電壓,滿足 RS-232 串口對電平的要求。第二部分是數據轉換通道。由 7、8、9、10、11、12、13、14 腳構成兩個數據通道。其中 13 腳(R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數據通道。8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數據通道。第三部分是供電。15 腳 GND、16 腳 VCC(+5V) 。在圖 3.8 所示的接口電路中,MAX232 的 R1OUT 口接單片機的 P3.0 RXD(串行輸入口) ,T1IN 口接單片機的 P3.1TXD(串行輸出口) 。R S232 串 口 通 信 接 線 方 法 采用 三 線 制 。 首 先 , 串 口 傳 輸 數 據 只 要 有 接 收 數 據 針 腳 和 發(fā) 送 針 腳 就 能 實 現 ; 同 一 個串 口 的 接 收 腳 和 發(fā) 送 腳 直 接 用 線 相 連 。 TTL/CMOS 數據從 T1IN 輸入轉換成 RS-232數據從 T1OUT 送到電腦 DB9 插頭;DB9 插頭的 RS-232 數據從 R1IN 輸入轉換成TTL/CMOS 數據后從 R1OUT 輸出。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 15 頁11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-5-15 Sheet of File: H:\與與與與s\..\與與與與與與與.SCHDOC Drawn By:Vin VoutGNDMC7805U012DS123POWERINPUT1KR00.33UFC00.1UFC1VCCVDD11223344D DC CB BA ATitleNumber RevisionSizeA4Date: 2010-5-15 Sheet of File: H:\與與與與\..與與與與與與與與與與與與與.SCHDOCDrawn By:C1+ 1V+ 2C1- 3C2+ 4C2- 5V- 6T2OUT 7R2IN 8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16MAX232U1123456789DBVCC +5V 1UFC 81UFC71UFC61UFC5TXDRXD圖 3.8 MAX232 的接口電路3.5 電源電路設計為了給電路提供穩(wěn)定的電源,本設計中采用如圖 3-9 所示電路,由 MC7805 控制的電源電路給各部分電路提供電源。MC7805 為三端正穩(wěn)壓器電路,能提供多種固定的輸出電壓,應用范圍廣。內含過流、過熱和過載保護電路。帶散熱片時輸出電流可達 1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。其主要特點:(1) 輸出電流可達 1A; (2)輸出電壓為:最小值為 4.8V,最大值為 5.2V,典型值為5V;(3)短路保護。由于 MC7805 的輸入端電壓 Vin 要比輸出端電壓 Vout 高 2V 以上,MC7805 在25℃常溫時,當需要輸出典型電壓 Vout=+5V,Io=500mA 時,輸入電壓 Vin 必須為+10V,因此圖 3-9 電路圖中 Vin 需接+10V 電壓。本設計中由 MC7805 輸出 +5V 電壓,給單片機、DAC0832 以及 74LS138、74LS48和 MAX232 等芯片提供穩(wěn)定的+5V 直流電壓。將 MC7805 輸入端的電壓接到LM324AN 的 VDD 電源端。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 16 頁圖 3.9 電源電路3.6 整體硬件電路設計根據硬件總體設計的方框圖,設計出實際電路圖如附錄 A 所示,電路中利用AT89C51 單片機系統(tǒng)產生各種波形的控制信號;通過 DAC0832 轉換電路,實現對數字信號轉換成模擬的電壓信號輸出;并通過數碼管顯示電路,將某一時刻輸出的波形數字代號、頻率以及該波形的峰值顯示出來。4 軟件設計4.1 系統(tǒng)主程序設計主程序的功能是在打開不同的開關 1、2、3、4 時,D/A 轉換模塊分別輸出方波、鋸齒波、三角波、正弦波四種波形;顯示模塊顯示代表各種波形的數字、所選波形的頻率和幅度,要求在同一時間只限打開一個開關。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 17 頁圖 4.1 主程序流程圖由于顯示程序和正弦波程序采用的是查表方式,所以程序開始后,先分別定義顯示數據和正弦波的采樣數據表,這些都是轉換過的數字量,分別送給顯示模塊和 D/A模塊。鑒于四個功能鍵分別控制著數模轉換輸出波形的類型和顯示部分顯示不同的參數,接下來開始判斷是哪個功能鍵被打開,這個過程靠查詢 P1 口的狀態(tài)來完成:若P1=0Xfe,表示開關 1 被打開,就調用方波子程序,由于程序的主函數是一個循環(huán)程序,只要相應的開關被打開,就會循環(huán)的調用相應的波形程序,反之則判斷 P1=0Xfd?是則表示開關 2 被打開,循環(huán)執(zhí)行鋸齒波子程序,否則繼續(xù)判斷 P1=0Xfb?是則表示開關 3 被打開,循環(huán)執(zhí)行三角波子程序,否則接著判斷 P1=0Xf7?是則開關 4 被打開,循環(huán)執(zhí)行正弦波子程序,否則判斷 P1=0Xff?是則說明沒有開關打開,將模擬輸出變?yōu)?,顯示部分不顯示。由于使用的是查詢方式對 P1 口進行監(jiān)控,由于硬件電路的連接,不能給開關設置不同的優(yōu)先級,所以每一次只允許按下一個開關。程序流程圖如圖 4.1所示,源程序如附錄 II 所示。顯示部分一共選擇五位來進行表示,8 段共陰數碼管的第一位用來表示信號源輸出波形的類型,有方波、鋸齒波、三角波、正弦波,數字 1 表示方波,數字 2 表示鋸齒黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 18 頁波,數字 3 表示三角波,數字 4 表示正弦波;第四位、第五位、第六位組成一個數字,表示輸出波形的頻率,單位是赫茲;第八位表示波形的峰值,單位是伏特。波形類型的轉換受撥碼開關的控制,不同的開關打開后輸出不同的波形。分別把開關編號,開關 1 控制方波輸出,開關 2 控制鋸齒波輸出,開關 3 控制三角波輸出,開關 4 控制正弦波輸出。4.2 方波子程序設計4.2.1 方波程序總流程方波子程序分為兩個部分:第一部分是方波輸出,由數模轉換模塊完成波形的輸出;第二部分是波形類型,波形頻率和幅值的顯示部分,由顯示模塊完成,流程圖如圖 4.2 所示,源程序如附錄 B 所示。4.2.2 方波產生程序設計方波產生的原理:在方波為低電平時,給單片機接數模轉換模塊的端口賦值 0,通過 D/A 轉換模塊輸出相應的模擬電壓,延遲一定的時間,這個延時時間就是方波的半個周期;然后在方波為高電平時,給單片機接數模轉換模塊的端口賦值 0xff,通過D/A 轉換模塊輸出相應的模擬電壓,也延時半個周期的時間,不斷的反復這樣執(zhí)行,就得到方波波形。開始后先設置循環(huán)次數,也就是方波連續(xù)輸出的周期數,然后給 P0 口置 0,調用延時程序,完成方波半個周期的低電平,然后給 P0 口置 1,調用延時程序,完成方波半個周期的高電平,判斷是否輸出了 14 個周期,否則繼續(xù)執(zhí)行程序,是則本段程序已經執(zhí)行完畢,開始執(zhí)行下一段程序,流程如圖 4.3 所示,源程序如附錄 B 所示。黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 19 頁調用方波子程序調用顯示子程序結束設置循環(huán)次數P 0 口置 0調用延時子程序P 0 口置 1調用延時子程序循環(huán) 1 4 次 ?結束YN設置循環(huán)變量 c n tc n t = 0c n t 0 ?P 0 = ii = i - 1c n t = 0c n t #includeunsigned char code DIS_SEG7A[5]={0X01,0X33,0X43,0X53,0X75};unsigned char code DIS_SEG7B[5]={0X02,0X30,0X40,0X54,0X75};unsigned char code DIS_SEG7C[5]={0X03,0X30,0X40,0X52,0X75};unsigned char code DIS_SEG7D[5]={0X04,0X30,0X40,0X53,0X75};float code table2[]={0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 37 頁0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A,0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35,0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D};void delay(unsigned int k){ unsigned int i,j;for(i=0;i0;i--){P0=i;for(cnt=0;cnt<5;cnt++){P2=DIS_SEG7C[cnt];delay(10);} // delay(1);}}(7) 正弦波子程序void sin()//正弦波{unsigned char cnt;unsigned int i;for(i=0;i<256;i++)黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 41 頁{P0=table2[i];for(cnt=0;cnt<5;cnt++){P2=DIS_SEG7D[cnt];delay(10);}// delay(10);}}黃 河 科 技 學 院 畢 業(yè) 設 計 說 明 書 第 42 頁
收藏