1923_基于單片機(jī)的多功能信號(hào)發(fā)生器
1923_基于單片機(jī)的多功能信號(hào)發(fā)生器,基于,單片機(jī),多功能,信號(hào)發(fā)生器
黃河科技學(xué)院本 科 畢 業(yè) 設(shè) 計(jì) (論文) 任 務(wù) 書工 學(xué)院 機(jī)械 系 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 專業(yè) 2008 級(jí) 1 班學(xué)號(hào) 080105020 學(xué)生 劉冰 指 導(dǎo) 教 師 牛 月 蘭 畢業(yè)設(shè)計(jì)(論文)題目基于單片機(jī)的多功能信號(hào)發(fā)生器 畢業(yè)設(shè)計(jì)(論文)工作內(nèi)容與基本要求(目標(biāo)、任務(wù)、途徑、方法,應(yīng)掌握的原始資料(數(shù)據(jù)) 、參考資料(文獻(xiàn))以及設(shè)計(jì)技術(shù)要求、注意事項(xiàng)等) (紙張不夠可加頁(yè))基于單片機(jī)的多功能信號(hào)發(fā)生器可以發(fā)生正弦波、方波、鋸齒波等多種波形,波形的切換可以通過按鍵直接實(shí)現(xiàn)。軟件部分由主程序、波形發(fā)生子程序及鍵盤、LED顯示等接口程序組成。彌補(bǔ)過去由分立元件和集成運(yùn)算放大器構(gòu)成振蕩器的頻率低、失真大等缺點(diǎn),硬件結(jié)構(gòu)更加簡(jiǎn)單,真正達(dá)到頻率高、失真小、波形調(diào)節(jié)方便、人機(jī)交互方式好等要求。主要內(nèi)容:1、電路原理圖設(shè)計(jì)。2、程序設(shè)計(jì)。3、通過 PROTEUS 軟件進(jìn)行仿真調(diào)試。4、圖紙:畫出系統(tǒng)方框圖、電路原理圖、程序流程圖、系統(tǒng)仿真圖各一張。5、撰寫畢業(yè)設(shè)計(jì)說明書、寫出文獻(xiàn)綜述、翻譯外文資料。時(shí)間及任務(wù)安排:1、1----2 周:考察調(diào)研,實(shí)習(xí)參觀,收集資料,完成開題報(bào)告;2、3----4 周:完成文獻(xiàn)翻譯,文獻(xiàn)綜述,初步擬定總體設(shè)計(jì)方案;3、5---9 周:完成設(shè)計(jì)說明書初稿,基本完成課題設(shè)計(jì)、計(jì)算繪圖等工作;4、10-11 周: 完成設(shè)計(jì)說明書、設(shè)計(jì)圖紙,整理完成所有設(shè)計(jì)文件;5、第 12 周:做好答辯前的所有準(zhǔn)備工作。畢業(yè)設(shè)計(jì)(論文)時(shí)間: 2012 年 2 月 13 日至 2012 年 5 月 15 日計(jì) 劃 答 辯 時(shí) 間: 2012 年 5 月 19 日工作任務(wù)與工作量要求:原則上查閱文獻(xiàn)資料不少于 12 篇,其中外文資料不少于 2 篇;文獻(xiàn)綜述不少于 3000 字;文獻(xiàn)翻譯不少于 3000 字;畢業(yè)論文 1 篇不少于 10000 字,理工科類論文或設(shè)計(jì)說明書不少于 8000 字(同時(shí)提交有關(guān)圖紙和附件) 。 專業(yè)(教研室)審批意見:審批人(簽字):日 期: 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 I 頁(yè)基于單片機(jī)的多功能信號(hào)發(fā)生器摘 要信號(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ī)上加外圍器件距陣式鍵盤,通過鍵盤控制波形頻率的增減以及波形的選擇,并用了 LCD 顯示頻率大小。在單片機(jī)的輸出端口接 DAC0832 進(jìn)行 D/A 轉(zhuǎn)換,再通過運(yùn)放進(jìn)行波形調(diào)整,最后輸出波形接在示波器上顯示。本設(shè)計(jì)具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、價(jià)格低廉、性能優(yōu)越等優(yōu)點(diǎn)。關(guān)鍵詞:信號(hào)發(fā)生器,單片機(jī),波形調(diào)整 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 II 頁(yè)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 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 III 頁(yè)目錄1 緒 論 ...................................................................11.1 課題背景 ..........................................................11.2 課題意義 ..........................................................11.3 國(guó)內(nèi)外的研究狀況 ..................................................21.3.1 波形發(fā)生器的發(fā)展?fàn)顩r .........................................21.3.2 本課題在國(guó)內(nèi)外的研究現(xiàn)狀 ....................................32 信號(hào)發(fā)生器的方案研究 ....................................................42.1 總體方案論證與設(shè)計(jì) ................................................42.2 系統(tǒng)整體設(shè)計(jì)方案 ...................................................43 硬件電路的設(shè)計(jì) ..........................................................53.1 主控芯片的選擇 .....................................................53.1.1 AT89C51 主要特性 ..............................................53.1.2 AT89C51 時(shí)鐘及復(fù)位電路設(shè)計(jì) ....................................53.2 D/A 轉(zhuǎn)換電路設(shè)計(jì) ...................................................73.2.1 DAC0832 芯片 ..................................................73.2.2 DAC0832 波形產(chǎn)生原理 ..........................................93.2.3 D/A 轉(zhuǎn)換電路 ..................................................93.3 數(shù)碼管顯示電路設(shè)計(jì) ................................................103.3.1 顯示原理 .....................................................103.3.2 顯示電路 .....................................................123.4 通信接口電路設(shè)計(jì) ..................................................123.5 電源電路設(shè)計(jì) ......................................................133.6 整體硬件電路設(shè)計(jì) ..................................................144 軟件設(shè)計(jì) ...............................................................154.1 系統(tǒng)主程序設(shè)計(jì) ....................................................154.2 方波子程序設(shè)計(jì) ....................................................164.2.1 方波程序總流程 ...............................................16 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 IV 頁(yè)4.2.2 方波產(chǎn)生程序設(shè)計(jì) .............................................164.2.3 方波顯示程序設(shè)計(jì) .............................................174.3 鋸齒波子程序設(shè)計(jì) ..................................................174.3.1 鋸齒波產(chǎn)生原理 ...............................................174.3.2 鋸齒波程序設(shè)計(jì) ...............................................184.4 三角波子程序設(shè)計(jì) ..................................................194.5 正弦波子程序設(shè)計(jì) ..................................................204.5.1 正弦波產(chǎn)生原理 ...............................................204.5.2 正弦波程序設(shè)計(jì) ...............................................215 系統(tǒng)硬件的調(diào)試及系統(tǒng)分析 ................................................225.1 仿真工具 ..........................................................225.2 仿真原理圖 ........................................................225.3 顯示模塊調(diào)試 ......................................................235.4 D/A 模塊調(diào)試 ......................................................24結(jié) 論 ...................................................................28致 謝 ...................................................................29參考文獻(xiàn) .................................................................30附錄 .....................................................................31附錄 A ................................................................31附錄 B ................................................................32黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 1 頁(yè)1 緒 論1.1 課題背景隨著電子測(cè)量及其他部門對(duì)各類信號(hào)發(fā)生器的廣泛需求及電子技術(shù)的迅速發(fā)展,促使信號(hào)發(fā)生器種類增多,性能提高。尤其隨著 70 年代微處理器的出現(xiàn),更促使信號(hào)發(fā)生器向著自動(dòng)化、智能化方向發(fā)展。現(xiàn)在,許多信號(hào)發(fā)生器帶有微處理器,因而具備了自校、自檢、自動(dòng)故障診斷和自動(dòng)波形形成和修正等功能,可以和控制計(jì)算機(jī)及其他測(cè)量?jī)x器一起方便的構(gòu)成自動(dòng)測(cè)試系統(tǒng)。當(dāng)前信號(hào)發(fā)生器總的趨勢(shì)是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動(dòng)化和智能化方向發(fā)展。在科學(xué)研究、工程教育及生產(chǎn)實(shí)踐中,如工業(yè)過程控制、教學(xué)實(shí)驗(yàn)、機(jī)械振動(dòng)試驗(yàn)、動(dòng)態(tài)分析、材料試驗(yàn)、生物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號(hào)發(fā)生器。而在我們?nèi)粘I钪?,以及一些科學(xué)研究中,鋸齒波和正弦波、矩形波信號(hào)是常用的基本測(cè)試信號(hào)。譬如在示波器、電視機(jī)等儀器中,為了使電子按照一定規(guī)律運(yùn)動(dòng),以利用熒光屏顯示圖像,常用到鋸齒波信號(hào)發(fā)生器作為時(shí)基電路。信號(hào)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號(hào)發(fā)生器成為可能。1.2 課題意義 便攜式和智能化越來(lái)越成為儀器的基本要求,對(duì)傳統(tǒng)儀器的數(shù)字化,智能化,集成化也就明顯得尤為重要。平時(shí)常用信號(hào)源產(chǎn)生的正弦波,方波,三角波等常見波形作為待測(cè)系統(tǒng)的輸入,測(cè)試系統(tǒng)的性能。但在某些場(chǎng)合,我們需要特殊波形對(duì)系統(tǒng)進(jìn)行測(cè)試,這是傳統(tǒng)的模擬信號(hào)發(fā)生器和數(shù)字信號(hào)發(fā)生器很難勝任的。利用單片機(jī)的強(qiáng)大功能,設(shè)計(jì)合適的人機(jī)交互界面,使用戶能夠通過手動(dòng)的設(shè)定,設(shè)置所需波形。該設(shè)計(jì)課題的研究和制作全面說明對(duì)多功能信號(hào)發(fā)生系統(tǒng)要有一個(gè)全面的了解、對(duì)多功能信號(hào)的發(fā)生原理要理解掌握,以及多功能信號(hào)發(fā)生器工作流程:波形的設(shè)黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 2 頁(yè)定,D/A 轉(zhuǎn)換,單片機(jī)(51 單片機(jī),顯示電路,鍵盤控制) ,顯示和各模塊的連接通信等各個(gè)部分要熟練聯(lián)接調(diào)試,能夠正確的了解常規(guī)芯片的使用方法、掌握簡(jiǎn)單信號(hào)發(fā)生器應(yīng)用系統(tǒng)軟硬件的設(shè)計(jì)方法,進(jìn)一步鍛煉了我們?cè)谛盘?hào)處理方面的實(shí)際工作能力。1.3 國(guó)內(nèi)外的研究狀況1.3.1 波形發(fā)生器的發(fā)展?fàn)顩r 波形發(fā)生器亦稱函數(shù)發(fā)生器,作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場(chǎng)上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號(hào)發(fā)生器作為一種常見的應(yīng)用電子儀器設(shè)備,傳統(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ù)的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。波形發(fā)生器是能夠產(chǎn)生大量的標(biāo)準(zhǔn)信號(hào)和用戶定義信號(hào),并保證高精度、高穩(wěn)定性、可重復(fù)性和易操作性的電子儀器。函數(shù)波形發(fā)生器具有連續(xù)的相位變換、和頻率穩(wěn)定性等優(yōu)點(diǎn),不僅可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率、幅值、相移、波形進(jìn)行動(dòng)態(tài)、及時(shí)的控制,并能夠與其它儀器進(jìn)行通訊,組成自動(dòng)測(cè)試系統(tǒng),因此被廣泛用于自動(dòng)控制系統(tǒng)、震動(dòng)激勵(lì)、通訊和儀器儀表領(lǐng)域。在 70 年代前,信號(hào)發(fā)生器主要有兩類:正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標(biāo)準(zhǔn)波形,產(chǎn)生其它波形時(shí),需要采用較復(fù)雜的電路和機(jī)電結(jié)合的方法。這個(gè)時(shí)期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價(jià)格貴、功耗大等缺點(diǎn),并且要產(chǎn)生較為復(fù)雜的信號(hào)波形,則電路結(jié)構(gòu)非常復(fù)雜。同時(shí),主要表現(xiàn)為兩個(gè)突出問題,一是通過電位器的調(diào)節(jié)來(lái)實(shí)現(xiàn)輸出頻率的調(diào)節(jié),因此很難將頻率調(diào)到某一個(gè)定黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 3 頁(yè)值;二是脈沖的占空比不可調(diào)節(jié)。在 70 年代后,微處理器的出現(xiàn),可以利用處理器、A/D/和 D/A,硬件和軟件使波形發(fā)生器的功能擴(kuò)大,產(chǎn)生更加復(fù)雜的波形。這時(shí)期的波形發(fā)生器多以軟件為主,實(shí)質(zhì)是采用微處理器對(duì) DAC 的程序控制,就可以得到各種簡(jiǎn)單的波形。 90 年代末,出現(xiàn)幾種真正高性能、高價(jià)格的函數(shù)發(fā)生器、但是 HP 公司推出了型號(hào)為 HP770S 的信號(hào)模擬裝置系統(tǒng),它由 HP8770A 任意波形數(shù)字化和 HP1776A 波形發(fā)生軟件組成。HP8770A 實(shí)際上也只能產(chǎn)生 8 中波形,而且價(jià)格昂貴。不久以后,Analogic 公司推出了型號(hào)為 Data-2020 的多波形合成器,Lecroy 公司生產(chǎn)的型號(hào)為9100 的任意波形發(fā)生器等。 1.3.2 本課題在國(guó)內(nèi)外的研究現(xiàn)狀二十一世紀(jì),隨著集成電路技術(shù)的高速發(fā)展,出現(xiàn)了多種工作頻率可過 GHz 的DDS 芯片,同時(shí)也推動(dòng)了函數(shù)波形發(fā)生器的發(fā)展, 2003 年,Agilent 的產(chǎn)品 33220A能夠產(chǎn)生 17 種波形,最高頻率可達(dá)到 20M,2005 年的產(chǎn)品 N6030A 能夠產(chǎn)生高達(dá) 500MHz 的頻率,采樣的頻率可達(dá) 1.25GHz。由上面的產(chǎn)品可以看出,函數(shù)波形發(fā)生器發(fā)展很快。 對(duì)目前而言,國(guó)外(美)研究和使用的信號(hào)發(fā)生器大多要求頻率在10 HZ~50MHZ,產(chǎn)生正弦、三角、鋸齒、方波、調(diào)幅、直流等波形,而國(guó)內(nèi)則對(duì)頻6?率在 5×10 HZ~40MHZ ,能產(chǎn)生正弦~三角等基本波形以及調(diào)幅、調(diào)頻、 TTL 等的3信號(hào)發(fā)生器需求大。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 4 頁(yè)通信接口單片機(jī)系統(tǒng)D/A 電路電源模塊復(fù)位電路數(shù)碼管顯示模塊2 信號(hào)發(fā)生器的方案研究 2.1 總體方案論證與設(shè)計(jì)方案一:可以由晶體管、運(yùn)算放大器放 IC 等通用器件制作,更多的則是用專門的函數(shù)信號(hào)發(fā)生器 IC 產(chǎn)生。早期的函數(shù)信號(hào)發(fā)生器 IC,如L8038、BA205、XR2207/2209 等,它們的功能較少,精度不高,頻率上限只有300kHz,無(wú)法產(chǎn)生更高頻率的信號(hào),調(diào)節(jié)方式也不夠靈活,頻率和占空比不能獨(dú)立調(diào)節(jié),二者互相影響。方案二:利用專用直接數(shù)字合成DDS芯片的函數(shù)發(fā)生器:能產(chǎn)生任意波形并達(dá)到很高的頻率。但成本較高。方案三:采用 AT89C51 單片機(jī)和 DAC0832 芯片,直接連接鍵盤和顯示。該種方案主要對(duì) AT89C51 單片機(jī)的各個(gè) I/O 口充分利用。P1 口是連接鍵盤以及連接顯示電路,P2 口連接 DAC0832 輸出波形。這 樣總體來(lái)說,能對(duì)單片機(jī)各個(gè)接口都利用上,而不在多用其它芯片,從而減小了系統(tǒng)的成本。也對(duì)按照系統(tǒng)便攜式低頻信號(hào)發(fā)生器的要求所完成.占用空間小,使用芯片少,低功耗。綜合考慮,方案三各項(xiàng)性能和指標(biāo)都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現(xiàn)了模塊化設(shè)計(jì)的要求,而且這些芯片及器件均為通用器件,在市場(chǎng)上較常見,價(jià)格也低廉,樣品制作成功的可能性比較大,所以在本設(shè)計(jì)中采用了方案三。2.2 系統(tǒng)整體設(shè)計(jì)方案信號(hào)發(fā) 生器電路黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 5 頁(yè)的如圖 2-1 所示,控制器采用單片機(jī),數(shù)據(jù)轉(zhuǎn)換電路采用 D/A 轉(zhuǎn)換電路,顯示電路采用共陰極七段數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示,通信接口利用 MAX232 實(shí)現(xiàn)與外部設(shè)備的連接。圖 2.1 總體設(shè)計(jì)方框圖3 硬件電路的設(shè)計(jì)3.1 主控芯片的選擇本設(shè)計(jì)采用的主控芯片是 AT89C51。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,是低電壓、高性能 CMOS8 位微處理器單片機(jī)。由于將多功能 8 位CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的 AT89C51 是一種高效微控制器, AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案。所以本設(shè)計(jì)采用 AT89C51 作為主控芯片。3.1.1 AT89C51 主要特性AT89C51 的主要特性如表 3.1 所示表 3.1 AT89C51 的主要特性兼容 MCS-51 指令系統(tǒng) 4k 可反復(fù)擦寫(>1000 次)ISP Flash ROM32 個(gè)雙向 I/O 口 4.5-5.5V 工作電壓2 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器 時(shí)鐘頻率 0-33MHz全雙工 UART 串行中斷口線 128x8bit 內(nèi)部 RAM5 個(gè)中斷源 低功耗空閑和省電模式黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 6 頁(yè)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 級(jí)加密位看門狗(WDT)電路 軟件設(shè)置空閑和省電功能靈活的 ISP 字節(jié)和分頁(yè)編程 雙數(shù)據(jù)寄存器指針3.1.2 AT89C51 時(shí)鐘及復(fù)位電路設(shè)計(jì)復(fù)位電路分為上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,在程序跑飛時(shí),使用復(fù)位電路可使程序恢復(fù)正常工作狀態(tài)。最簡(jiǎn)單的復(fù)位電路是上電自動(dòng)復(fù)位,它的工作原理是:加電瞬間電容通過充電來(lái)實(shí)現(xiàn)其電路如圖 3-3 所示。在通電瞬間,電容 C 通過電阻 R充電,RST 端出現(xiàn)正脈沖,用以復(fù)位。只要電源 VCC 的上升時(shí)間不超過 1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。為了保證復(fù)位高電平持續(xù)時(shí)間大于 2 個(gè)機(jī)器周期。當(dāng)采用晶體為 12MHz 時(shí),可取 C=10Uf,R=8.2KΩ 。但是這個(gè)電路要想起到重新復(fù)位的作用,只能先下電,再上電才行。而如果在電容兩端并聯(lián)一個(gè)按鍵,就成了按鍵復(fù)位電路,只要按下這個(gè)按鍵,單片機(jī)就能復(fù)位而無(wú)需斷電。圖 3.3 上電自動(dòng)復(fù)位黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 7 頁(yè)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本設(shè)計(jì)采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位組合方式復(fù)位。結(jié)構(gòu)原理圖如圖 3.4 電路所示。VCC 上電時(shí),電容充電,在 1K 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,電容充滿,1K 電阻上電流降為 0,電壓也為 0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下按鍵,電容放電。按鍵松手,電容又充電,在 1K 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。幾個(gè)毫秒后,單片機(jī)進(jìn)入工作狀態(tài)。圖 3.4 單片機(jī)時(shí)鐘及復(fù) 位電路本 設(shè)計(jì)采用AT89C51 外接 12MHZ 晶振為單片機(jī)提供時(shí)鐘頻率,將 AT89C51 的 XTAL1 和 XTAL2兩端跨接石英晶體及兩個(gè)電容可以構(gòu)成穩(wěn)定的自激振蕩器。電容取 33pF,可穩(wěn)定頻率并對(duì)振蕩頻率有微調(diào)作用。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 8 頁(yè)3.2 D/A 轉(zhuǎn)換電路設(shè)計(jì)D/A 模塊是本系統(tǒng)的核心部分,信號(hào)發(fā)生器的主要功能就是由這部分實(shí)現(xiàn)。模塊先接受來(lái)自單片機(jī)系統(tǒng)的數(shù)字量,通過 DAC0832 的轉(zhuǎn)換變成模擬電流輸出,通過電流-電壓轉(zhuǎn)換,得到模擬電壓。不同波形的采樣數(shù)字量不斷地被單片機(jī)系統(tǒng)送給轉(zhuǎn)換模塊,從而形成各種波形輸出。D/A 轉(zhuǎn)換電路的作用是將單片機(jī)輸出的波形樣值編碼轉(zhuǎn)換成模擬量值,完成雙極性的波形輸出。本設(shè)計(jì)采用 DAC0832 作為轉(zhuǎn)換芯片。3.2.1 DAC0832 芯片DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉(zhuǎn)換器。主要由兩個(gè) 8 位寄存器(輸入寄存器和 DAC 寄存器)和一個(gè) 8 位 D/A 轉(zhuǎn)換器組成。常用八位的 D/A 轉(zhuǎn)換器 DAC0832 內(nèi)部結(jié)構(gòu)資料:芯片內(nèi)有兩級(jí)輸入寄存器,使DAC0832 具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路 D/A 異步輸入、同步轉(zhuǎn)換等)。D/A 轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬信號(hào),可通過一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)功能。運(yùn)算放大器放的反饋電阻可通過 RFB 端引用片內(nèi)固有電阻,還可以外接。該片邏輯輸入滿足 TTL 電壓電平范圍,可直接與 TTL 電路或微機(jī)電路相接。1、DAC0832 各引腳功能?DI0~ DI7:數(shù)字信號(hào)輸入端。?ILE:輸入寄存器允許,高電平有效。? :片選信號(hào),低電平有效。CS?WR1:寫信號(hào) 1,低電平有效。? :傳送控制信號(hào),低電平有效。XFER?WR2:寫信號(hào) 2,低電平有效。?IOUT1、IOUT2:DAC 電流輸出端。?RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。 ?VREF:基準(zhǔn)電壓輸入線(-10~+10V) 。?VCC:工作電源( +5~+15V) 。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 9 頁(yè)8位輸 入寄 存器輸 入數(shù) 據(jù) 4~ 713~ 6928178129301參 考 電 壓UREFIOT}輸 出B反 饋 電 阻AGNDVCIOUTILE數(shù) 據(jù)鎖 存片 選 CSWR{寫 入 XF傳 送控 制 DAC寄存 器 位/寄 存器位 L&?AGND:模擬地 NGND:數(shù)字地。D/A 轉(zhuǎn)換芯片輸入時(shí)數(shù)字量,輸出為模擬量。模擬信號(hào)很容易受到電源和數(shù)字信號(hào)等干擾而引起波動(dòng)。為提高穩(wěn)定性和減小誤差,一般把數(shù)字地和模擬地分開。 DAC0832 采用二次緩沖方式。這樣可以在輸出的同時(shí),采集下一個(gè)數(shù)據(jù),從而提高轉(zhuǎn)換速度,更重要的是能夠在多個(gè)轉(zhuǎn)換器同時(shí)工作時(shí),實(shí)現(xiàn)多通道 D/A 的同步轉(zhuǎn)換輸出。 2、主要的特性參數(shù)?分辨率為 8 位。?只需在滿量程下調(diào)整其線性度。?可與單片機(jī)或微處理器直接接口,需要時(shí)也可與微處理器連接而單獨(dú)使用。 ?電流穩(wěn)定時(shí)間為 1us。?可雙緩沖、單緩沖或直通數(shù)據(jù)輸入。?功耗低,約為 200mW。?邏輯電平輸入與 TTL 兼容。?單電源供電(+5~+15V) 。DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位 D/A 轉(zhuǎn)換器。主要由 8位輸入位寄存器、8 位 DAC 寄存器和一個(gè) 8 位 D/A 寄存器組成,如圖 3.5 所示。圖 3.5 DAC0832 內(nèi)部結(jié)構(gòu)8 位輸入寄存器用于存放 CPU 送來(lái)的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由端加以控制;8 位 DAC 寄存器用以存放待轉(zhuǎn)換的數(shù)字量,由 端控制;8 位1LE 2LE黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 10 頁(yè)D/A 轉(zhuǎn)換電路由 8 位 T 型電阻網(wǎng)絡(luò)和電子開關(guān)組成,電子開關(guān)受 8 位 DAC 寄存器輸出的數(shù)字量控制,T 型電阻網(wǎng)絡(luò)可以輸出與數(shù)字量成正比的模擬電流。3.2.2 DAC0832 波形產(chǎn)生原理一般利用 DAC0832 實(shí)現(xiàn)復(fù)雜波形的輸出,要首先利用采樣定理對(duì)各波形進(jìn)行抽樣,然后對(duì)各采樣值進(jìn)行編碼,得到的數(shù)字量存入各個(gè)波形表,執(zhí)行程序時(shí)通過查表方式依次取出,經(jīng)過 D/A 轉(zhuǎn)換后輸出就可以得到不同波形。如果 N 個(gè)樣值點(diǎn)構(gòu)成波形的一個(gè)周期,則 DAC0832 輸出 N 個(gè)樣值點(diǎn)后,便得到一個(gè)周期的波形信號(hào)。重復(fù)輸出 N個(gè)樣值點(diǎn),得到第二周期。利用單片機(jī)的延時(shí)程序控制輸出信號(hào)的周期速度,也就控制了輸出波形的頻率。DAC0832 將參考電壓分成 256 份,單片機(jī)向 DAC0832 發(fā)送不同的數(shù)字編碼,可以產(chǎn)生不同的輸出。假設(shè)給 DAC0832 輸入的某個(gè)數(shù)字編碼的值為 D,則按照本系統(tǒng)的硬件設(shè)計(jì),數(shù)模轉(zhuǎn)換模塊的輸出電壓應(yīng)為 UO=Uref×D/256。3.2.3 D/A 轉(zhuǎn)換電路D/A 轉(zhuǎn)換電路由一片 DAC0832 和兩片 LM324AN 組成。DAC0832 是具有 20 條引腳的雙列直插式 CMOS 器件,它內(nèi)部具有兩級(jí)數(shù)據(jù)寄存器,完成 8 位電流 D/A 轉(zhuǎn)換,故不需外加電路。DAC0832 是電流輸出型,示波器上顯示波形,通常需要電壓信號(hào),電流信號(hào)到電壓信號(hào)的轉(zhuǎn)換可由運(yùn)算放大器 LM324AN 實(shí)現(xiàn),用兩片 LM324AN 可以實(shí)現(xiàn)雙極性輸出。 單片機(jī)向 DAC0832 發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對(duì)各波形進(jìn)行抽樣,然后把各采樣值進(jìn)行編碼,得到的數(shù)字量存入各個(gè)波形表,執(zhí)行程序時(shí)通過查表方法依次取出,經(jīng)過 D/A 轉(zhuǎn)換后輸出就可以得到波形。假如 N 個(gè)點(diǎn)構(gòu)成波形的一個(gè)周期,則 DAC0832 輸出 N 個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,即一個(gè)周期。重復(fù)輸出 N 個(gè)點(diǎn),成為第二個(gè)周期。利用單片機(jī)的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。設(shè)計(jì)中為了實(shí)現(xiàn)模擬電壓的輸出,采用如圖 3.6 所示電路,將 DAC0832 的數(shù)據(jù)輸入端與 AT89C51 的 P0口相連,用來(lái)接收單片機(jī)發(fā)送的數(shù)據(jù)。輸出端利用兩片 LM324AN 實(shí)現(xiàn)波形的輸出,經(jīng)過第一片 LM324AN 功放后,輸出反向電壓;經(jīng)過第二片 LM324AN 一倍功放后,黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 11 頁(yè)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 所示電路圖中可以看出,當(dāng) VREF 接+5V 時(shí),輸出電壓 OUT 的范圍是0~5V;當(dāng)接+10V 時(shí),輸出電壓 OUT 的范圍是 0~10V ;輸入數(shù)字量的變化,將引起模擬量輸出的變化。圖 3.6 D/A 轉(zhuǎn)換電路3.3 數(shù)碼管顯示電路設(shè)計(jì)顯示部分采用 8 位 7 段共陰數(shù)碼管,驅(qū)動(dòng)芯片分別是 74LS48、74LS138,在軟件設(shè)計(jì)時(shí),要根據(jù)芯片的控制邏輯來(lái)寫出顯示程序所需要的顯示數(shù)據(jù)表,所以需要了解這兩個(gè)芯片的真值表,如表 3.3、表 3.4 所示。3.3.1 顯示原理顯示模塊實(shí)現(xiàn)輸出波形參數(shù)的顯示功能。顯示部分用的是 8 位 7 段共陰數(shù)碼管,使用的是動(dòng)態(tài)掃描顯示:74LS48 輸出為段選信號(hào),決定數(shù)碼管顯示的字型碼;74LS138 是位選信號(hào),決定顯示的數(shù)碼管位。在動(dòng)態(tài)掃描時(shí),每一個(gè)瞬間只使一位字符顯示,在此瞬間,段選輸出相應(yīng)字符段選碼,位選則在該顯示位輸出選通電平,以保證該位顯示相應(yīng)字符。如此輪流,使每黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 12 頁(yè)位分時(shí)顯示該位應(yīng)顯示的字符。表 3.3 74LS48 真值表表 3.4 74LS138 真值表 輸入 輸出數(shù)字 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 黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 13 頁(yè)3.3.2 顯示電路在顯示模塊部分,如圖 3.7,通過 74LS138 和 74LS48 實(shí)現(xiàn)對(duì)七段數(shù)碼管的顯示控制。由于選用 8 位 LED,為簡(jiǎn)化硬件電路,本設(shè)計(jì)采用 LED 動(dòng)態(tài)掃描顯示電路。74LS138 能夠?qū)?shù)碼管實(shí)現(xiàn)位選,把 AT89C51 的 P2.4、P2.5 、P2.6 口與 3 線-8 線譯碼器的輸入端相連,將譯碼器的輸出端與 8 位共陰數(shù)碼管的位選端相連,從而實(shí)現(xiàn)數(shù)碼管的位選;74LS48 能夠?qū)?shù)碼管實(shí)現(xiàn)段選,將 AT89C51 的 P2.0、P2.1 、P2.2、P2.3 口與 4-7 譯碼器的輸入端相連,把單片機(jī)輸出的二進(jìn)制數(shù)或者 BCD 碼,作為其輸入,并將轉(zhuǎn)換輸出的數(shù)據(jù)送給數(shù)碼管,作為數(shù)碼管的顯示段選碼。本設(shè)計(jì)中數(shù)碼管顯示的主要參數(shù)有:(1)當(dāng)前波形的數(shù)字代號(hào);(2)當(dāng)前波形的輸出頻率;(3)當(dāng)前輸出波形的峰值。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黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 14 頁(yè)圖 3.7 數(shù)碼管顯示電路3.4 通信接口電路設(shè)計(jì)為實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)系統(tǒng)的數(shù)據(jù)通信與下載,本設(shè)計(jì)中采用 MAX232 實(shí)現(xiàn),如圖 3.8 所示。MAX232 芯片是美信公司專門為電腦的 RS-232 標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v 單電源供電。外部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由 1、2、3、4、5、6 腳和 4 只電容構(gòu)成。功能是產(chǎn)生+12v 和 -12v 兩個(gè)電壓,滿足 RS-232 串口對(duì)電平的要求。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由 7、8、9、10、11、12、13、14 腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中 13 腳(R1IN) 、12 腳(R1OUT) 、11 腳(T1IN) 、14 腳(T1OUT)為第一數(shù)據(jù)通道。8 腳(R2IN) 、9 腳(R2OUT) 、10 腳(T2IN) 、7 腳(T2OUT)為第二數(shù)據(jù)通道。第三部分是供電。15 腳 GND、16 腳 VCC(+5V) 。在圖 3.8 所示的接口電路中,MAX232 的 R1OUT 口接單片機(jī)的 P3.0 RXD(串行輸入口) ,T1IN 口接單片機(jī)的 P3.1TXD(串行輸出口) 。R S232 串 口 通 信 接 線 方 法 采用 三 線 制 。 首 先 , 串 口 傳 輸 數(shù) 據(jù) 只 要 有 接 收 數(shù) 據(jù) 針 腳 和 發(fā) 送 針 腳 就 能 實(shí) 現(xiàn) ; 同 一 個(gè)串 口 的 接 收 腳 和 發(fā) 送 腳 直 接 用 線 相 連 。 TTL/CMOS 數(shù)據(jù)從 T1IN 輸入轉(zhuǎn)換成 RS-232數(shù)據(jù)從 T1OUT 送到電腦 DB9 插頭;DB9 插頭的 RS-232 數(shù)據(jù)從 R1IN 輸入轉(zhuǎn)換成TTL/CMOS 數(shù)據(jù)后從 R1OUT 輸出。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 15 頁(yè)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 電源電路設(shè)計(jì)為了給電路提供穩(wěn)定的電源,本設(shè)計(jì)中采用如圖 3-9 所示電路,由 MC7805 控制的電源電路給各部分電路提供電源。MC7805 為三端正穩(wěn)壓器電路,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過流、過熱和過載保護(hù)電路。帶散熱片時(shí)輸出電流可達(dá) 1A。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。其主要特點(diǎn):(1) 輸出電流可達(dá) 1A; (2)輸出電壓為:最小值為 4.8V,最大值為 5.2V,典型值為5V;(3)短路保護(hù)。由于 MC7805 的輸入端電壓 Vin 要比輸出端電壓 Vout 高 2V 以上,MC7805 在25℃常溫時(shí),當(dāng)需要輸出典型電壓 Vout=+5V,Io=500mA 時(shí),輸入電壓 Vin 必須為+10V,因此圖 3-9 電路圖中 Vin 需接+10V 電壓。本設(shè)計(jì)中由 MC7805 輸出 +5V 電壓,給單片機(jī)、DAC0832 以及 74LS138、74LS48和 MAX232 等芯片提供穩(wěn)定的+5V 直流電壓。將 MC7805 輸入端的電壓接到LM324AN 的 VDD 電源端。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 16 頁(yè)圖 3.9 電源電路3.6 整體硬件電路設(shè)計(jì)根據(jù)硬件總體設(shè)計(jì)的方框圖,設(shè)計(jì)出實(shí)際電路圖如附錄 A 所示,電路中利用AT89C51 單片機(jī)系統(tǒng)產(chǎn)生各種波形的控制信號(hào);通過 DAC0832 轉(zhuǎn)換電路,實(shí)現(xiàn)對(duì)數(shù)字信號(hào)轉(zhuǎn)換成模擬的電壓信號(hào)輸出;并通過數(shù)碼管顯示電路,將某一時(shí)刻輸出的波形數(shù)字代號(hào)、頻率以及該波形的峰值顯示出來(lái)。4 軟件設(shè)計(jì)4.1 系統(tǒng)主程序設(shè)計(jì)主程序的功能是在打開不同的開關(guān) 1、2、3、4 時(shí),D/A 轉(zhuǎn)換模塊分別輸出方波、鋸齒波、三角波、正弦波四種波形;顯示模塊顯示代表各種波形的數(shù)字、所選波形的頻率和幅度,要求在同一時(shí)間只限打開一個(gè)開關(guān)。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 17 頁(yè)圖 4.1 主程序流程圖由于顯示程序和正弦波程序采用的是查表方式,所以程序開始后,先分別定義顯示數(shù)據(jù)和正弦波的采樣數(shù)據(jù)表,這些都是轉(zhuǎn)換過的數(shù)字量,分別送給顯示模塊和 D/A模塊。鑒于四個(gè)功能鍵分別控制著數(shù)模轉(zhuǎn)換輸出波形的類型和顯示部分顯示不同的參數(shù),接下來(lái)開始判斷是哪個(gè)功能鍵被打開,這個(gè)過程靠查詢 P1 口的狀態(tài)來(lái)完成:若P1=0Xfe,表示開關(guān) 1 被打開,就調(diào)用方波子程序,由于程序的主函數(shù)是一個(gè)循環(huán)程序,只要相應(yīng)的開關(guān)被打開,就會(huì)循環(huán)的調(diào)用相應(yīng)的波形程序,反之則判斷 P1=0Xfd?是則表示開關(guān) 2 被打開,循環(huán)執(zhí)行鋸齒波子程序,否則繼續(xù)判斷 P1=0Xfb?是則表示開關(guān) 3 被打開,循環(huán)執(zhí)行三角波子程序,否則接著判斷 P1=0Xf7?是則開關(guān) 4 被打開,循環(huán)執(zhí)行正弦波子程序,否則判斷 P1=0Xff?是則說明沒有開關(guān)打開,將模擬輸出變?yōu)?,顯示部分不顯示。由于使用的是查詢方式對(duì) P1 口進(jìn)行監(jiān)控,由于硬件電路的連接,不能給開關(guān)設(shè)置不同的優(yōu)先級(jí),所以每一次只允許按下一個(gè)開關(guān)。程序流程圖如圖 4.1所示,源程序如附錄 II 所示。顯示部分一共選擇五位來(lái)進(jìn)行表示,8 段共陰數(shù)碼管的第一位用來(lái)表示信號(hào)源輸出波形的類型,有方波、鋸齒波、三角波、正弦波,數(shù)字 1 表示方波,數(shù)字 2 表示鋸齒黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 18 頁(yè)波,數(shù)字 3 表示三角波,數(shù)字 4 表示正弦波;第四位、第五位、第六位組成一個(gè)數(shù)字,表示輸出波形的頻率,單位是赫茲;第八位表示波形的峰值,單位是伏特。波形類型的轉(zhuǎn)換受撥碼開關(guān)的控制,不同的開關(guān)打開后輸出不同的波形。分別把開關(guān)編號(hào),開關(guān) 1 控制方波輸出,開關(guān) 2 控制鋸齒波輸出,開關(guān) 3 控制三角波輸出,開關(guān) 4 控制正弦波輸出。4.2 方波子程序設(shè)計(jì)4.2.1 方波程序總流程方波子程序分為兩個(gè)部分:第一部分是方波輸出,由數(shù)模轉(zhuǎn)換模塊完成波形的輸出;第二部分是波形類型,波形頻率和幅值的顯示部分,由顯示模塊完成,流程圖如圖 4.2 所示,源程序如附錄 B 所示。4.2.2 方波產(chǎn)生程序設(shè)計(jì)方波產(chǎn)生的原理:在方波為低電平時(shí),給單片機(jī)接數(shù)模轉(zhuǎn)換模塊的端口賦值 0,通過 D/A 轉(zhuǎn)換模塊輸出相應(yīng)的模擬電壓,延遲一定的時(shí)間,這個(gè)延時(shí)時(shí)間就是方波的半個(gè)周期;然后在方波為高電平時(shí),給單片機(jī)接數(shù)模轉(zhuǎn)換模塊的端口賦值 0xff,通過D/A 轉(zhuǎn)換模塊輸出相應(yīng)的模擬電壓,也延時(shí)半個(gè)周期的時(shí)間,不斷的反復(fù)這樣執(zhí)行,就得到方波波形。開始后先設(shè)置循環(huán)次數(shù),也就是方波連續(xù)輸出的周期數(shù),然后給 P0 口置 0,調(diào)用延時(shí)程序,完成方波半個(gè)周期的低電平,然后給 P0 口置 1,調(diào)用延時(shí)程序,完成方波半個(gè)周期的高電平,判斷是否輸出了 14 個(gè)周期,否則繼續(xù)執(zhí)行程序,是則本段程序已經(jīng)執(zhí)行完畢,開始執(zhí)行下一段程序,流程如圖 4.3 所示,源程序如附錄 B 所示。黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 19 頁(yè)調(diào)用方波子程序調(diào)用顯示子程序結(jié)束設(shè)置循環(huán)次數(shù)P 0 口置 0調(diào)用延時(shí)子程序P 0 口置 1調(diào)用延時(shí)子程序循環(huán) 1 4 次 ?結(jié)束YN設(shè)置循環(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,黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 37 頁(yè)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++)黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 41 頁(yè){P0=table2[i];for(cnt=0;cnt<5;cnt++){P2=DIS_SEG7D[cnt];delay(10);}// delay(10);}}黃 河 科 技 學(xué) 院 畢 業(yè) 設(shè) 計(jì) 說 明 書 第 42 頁(yè)
收藏