基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)論文說(shuō)明_第1頁(yè)
基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)論文說(shuō)明_第2頁(yè)
基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)論文說(shuō)明_第3頁(yè)
基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)論文說(shuō)明_第4頁(yè)
基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)論文說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、. . . . Institute of Technology. EastChinaJiaotongUniversity 畢 業(yè) 設(shè) 計(jì)(論 文)Graduation Design (Thesis)題 目 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì) 畢業(yè)論文(設(shè)計(jì))原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計(jì))是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作與取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的容外,本論文(設(shè)計(jì))不包含其他個(gè)人已經(jīng)發(fā)表或撰寫過(guò)的研究成果。對(duì)本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說(shuō)明并表示意。 作者簽名: 日期:畢業(yè)論文(設(shè)計(jì))授權(quán)使用說(shuō)明本論文(設(shè)計(jì))作者完全了解*學(xué)院有關(guān)保

2、留、使用畢業(yè)論文(設(shè)計(jì))的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計(jì))并向相關(guān)部門送交論文(設(shè)計(jì))的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計(jì))用于非贏利目的的少量復(fù)制并允許論文(設(shè)計(jì))進(jìn)入學(xué)校圖書館被查閱。學(xué)校可以公布論文(設(shè)計(jì))的全部或部分容。的論文(設(shè)計(jì))在解密后適用本規(guī)定。  作者簽名: 指導(dǎo)教師簽名:日期: 日期:注意事項(xiàng)1.設(shè)計(jì)(論文)的容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(yè)(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致9)附錄(對(duì)論文支持必要時(shí))2.論文字?jǐn)?shù)要求:理工類

3、設(shè)計(jì)(論文)正文字?jǐn)?shù)不少于1萬(wàn)字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬(wàn)字。3.附件包括:任務(wù)書、開(kāi)題報(bào)告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語(yǔ)言流暢,書寫字跡工整,打印字體與大小符合要求,無(wú)錯(cuò)別字,不準(zhǔn)請(qǐng)他人代寫2)工程設(shè)計(jì)類題目的圖紙,要求部分用尺規(guī)繪制,部分用計(jì)算機(jī)繪制,所有圖紙應(yīng)符合國(guó)家技術(shù)標(biāo)準(zhǔn)規(guī)。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁(yè)以上的雙面打印4)圖表應(yīng)繪制于無(wú)格子的頁(yè)面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(jì)(論文)2)附件:按照任務(wù)書、開(kāi)

4、題報(bào)告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它目錄摘 要I第1章 緒 論11.1 本課題研究背景11.2 函數(shù)發(fā)生器分類21.3 研究容3第2章 整體設(shè)計(jì)方案42.1 方案的提出和整論42.2 設(shè)計(jì)原理5第3章 硬件設(shè)計(jì)74.1 硬件整體設(shè)計(jì)74.2 復(fù)位電路84.3 時(shí)鐘電路84.4 鍵盤電路94.5 D/A轉(zhuǎn)換模塊114.5.1 DAC0832轉(zhuǎn)換器簡(jiǎn)介114.6 顯示電路設(shè)計(jì)13第4章 軟件設(shè)計(jì)144.1 設(shè)計(jì)構(gòu)思144.2 主程序流程圖144.3 波形產(chǎn)生子程序184.4 中斷服務(wù)子程序204.5 按鍵掃描子程序214.6 顯示子程序22第5章 仿真驗(yàn)證235.1 整體設(shè)計(jì)235

5、.2 功能實(shí)現(xiàn)235.3 本章小結(jié)26結(jié)論27參考文獻(xiàn)2929 / 37摘 要 信號(hào)發(fā)生器是學(xué)習(xí)、科研領(lǐng)域中一種十分常用的信號(hào)源,廣泛地應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。目前使用的信號(hào)發(fā)生器大部分是函數(shù)信號(hào)發(fā)生器,且特殊波形發(fā)生器的價(jià)格昂貴。為此,為節(jié)省成本,本文利用80C51單片機(jī)構(gòu)成信號(hào)發(fā)生器,可產(chǎn)生三角波、方波、正弦波等多種特殊波形,波形的頻率可用程序控制改變。 本次設(shè)計(jì)利用80C51設(shè)計(jì)一個(gè)函數(shù)信號(hào)發(fā)生器,詳細(xì)說(shuō)明了其實(shí)現(xiàn)過(guò)程。本系統(tǒng)使用匯編語(yǔ)言編寫,用80C51單片機(jī)來(lái)實(shí)現(xiàn)各模塊功能,使用PROTEUS進(jìn)行仿真。本文描述使用匯編語(yǔ)言和PROTEUS仿真實(shí)現(xiàn)函數(shù)信號(hào)發(fā)生器的

6、基本功能,實(shí)現(xiàn)了方波、三角波、正弦波、鋸齒波,頻率可調(diào)為10HZ、100HZ、500HZ、1000HZ。本文給出了源程序、各模塊的連接圖以與仿真圖,并做出了詳細(xì)的分析。經(jīng)測(cè)試該設(shè)計(jì)方案線路優(yōu)化,結(jié)構(gòu)緊湊,性能優(yōu)越,滿足設(shè)計(jì)要求。關(guān)鍵詞:信號(hào)發(fā)生器;80C51;PROTEUS;頻率可調(diào);單片機(jī)AbstractSignal generators are learning, research in the field of a very common source, widely used in the field of electronic circuits, automatic control

7、system and teaching experiments. Most of the current signal generator is a function of the signal generator, and the price is expensive special waveform generator. For this reason, in order to save costs, we use 80C51 microcontroller constitute signal generator can generate triangle wave, square wav

8、e, sine wave and other special frequency can be controlled by changing the waveform. The design uses 80C51 design a function generator, a detailed description of its implementation process. The system is written in assembly language, using 80C51 microcontroller to achieve the function of each module

9、, using the PROTEUS simulation.This paper describes the use of assembly language and PROTEUS simulation function of the basic functions of the signal generator to achieve a square wave, triangle wave, sine, sawtooth, adjustable frequency is 10HZ, 100HZ, 500HZ, 1000HZ. In this paper, the source, conn

10、ection diagram and simulation diagram of each module, and make a detailed analysis. . The line has been tested and optimized design, compact structure, superior performance to meet the design requirements.Keywords: Signal generator; 80C51; PROTEUS; adjustable frequency; MCU第1章 緒 論1.1 本課題研究背景 隨著電子測(cè)量與

11、其他部門對(duì)各類信號(hào)發(fā)生器的廣泛需求與電子技術(shù)的迅速發(fā)展,促使信號(hào)發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號(hào)發(fā)生器向著自動(dòng)化、智能化方向發(fā)展?,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è)過(guò)程控制、教學(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é)研究中,鋸齒波和正

12、弦波、矩形波信號(hào)是常用的基本測(cè)試信號(hào)。譬如在示波器、電視機(jī)等儀器中,為了使電子按照一定規(guī)律運(yùn)動(dòng),以利用熒光屏顯示圖像,常用到鋸齒波產(chǎn)生器作為時(shí)基電路。信號(hào)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類與程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號(hào)發(fā)生器成為可能1。單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、存、部和

13、外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)是所有微處理機(jī)中性價(jià)比最高的一種,隨著種類的不斷全面,功能不斷完善,其應(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(shuō),微機(jī)測(cè)控技術(shù)的應(yīng)用已滲透到國(guó)民經(jīng)濟(jì)的各個(gè)部門,微機(jī)測(cè)控技術(shù)的應(yīng)用是產(chǎn)

14、品提高檔次和推出新的有效途徑2。便攜式和智能化越來(lái)越成為儀器的基本要求,對(duì)傳統(tǒng)儀器的數(shù)字化,智能化,集成化也就明顯得尤為重要。平時(shí)常用信號(hào)源產(chǎn)生正弦波,方波,三角波等常見(jià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ī)交互界面,使用戶能夠通過(guò)手動(dòng)的設(shè)定,設(shè)置所需波形。1.2 函數(shù)發(fā)生器分類函數(shù)發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。函數(shù)發(fā)生器亦稱信號(hào)發(fā)生器,主要作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。按照頻率圍分類可以分為:

15、超低頻信號(hào)發(fā)生器、低頻信號(hào)發(fā)生器、視頻信號(hào)發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號(hào)發(fā)生器。按照輸出波形分類可以分為:正弦信號(hào)發(fā)生器和非正弦信號(hào)發(fā)生器,非正弦信號(hào)發(fā)生器又包括:脈沖信號(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ù)等在一定圍連續(xù)可調(diào),并且讀數(shù)準(zhǔn)確、穩(wěn)定、屏蔽良好的中、高檔信號(hào)發(fā)生器3。函數(shù)發(fā)生器作為一種常見(jiàn)的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的一般可

16、以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過(guò)程控制,生物醫(yī)學(xué),地震模擬機(jī)械振動(dòng)等領(lǐng)域常常要用到低頻信號(hào)源。而由硬件電路構(gòu)成的低頻信號(hào)其性能難以令人滿意,而且由于低頻信號(hào)源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會(huì)大大增加。利用單片機(jī)采用程序設(shè)計(jì)方法來(lái)產(chǎn)生低頻信號(hào),其頻率底線很低。具有線路相對(duì)簡(jiǎn)單,結(jié)構(gòu)緊湊,價(jià)格低廉,頻率

17、穩(wěn)定度高,抗干擾能力強(qiáng),用途廣泛等優(yōu)點(diǎn),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對(duì)電路稍加修改,調(diào)整程序,即可完成功能升級(jí)。1.3 研究容本次設(shè)計(jì)是基于80C51單片機(jī)信號(hào)發(fā)生器設(shè)計(jì),信號(hào)發(fā)生器可以產(chǎn)生方波、三角波、正弦波、3種波形,通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),能產(chǎn)10HZ、100HZ、500HZ、1000HZ的波形。在程序運(yùn)行中,當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出4。 第2章 整體設(shè)計(jì)方案2.1

18、方案的提出和整論常用的函數(shù)信號(hào)發(fā)生器的實(shí)現(xiàn)方法有如下幾種:1.采用分立元件實(shí)現(xiàn)信號(hào)的輸出,主要是通過(guò)模擬電路實(shí)現(xiàn)正弦信號(hào)的輸出,在通過(guò)各種積分微分電路實(shí)現(xiàn)各種不同波形的輸出。但是這種方法頻率和幅值的調(diào)整比較困難,而且模擬電路受外部因素的影響較大,輸出的波形難以控制。2.采用集成信號(hào)發(fā)生芯片MAX038輸出各種波形,并通過(guò)外接電阻值改變實(shí)現(xiàn)對(duì)幅值和頻率的調(diào)整。這種方法實(shí)現(xiàn)起來(lái)比較容易,但是頻率和幅值的調(diào)節(jié)比較困難5。圖2-1 基于MAX038的信號(hào)發(fā)生器原理圖3.采用DAC0832通過(guò)查表得方式輸出需要的波形,通過(guò)單片機(jī)定時(shí)向DAC轉(zhuǎn)化器發(fā)送轉(zhuǎn)換數(shù)據(jù),實(shí)現(xiàn)不同的幅值和頻率的輸出。這種方法能夠?qū)崿F(xiàn)

19、各種需要的波形的輸出,成本也不高,只是在擴(kuò)展外設(shè)的時(shí)候浪費(fèi)了大量的接口,以后的系統(tǒng)擴(kuò)展可能會(huì)有影響6。 4.采用DDS頻率合成器,能輸出各種波形,而且能夠輕松調(diào)節(jié)幅值和頻率。DDS同DSP(數(shù)字信號(hào)處理)一樣,是一項(xiàng)關(guān)鍵的數(shù)字化技術(shù)。DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),廣泛使用在電信與電子儀器領(lǐng)域,是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計(jì)算器三個(gè)部分。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸

20、入的頻率控制碼;而相位累加器根據(jù)DDS頻率控制碼在每個(gè)時(shí)鐘周期進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對(duì)該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過(guò)查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過(guò)高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號(hào)7。圖2-2 DDS的原理框圖鑒于方案一的信號(hào)頻率不夠穩(wěn)定和方案二的電路復(fù)雜,頻率覆蓋系數(shù)難以達(dá)標(biāo)等缺點(diǎn),所以決定采用方案三的設(shè)計(jì)方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來(lái)實(shí)現(xiàn),使得信號(hào)頻率的穩(wěn)定性和精度的準(zhǔn)確性得以保證,而且它使用的幾種元器件都是常用元器件,容易得到,且價(jià)格便宜,使得硬件開(kāi)銷達(dá)最省8。2.2 設(shè)計(jì)原理 數(shù)字

21、信號(hào)可以通過(guò)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),因此可通過(guò)產(chǎn)生數(shù)字信號(hào)再轉(zhuǎn)換成模擬信號(hào)的方法來(lái)獲得所需要的波形。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-3所示9。圖2-2 整體設(shè)計(jì)方案80C51是整個(gè)波形發(fā)生器的核心部分,通過(guò)程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號(hào),并從鍵盤接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)幅

22、度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)經(jīng)過(guò)接口電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號(hào)也就是所需要輸出波形10。第3章 硬件設(shè)計(jì)硬件原理硬件電路設(shè)計(jì)決定一個(gè)系統(tǒng)功能,是設(shè)計(jì)基礎(chǔ)所在,而一般設(shè)計(jì)目標(biāo):可靠,簡(jiǎn)潔,高效,優(yōu)化,好硬件電路可給程序編寫帶來(lái)極大優(yōu)勢(shì),同時(shí)使可以很好提高該信號(hào)設(shè)計(jì)精度和靈敏度,使整個(gè)系統(tǒng)工作協(xié)調(diào)有序。以80C51單片機(jī)芯片作為核心處理器,編程實(shí)現(xiàn)各種不同類型信號(hào),最后通過(guò)DA轉(zhuǎn)換輸出11。4.1 硬件整體設(shè)計(jì)由頻率控制模塊、幅度控制模塊、鍵盤模塊和液晶顯示模塊組成整個(gè)系統(tǒng)。用單片機(jī)控制鍵盤和液晶顯示,液晶屏顯示四個(gè)參數(shù):頻率、幅值、類型和不同頻率圍中頻率的步進(jìn)。用單片機(jī)控制兩個(gè)數(shù)字電位器中的抽

23、頭位置來(lái)實(shí)現(xiàn)改變輸出的頻率和幅度的大小,運(yùn)用數(shù)字電位器X9C103和ICL8038共同設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器。該電路能夠產(chǎn)生穩(wěn)定的正弦波信號(hào)、三角波信號(hào)、頻率與占比可調(diào)節(jié)的矩形波信號(hào),其輸出頻率能在1Hz-IMHz圍連續(xù)調(diào)整,達(dá)到調(diào)試簡(jiǎn)單、性能穩(wěn)定、使用方便等優(yōu)點(diǎn)。其工作系統(tǒng)框圖如下圖4-1所示。4-1 整體硬件電路4.2 復(fù)位電路無(wú)論哪種類型的單片機(jī),這些器件總要涉與到單片機(jī)的復(fù)位電路以與復(fù)位電路的設(shè)計(jì)。、單片機(jī)上電復(fù)位電路設(shè)計(jì)好與壞,將直接影響整個(gè)微機(jī)控制系統(tǒng)工作可靠性與穩(wěn)定性。很多用戶在設(shè)計(jì)完單片機(jī)控制系統(tǒng),實(shí)驗(yàn)室可能調(diào)試成功后,但是在現(xiàn)場(chǎng)卻出現(xiàn)“死機(jī)”和“程序跑飛”等現(xiàn)象產(chǎn)生,導(dǎo)致這些最

24、主要原因可能是復(fù)位電路設(shè)計(jì)不當(dāng)造成,因此設(shè)計(jì)一個(gè)很好復(fù)位電路對(duì)于單片機(jī)控制系統(tǒng)運(yùn)行來(lái)說(shuō)非常重要。復(fù)位電路連接有三種連接方式,列舉一種,如圖4-2所示:4-2 復(fù)位電路設(shè)計(jì)4.3 時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:部振蕩和外部振蕩方式。在引腳XTAL1 和XTAL2 外接晶體振蕩器,構(gòu)成了部振蕩方式。由于單片機(jī)部有一個(gè)高增益的反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動(dòng)時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ、24MHZ。本設(shè)計(jì)中時(shí)鐘電路圖如圖4-3,選擇了12MHZ和晶振分別接引腳XTAL1 和XTAL2,電容C1,C2 均選擇為30pF,對(duì)振蕩器的頻率有穩(wěn)定作用,當(dāng)

25、頻率較大時(shí),正弦波、方波、三角波與鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微妙,故延時(shí)時(shí)間還加上指令時(shí)間才能獲得較大的頻率波形12。4-3 時(shí)鐘電路設(shè)計(jì)4.4 鍵盤電路 通常單片機(jī)外部擴(kuò)展鍵盤的方式有獨(dú)立式鍵盤,矩陣鍵盤以與專門的鍵盤電路。獨(dú)立式鍵盤就是一個(gè)I/O口擴(kuò)展一個(gè)開(kāi)關(guān),這種方式程序編寫比較容易,只需要檢測(cè)單片機(jī)I/O某一時(shí)刻是否為低電平就能檢測(cè)出其的按鍵輸入情況,而且按鍵和I/O口一一對(duì)應(yīng),所以能夠輕松識(shí)別按鍵的值,如圖4-3所示為獨(dú)立按鍵接口電路。本設(shè)計(jì)中采用的是3個(gè)獨(dú)立的功能按鍵。S1用來(lái)切換現(xiàn)在產(chǎn)生的波形。當(dāng)沒(méi)有按下S1時(shí)信號(hào)發(fā)生器產(chǎn)生方波信號(hào)。第一次按下S1時(shí),將切換成三角波信號(hào)。第二次

26、按下S1時(shí),將切換產(chǎn)生正弦波信號(hào)。第三次按下S1時(shí),又產(chǎn)生方波信號(hào)。這樣一直循環(huán)。S2用來(lái)調(diào)節(jié)輸出的函數(shù)信號(hào)的頻率。當(dāng)沒(méi)有按下S2時(shí),產(chǎn)生的函數(shù)信號(hào)最高。當(dāng)按下S2時(shí),波形頻率降低,同時(shí)還要對(duì)應(yīng)向LED顯示緩沖區(qū)給定一個(gè)頻率值提供當(dāng)前頻率顯示所需要的數(shù)據(jù)。S2按7次一個(gè)循環(huán)。當(dāng)?shù)?次按下時(shí)恢復(fù)到最高頻率輸出。S3用來(lái)啟動(dòng)對(duì)輸出的函數(shù)信號(hào)電壓值測(cè)量。當(dāng)S3沒(méi)有按下時(shí),單片機(jī)只向DAC0832送波形數(shù)據(jù)表和顯示當(dāng)前波形的頻率。按下S3后,單片機(jī)除了向DAC0832送波形數(shù)據(jù)表外,還要每隔一小段時(shí)間對(duì)讀取ADC0809轉(zhuǎn)換電壓值,并且換算出來(lái),送給LED顯示當(dāng)前電壓。此時(shí)不再顯示當(dāng)前波形頻率13。4

27、-4 獨(dú)立式鍵盤 矩陣鍵盤相比獨(dú)立式鍵盤其擴(kuò)充的量大大增加,例如常見(jiàn)的4*4矩陣鍵盤占用的I/O口為4+4=8個(gè),當(dāng)需要擴(kuò)充為20鍵輸入時(shí)只需要4+5=9個(gè)I/O口,而采用獨(dú)立式鍵盤的時(shí)候要分別用掉16個(gè)I/O口和20個(gè)I/O口,由于單片機(jī)的I/O口數(shù)量有限,很難將大量的I/O口用于,顯然矩陣鍵盤能夠大大的減少系統(tǒng)I/O口的使用,矩陣鍵盤的缺點(diǎn)是編寫程序比較麻煩,需要上拉電阻系統(tǒng)的連線和元器件都增加。當(dāng)采用行掃描方式讀取鍵值時(shí),需要4個(gè)上拉電阻,提供需要的高電平,當(dāng)采用線反轉(zhuǎn)法式需要采用8個(gè)上拉電阻,顯然整個(gè)電路的接線都將變得更加復(fù)雜。矩陣式按鍵鍵盤中,分為行線和列線兩種,行線和列線與矩陣按鍵

28、開(kāi)關(guān)的兩端相連接,其中行線是連接到5V電源上。當(dāng)沒(méi)有按鍵按下時(shí),行線會(huì)處于高電平狀態(tài);當(dāng)有按鍵動(dòng)作時(shí),行線和列線將導(dǎo)通。這是矩陣式按鍵來(lái)識(shí)別按鍵是否按下的關(guān)鍵策略14。4-5 矩陣式鍵盤4.5 D/A轉(zhuǎn)換模塊4.5.1 DAC0832轉(zhuǎn)換器簡(jiǎn)介DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時(shí)間為1s,滿量程誤差為±1LSB,參考電壓為(+10-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。從圖3.7中可見(jiàn),在DAC0832中有兩級(jí)鎖存器,第一級(jí)鎖存器稱為輸入寄存器,它的允許鎖存信號(hào)為ILE,

29、第二級(jí)鎖存器稱為DAC寄存器,它的鎖存信號(hào)也稱為通道控制信號(hào)XFER。圖4-6 DAC0832引腳圖圖4-6中,當(dāng)ILE為高電平,片選信號(hào)CS 和寫信號(hào)WR1為低電平時(shí),輸入寄存器控制信號(hào)為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)WR1由低電平變高時(shí),控制信號(hào)成為低電平,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。對(duì)第二級(jí)鎖存來(lái)說(shuō),傳送控制信號(hào)XFER 和寫信號(hào)WR2同時(shí)為低電平時(shí),二級(jí)鎖存控制信號(hào)為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)WR2由低電平變高時(shí),控制信號(hào)變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DAC寄存器中。

30、 DAC0832各引腳編號(hào)與其作用: 1.1號(hào)CS引腳:片選信號(hào)輸入線,低電平有效; 2.2號(hào)WR1引腳:為輸入寄存器的寫選通信號(hào); 3.3號(hào)AGND引腳:模擬地,模擬信號(hào)和基準(zhǔn)電源的參考地; 4.4-7,13-16號(hào)D0-D7引腳:數(shù)據(jù)輸入線,TLL電平; 5.8號(hào)V ref引腳:基準(zhǔn)電壓輸入(-10V+10V); 6.9號(hào)RFB引腳:反饋信號(hào)輸入線,芯片部有反饋電阻; 7.10號(hào)DGND引腳:數(shù)字地; 8.11號(hào)IOUT1引腳:電流輸出線,當(dāng)輸入全為1時(shí),IOUT1最大; 9.12號(hào)IOUT2引腳:電流輸出線,其值與IOUT1為一常數(shù); 10.17號(hào)XFRE引腳:數(shù)據(jù)傳送控制信號(hào)輸入線,低

31、電平有效; 11.18號(hào)WR2引腳:為DAC寄存器寫選通輸入線; 12.19號(hào)ILE引腳:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效; 32.0號(hào)V cc引腳:電源輸入線(+5V+15V)Vref。本次設(shè)計(jì)選擇的D/A轉(zhuǎn)化器是DAC0832,是一款8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(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)成。AT89C51單片機(jī)控制兩片DAC0832的原理如圖4-7所示。4-7 單片機(jī)控制DAC0832的D/A轉(zhuǎn)換因?yàn)锳T89C51單片

32、機(jī)自身便有一個(gè)64K的程序存儲(chǔ)器,所以不用擴(kuò)展外加程序存儲(chǔ)器。由單片機(jī)編程即可由單片機(jī)輸出所需要信號(hào)的數(shù)字量,再由D/A轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)化為模擬電流輸出,通過(guò)運(yùn)放轉(zhuǎn)化為模擬電壓輸出。D/A數(shù)模轉(zhuǎn)換器的最大輸出電壓是由其輸入的基準(zhǔn)電壓來(lái)控制的,所以只要能控制D/A的基準(zhǔn)電壓便可以控制輸出幅度,實(shí)現(xiàn)幅度可調(diào)。所以設(shè)計(jì)用兩片DAC0832來(lái)輸出信號(hào),第一片D/A用來(lái)輸出信號(hào),第二片D/A用來(lái)控制壓。其中用P0口作為兩片D/A的數(shù)據(jù)總線,P2口的P2.0和P2.1口用來(lái)控制兩片D/A的選通15。本文選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器。DAC0832。DAC0832主要由8

33、位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以與輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。4.6 顯示電路設(shè)計(jì)顯示電路是用來(lái)顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽(yáng)極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。 本次設(shè)計(jì)要求對(duì)輸出波形的頻率,幅值和波形進(jìn)行輸出,所以要擴(kuò)展顯示模塊,常用的顯示模塊LCD有7端數(shù)碼管,LCD1602和1

34、2864等液晶顯示屏。為了降低設(shè)計(jì)的成本和擴(kuò)展的難度,本次設(shè)計(jì)選擇使用7段數(shù)碼管。LED顯示器工作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時(shí)間少,顯示便于監(jiān)測(cè)和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。 動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯

35、示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的16。圖4-8 顯示器第4章 軟件設(shè)計(jì)4.1 設(shè)計(jì)構(gòu)思幅度控制:由于D/A數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準(zhǔn)電壓來(lái)控制,所以控制第二片D/A數(shù)模轉(zhuǎn)換器輸出給第一片D/A數(shù)模轉(zhuǎn)換器的電壓值就可控制信號(hào)幅度。因此,送入第二片的值是幾個(gè)固定的值。由于DAC0832部具有鎖存器,所以只需向第二片D/A送值一次,直到下一次改變信號(hào)幅度。頻率控制:?jiǎn)纹瑱C(jī)部數(shù)據(jù)只有0、1之分,所產(chǎn)生的信號(hào)也都是離散信號(hào)。為了能夠讓單片機(jī)輸出所需的數(shù)字信號(hào),我們采用對(duì)信號(hào)采樣、量化的方法來(lái)實(shí)現(xiàn)由單片機(jī)產(chǎn)生所需信號(hào)。在本設(shè)計(jì)中,對(duì)信號(hào)的四分之一

36、周期采樣19個(gè)幅度值,通過(guò)反復(fù)查表來(lái)輸出幅度值,而整個(gè)信號(hào)是通過(guò)正查表和逆向查表來(lái)實(shí)現(xiàn)的。采樣的點(diǎn)越密,信號(hào)失真度也就越小。兩次采樣點(diǎn)的輸出時(shí)間間隔是由定時(shí)、計(jì)數(shù)器來(lái)控制的,因此,通過(guò)控制不同的計(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ī)編程來(lái)計(jì)算計(jì)數(shù)初值,所以本設(shè)計(jì)中將各頻率的計(jì)數(shù)初值算出,讓單片機(jī)按控制命令來(lái)查表控制頻率。正弦波和三角波的頻率控制方法都與上述方法一樣,而方波的頻率控制是半周期

37、計(jì)數(shù),經(jīng)過(guò)半周期只需改變輸出為最大或最小電平即可17。4.2 主程序流程圖主程序的流程圖如圖4-1所示,在程序開(kāi)始運(yùn)行之后,首先是對(duì)程序進(jìn)行初始化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過(guò)顯示器顯示出來(lái),不符則返回。在中斷結(jié)束后,還要來(lái)判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。本文中子程序的調(diào)用是通過(guò)按鍵的選擇來(lái)實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動(dòng)計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過(guò)轉(zhuǎn)換輸出相應(yīng)的電壓,從而形成所需的各種波形。在程序開(kāi)始運(yùn)行之后,首先是對(duì)8255A進(jìn)行初始化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù)

38、,并通過(guò)顯示器顯示。4-1 主程序設(shè)計(jì)下面說(shuō)明主程序流程圖的程序?qū)崿F(xiàn): 1.開(kāi)始:ORG 0000H 程序開(kāi)始執(zhí)行,首先覺(jué)得跳轉(zhuǎn)到主程序AJM MAINORG 000BH 定時(shí)器0中斷入口地址,跳轉(zhuǎn)到中斷服務(wù)程序LJMP TCOORG 0030H2.8255A初始化:MOV DPTR,#7F00H 指向8155命令字端口地址MOV A,#06H 設(shè)置A口為輸入,B口、C口為輸出MOVX DPTR,A 送命令字3.判定信號(hào)頻率:MOV DPTR,#7F01H 指向A口地址MOVX A,DPTR 讀入A口的開(kāi)關(guān)數(shù)據(jù)JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出10Hz信號(hào)JNB A

39、CC.5,K100H 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出100Hz信號(hào)JNB ACC.6,K500H 判斷是否“6”號(hào)鍵,若是則轉(zhuǎn)輸出500Hz信號(hào)JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出1KHz信號(hào)AJMP MAIN 無(wú)鍵按下則返回等待4.根據(jù)頻率值置新的時(shí)間常數(shù),以10HZ為例:K10H:MOV 30H,#00H 顯示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMOD,#00HMOV TL0,#15HMOV TH0,#9EHAJMP PD5.顯示

40、頻率值,以10HZ為例K10H:MOV 30H,#00H 顯示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序6.顯示子程序:LED1: MOV R3,#06H 設(shè)置6個(gè)LED顯示MOV R2,#01H 選通第一位LED數(shù)據(jù)MOV R1,#30H 送顯示緩沖區(qū)首址GN1:MOV DPTR,#7F03H 指向C口地址MOV A,R2 位選通數(shù)據(jù)送AMOVX DPTR,A 位選通數(shù)據(jù)送C口RL A 選通下一位MOV R2,A 位選通數(shù)據(jù)送R2中保存 MOV A, R1 取鍵值MOV D

41、PTR,#TAB 送LED顯示軟件譯碼表首址MOVC A,A+DPTR 查表求出鍵值顯示的段碼MOV DPTR,#7F02H 指向B口地址MOV DPTR,A 段碼送顯示LCALL LOOP1 調(diào)延時(shí)子程序INC R1 指向下一位顯示緩沖區(qū)地址DJNZ R3,GN1 循環(huán)顯示6個(gè)LEDRET7.中斷設(shè)置開(kāi)中斷:GN: SETB TR0 啟動(dòng)定時(shí)器SETB ET0 開(kāi)定時(shí)器0中斷SETB EA 開(kāi)總中斷8.判定波形:PD:JNB ACC.0,KE0 判斷是否“0”號(hào)鍵按下,若是則轉(zhuǎn)方波輸出JNB ACC.1,KE1 判斷是否“1”號(hào)鍵按下,若是則轉(zhuǎn)正弦方波輸出JNB ACC.2,KE2 判斷是否

42、“2”號(hào)鍵按下,若是則轉(zhuǎn)三角波輸出JNB ACC.3,KE3 判斷是否“3”號(hào)鍵按下,若是則轉(zhuǎn)鋸4.3 波形產(chǎn)生子程序圖4-2為各波形子程序的流程圖。如圖所示,在中斷服務(wù)子程序開(kāi)始后,通過(guò)判斷來(lái)確定各種波形的輸出,當(dāng)判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛?,如此反?fù)。如果選擇的是方波,則用查表的方法求出相應(yīng)的數(shù)據(jù),并通過(guò)D/A轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),形成所需波形信號(hào)18。4-2 波形產(chǎn)生子程序設(shè)計(jì)下面說(shuō)明子程序流程圖的實(shí)現(xiàn):1.中斷服務(wù)程序開(kāi)始:LJMP TCO 絕對(duì)跳轉(zhuǎn)到中斷服務(wù)程序2.判斷是否方波與處理方法:TCO:CJNE R7,#00H,TC1 判斷是否是方波,不是則跳轉(zhuǎn)MOV

43、DPTR,#TAB1 送方波數(shù)據(jù)表首址MOV A,R6 發(fā)送數(shù)據(jù)寄存器MOVC A,A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)輸出MOV A,R6INC A MOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL13.判斷是夠是正弦波與處理方法:TC1:CJNE R7,#01H,TC2 發(fā)送正弦波程序MOV DPTR,#TAB2 送正弦波數(shù)據(jù)表首址MOV A,R6MOVC A, A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)輸出M

44、OV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL14.判斷是否是三角波與處理方法:TC2:CJNE R7,#02H,QL1 發(fā)送三角波程序MOV DPTR,#TAB3 送三角波數(shù)據(jù)表首址MOV A,R6MOVC A,A+DPTR MOV DPTR,#0AFFFH 指向DAC0832(2)MOVX DPTR,A DAC0832(2)輸出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL14.4 中斷服務(wù)子程序中斷服務(wù)子程序是產(chǎn)生波形必不可少的程序,其程序流程圖如下4-3所示,方波波形的

45、實(shí)現(xiàn)較為簡(jiǎn)單,只需開(kāi)始的時(shí)候設(shè)置一個(gè)初值然后直接輸出這個(gè)值就行了,每次輸出的時(shí)間根據(jù)延時(shí)來(lái)定,我們把波形分為了256個(gè)點(diǎn),輸出半個(gè)波形后,然后再對(duì)其置零,同樣輸出個(gè)數(shù)據(jù)一段時(shí)間,但是此時(shí)的時(shí)間一定要等于前面那段時(shí)間。這樣才是一個(gè)方波,如果兩個(gè)時(shí)間不一樣,那就相當(dāng)于一個(gè)脈沖波了。方波的幅值大小可以不用考慮,這些可由外部的運(yùn)算放大器來(lái)放大。三角波的產(chǎn)生:初始化后,單片機(jī)先從00H開(kāi)始輸出,經(jīng)過(guò)規(guī)定的演示后家2H,再進(jìn)過(guò)同樣的時(shí)間再加2H,這樣累加到FFH,一共累加了128次。到FFH后在減二,一直減到00H,這樣也是128次,同樣滿足可一個(gè)波形取點(diǎn)256次的要求。這樣把所得到的信號(hào)輸送給8255,

46、這樣就可以從輸出端得到一個(gè)連續(xù)的三角波。因?yàn)槠漭敵龆擞羞\(yùn)算放大器,可以實(shí)現(xiàn)對(duì)波形信號(hào)的放大。4-3 中斷子程序設(shè)計(jì)4.5 按鍵掃描子程序本次設(shè)計(jì)由于要求對(duì)幅值和頻率進(jìn)行控制,所以要求用相關(guān)的按鍵輸入,前面已經(jīng)介紹了各種按鍵的優(yōu)缺點(diǎn),最后選擇了獨(dú)立式鍵盤,分別為+-頻率,+-幅值,模式選擇5位,共占用5個(gè)IP口,選擇P2口的高5位作為按鍵輸入。程序中的模式選擇是通過(guò)MODE位輸入,通過(guò)設(shè)定一個(gè)模式標(biāo)志位,當(dāng)執(zhí)行一次模式位按鍵程序,標(biāo)志位自動(dòng)+1,并指向其所指定的波形。幅值選擇通過(guò)按鍵AMPL+和AMPL-輸入,當(dāng)執(zhí)行了幅值子程序的時(shí)候,系統(tǒng)通過(guò)改變X9511抽頭的位置,改變其Vw的輸出電壓,通過(guò)

47、VREF改變輸出電壓的幅值。頻率的選擇則是通過(guò)FREQ+和FREQ-進(jìn)行選擇的,當(dāng)執(zhí)行頻率調(diào)節(jié)子程序的時(shí)候,通過(guò)改變定時(shí)的初值實(shí)現(xiàn)的,當(dāng)使用12M晶振時(shí)候,正弦表位256位時(shí),理想中最大的頻率可以達(dá)到4KHz,當(dāng)頻率為10Hz的時(shí)候,計(jì)數(shù)初值為390。由于系統(tǒng)采用的最低的初值時(shí)間為100,所以最高只能產(chǎn)生20Hz的頻率19。4-4 按鍵掃描子程序設(shè)計(jì)4.6 顯示子程序顯示部分采用動(dòng)態(tài)輸出的方式,通過(guò)控制兩個(gè)鎖存器來(lái)控制實(shí)現(xiàn)單個(gè)I/O分時(shí)控制輸出輸出數(shù)碼管的段選(字形的選擇)和位選(位權(quán)的選擇)。如圖3-5-2顯示電路圖中P0用于輸出數(shù)據(jù),而P2.0和P2.1用來(lái)控制寄存器的通斷來(lái)控制是輸出字段

48、信息還是位權(quán)信息。通常的數(shù)碼管動(dòng)態(tài)顯示程序都要進(jìn)行延時(shí),然后靠人眼的余光實(shí)現(xiàn)數(shù)據(jù)的輸出,當(dāng)延時(shí)時(shí)間太小的時(shí)候會(huì)出現(xiàn)數(shù)碼閃爍甚至亂碼,當(dāng)延時(shí)時(shí)間設(shè)定的太大的時(shí)候,有可能出現(xiàn)輸出斷續(xù)的可能,通常需延時(shí)5ms,6位數(shù)據(jù)顯示就是30ms,而按鍵的消抖時(shí)間不過(guò)10ms,所以時(shí)間片輪法的話會(huì)大大影響電路的正常工作,甚至不能檢測(cè)出按鍵輸入,或則按鍵輸入的時(shí)候出現(xiàn)顯示斷續(xù)的情況,所以本才設(shè)計(jì)采用了中斷顯示的方法,利用定時(shí)器進(jìn)行延時(shí),設(shè)定好定時(shí)器的初值,在固定的延時(shí)時(shí)間上溢出,然后調(diào)用顯示子程序顯示當(dāng)前的輸出情況,由于定時(shí)器中斷程序 執(zhí)行一次只能顯示一位數(shù)據(jù),所以要設(shè)定一個(gè)全局變量的顯示緩沖區(qū)和全局變量的位選標(biāo)

49、志。4-5 顯示子程序設(shè)計(jì)第5章 仿真驗(yàn)證5.1 整體設(shè)計(jì)Protues仿真軟件完成函數(shù)信號(hào)發(fā)生器仿真,本設(shè)計(jì)仿真環(huán)境如圖5-1所示。圖5-1 基于protues的函數(shù)信號(hào)發(fā)生器仿真5.2 功能實(shí)現(xiàn) 三種波形的仿真波形圖如下:在仿真環(huán)境下,運(yùn)行仿真軟件,按要求操作鍵盤會(huì)出現(xiàn)如下波形圖,各個(gè)波形的仿真圖不同的頻率。 當(dāng)“S0”鍵按下事將產(chǎn)生方波,鍵“S4”“S7”決定正弦波的頻率,“S4”號(hào)鍵為10Hz的頻率信號(hào),“S5”號(hào)鍵為100Hz的頻率信號(hào),“S6”號(hào)鍵為500Hz的頻率信號(hào),“S7”號(hào)鍵為1KHz的頻率信號(hào)。 圖5-3、圖5-4、圖5-5為頻率為10Hz、100Hz、500Hz的正弦波

50、,1000Hz的正弦波在文中不畫出來(lái)。圖5-2 波形顯示圖5-3 10Hz正弦波圖5-4 100Hz正弦波圖5-5 500Hz正弦波 圖5-6、圖5-7、圖5-8為頻率為10Hz、100Hz、500Hz的三角波,1000Hz的正弦波在文中不畫出來(lái)。當(dāng)“S0”鍵按下將產(chǎn)生三角波,鍵“S4”“S7”決定方波的頻率,“S4”號(hào)鍵為10Hz的頻率信號(hào),“S5”號(hào)鍵為100Hz的頻率信號(hào),“S6”號(hào)鍵為500Hz的頻率信號(hào),“S7”號(hào)鍵為1KHz的頻率信號(hào)。圖5-6 三角波圖5-7 三角波圖5-8 三角波 圖5-9、圖5-10、圖5-11為頻率為10Hz、100Hz、500Hz的方波,1000Hz的正弦

51、波在文中不畫出來(lái)。當(dāng)“S0”鍵按下將產(chǎn)生方波,鍵“S4”“S7”決定方波的頻率,“S4”號(hào)鍵為10Hz的頻率信號(hào),“S5”號(hào)鍵為100Hz的頻率信號(hào),“S6”號(hào)鍵為500Hz的頻率信號(hào),“S7”號(hào)鍵為1KHz的頻率信號(hào)。圖5-9 方波圖5-10 方波圖5-11 方波5.3 本章小結(jié)基于單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與仿真已全部完成,所設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器有一定的實(shí)用價(jià)值和經(jīng)濟(jì)價(jià)值。能按預(yù)期的效果通過(guò)按鍵實(shí)現(xiàn)波形切換且波形標(biāo)準(zhǔn)美觀,頻率穩(wěn)定可調(diào)。并且在數(shù)碼管上顯示出波形的頻率。在函數(shù)信號(hào)發(fā)生器系統(tǒng)的4個(gè)模塊中,最重要的是主控模塊,其它還有顯示模塊,按鍵模塊,信號(hào)輸出模塊。各模塊完成后,將它們組合成完整的函數(shù)信號(hào)發(fā)生器系統(tǒng)。結(jié)論 本次畢業(yè)設(shè)計(jì)我所涉與的題目是多功能函數(shù)信號(hào)發(fā)生器,由于是基于單片機(jī)的波形發(fā)生器,所以我才用了查表輸出的方法,經(jīng)過(guò)D/A轉(zhuǎn)化輸出需要的波形,并通過(guò)低通濾波是其輸出的波形能比較的平滑。通過(guò)兩個(gè)月的畢業(yè)設(shè)計(jì),進(jìn)一步的加深了我對(duì)專業(yè)課的理解和認(rèn)識(shí),畢業(yè)設(shè)計(jì)是我在大學(xué)四年的最后一堂課,也是對(duì)我大學(xué)四年所學(xué)的知識(shí)的一個(gè)最好的評(píng)估。開(kāi)始設(shè)計(jì)方案,總感覺(jué)自己還是有許多的東西弄不太清楚,于是就請(qǐng)教同學(xué)。有一些開(kāi)始的時(shí)候由于沒(méi)有經(jīng)驗(yàn),不知如何下手,所以就去圖書管找了一些書看,盡管有許多的設(shè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論