




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Institute of Technology. East China Jiaotong University 畢 業(yè) 設 計(論 文) Graduation Design (Thesis)題 目 基于單片機的函數(shù)信號發(fā)生器設計 畢業(yè)論文(設計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設計)是我在導師的指導下進行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設計)的研究做出重要貢獻的個人和集體,均已在文中作了明確說明并表示謝意。 作者簽名: 日期: 畢業(yè)論文(設計)授權(quán)使用說明本論文(設計)作者完全了解*學院有關(guān)保留
2、、使用畢業(yè)論文(設計)的規(guī)定,學校有權(quán)保留論文(設計)并向相關(guān)部門送交論文(設計)的電子版和紙質(zhì)版。有權(quán)將論文(設計)用于非贏利目的的少量復制并允許論文(設計)進入學校圖書館被查閱。學??梢怨颊撐模ㄔO計)的全部或部分內(nèi)容。保密的論文(設計)在解密后適用本規(guī)定。 作者簽名: 指導教師簽名: 日期: 日期: 注 意 事 項1.設計(論文)的內(nèi)容包括:1)封面(按教務處制定的標準封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞 5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻8)致謝9)附錄(對論文支持必要時)2.論文字數(shù)要求
3、:理工類設計(論文)正文字數(shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于1.2萬字。3.附件包括:任務書、開題報告、外文譯文、譯文原文(復印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準請他人代寫2)工程設計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應符合國家技術(shù)標準規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應繪制于無格子的頁面上5)軟件工程類課題應有程序清單,并提供電子文檔5.裝訂順序1)設計(論文)2)附件:按照
4、任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂3)其它目錄摘 要I第1章 緒 論11.1 本課題研究背景11.2 函數(shù)發(fā)生器分類21.3 研究內(nèi)容3第2章 整體設計方案42.1 方案的提出和整論42.2 設計原理5第3章 硬件設計74.1 硬件整體設計74.2 復位電路84.3 時鐘電路84.4 鍵盤電路94.5 D/A轉(zhuǎn)換模塊11114.6 顯示電路設計13第4章 軟件設計144.1 設計構(gòu)思144.2 主程序流程圖144.3 波形產(chǎn)生子程序184.4 中斷服務子程序204.5 按鍵掃描子程序214.6 顯示子程序22第5章 仿真驗證235.1 整體設計235.2 功能實現(xiàn)235.3
5、 本章小結(jié)26結(jié)論27參考文獻29摘 要 信號發(fā)生器是學習、科研領(lǐng)域中一種十分常用的信號源,廣泛地應用于電子電路、自動控制系統(tǒng)和教學實驗等領(lǐng)域。目前使用的信號發(fā)生器大部分是函數(shù)信號發(fā)生器,且特殊波形發(fā)生器的價格昂貴。為此,為節(jié)省成本,本文利用80C51單片機構(gòu)成信號發(fā)生器,可產(chǎn)生三角波、方波、正弦波等多種特殊波形,波形的頻率可用程序控制改變。 本次設計利用80C51設計一個函數(shù)信號發(fā)生器,詳細說明了其實現(xiàn)過程。本系統(tǒng)使用匯編語言編寫,用80C51單片機來實現(xiàn)各模塊功能,使用PROTEUS進行仿真。本文描述使用匯編語言和PROTEUS仿真實現(xiàn)函數(shù)信號發(fā)生器的基本功能,實現(xiàn)了方波、三角波、正弦波、
6、鋸齒波,頻率可調(diào)為10HZ、100HZ、500HZ、1000HZ。本文給出了源程序、各模塊的連接圖以及仿真圖,并做出了詳細的分析。經(jīng)測試該設計方案線路優(yōu)化,結(jié)構(gòu)緊湊,性能優(yōu)越,滿足設計要求。關(guān)鍵詞:信號發(fā)生器;80C51;PROTEUS;頻率可調(diào);單片機AbstractSignal generators are learning, research in the field of a very common source, widely used in the field of electronic circuits, automatic control system and teaching
7、 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 wave, sine wave and ot
8、her 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, using the PROTEUS
9、 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, connection diagram and
10、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.Key words: Signal generator; 80C51; PROTEUS; adjustable frequency; MCU第1章 緒 論1.1 本課題研究背景 隨著電子測量及其他部門對各類信號發(fā)生器的廣泛需求及
11、電子技術(shù)的迅速發(fā)展,促使信號發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號發(fā)生器向著自動化、智能化方向發(fā)展?,F(xiàn)在,許多信號發(fā)生器帶有微處理器,因而具備了自校、自檢、自動故障診斷和自動波形形成和修正等功能,可以和控制計算機及其他測量儀器一起方便的構(gòu)成自動測試系統(tǒng)。當前信號發(fā)生器總的趨勢是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動化和智能化方向發(fā)展。在科學研究、工程教育及生產(chǎn)實踐中,如工業(yè)過程控制、教學實驗、機械振動試驗、動態(tài)分析、材料試驗、生物醫(yī)學等領(lǐng)域,常常需要用到低頻信號發(fā)生器。而在我們?nèi)粘I钪校约耙恍┛茖W研究中,鋸齒波和正弦波、矩形波信號是常用的基本測試信號
12、。譬如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以利用熒光屏顯示圖像,常用到鋸齒波產(chǎn)生器作為時基電路。信號發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測控、通訊等領(lǐng)域都得到了廣泛的應用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實際應用的需求。加之各類功能的半導體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號發(fā)生器成為可能1。單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有
13、外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡、復雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機是所有微處理機中性價比最高的一種,隨著種類的不斷全面,功能不斷完善,其應用領(lǐng)域也迅速擴大。單片機在智能儀表、實時控制、機電一體化、辦公機械、家用電器等方面都有相當?shù)膽妙I(lǐng)域。當前,8位單片機主要用于工業(yè)控制,如溫度、壓力、流量、計量和機械加工的測量和控制場合;高效能的16位單片機(如MCS-96、MK-68200)可用在更復雜的計算機網(wǎng)絡??梢哉f,微機測控技術(shù)的應用已滲透到國民經(jīng)濟的各個部門,微機測控技術(shù)的應用是產(chǎn)品提高檔次和推陳出新的有效途徑2
14、。便攜式和智能化越來越成為儀器的基本要求,對傳統(tǒng)儀器的數(shù)字化,智能化,集成化也就明顯得尤為重要。平時常用信號源產(chǎn)生正弦波,方波,三角波等常見波形作為待測系統(tǒng)的輸入,測試系統(tǒng)的性能。單在某些場合,我們需要特殊波形對系統(tǒng)進行測試,這是傳統(tǒng)的模擬信號發(fā)生器和數(shù)字信號發(fā)生器很難勝任的。利用單片機的強大功能,設計合適的人機交互界面,使用戶能夠通過手動的設定,設置所需波形。1.2 函數(shù)發(fā)生器分類函數(shù)發(fā)生器應用廣泛,種類繁多,性能各異,分類也不盡一致。函數(shù)發(fā)生器亦稱信號發(fā)生器,主要作為實驗用信號源,是現(xiàn)今各種電子電路實驗設計應用中必不可少的儀器設備之一。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)
15、生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(fā)生器,函數(shù)信號發(fā)生器、掃頻信號發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號發(fā)生器、噪聲信號發(fā)生器等。按照信號發(fā)生器性能指標可以分為一般信號發(fā)生器和標準信號發(fā)生器。前者指對輸出信號的頻率、幅度的準確度和穩(wěn)定度以及波形失真等要求不高的一類信號發(fā)生器。后者是指其輸出信號的頻率、幅度、調(diào)制系數(shù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準確、穩(wěn)定、屏蔽良好的中、高檔信號發(fā)生器3。函數(shù)發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的一般可以完全由硬件電路搭接而成
16、,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復雜和體積大等缺點。在科學研究和生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領(lǐng)域常常要用到低頻信號源。而由硬件電路構(gòu)成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。利用單片機采用程序設計方法來產(chǎn)生低頻信號,其頻率底線很低。具有線路相對簡單,結(jié)構(gòu)緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強
17、,用途廣泛等優(yōu)點,并且能夠?qū)Σㄐ芜M行細微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調(diào)整程序,即可完成功能升級。1.3 研究內(nèi)容本次設計是基于80C51單片機信號發(fā)生器設計,信號發(fā)生器可以產(chǎn)生方波、三角波、正弦波、3種波形,通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)10HZ、100HZ、500HZ、1000HZ的波形。在程序運行中,當接收到來自外界的命令,需要輸出某種波形時再調(diào)用相應的中斷服務子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運算放大器處理后,從信號發(fā)生器的輸出端口輸出4。 第2章 整體設計方案2.1 方案的提出和整論常用
18、的函數(shù)信號發(fā)生器的實現(xiàn)方法有如下幾種:1.采用分立元件實現(xiàn)信號的輸出,主要是通過模擬電路實現(xiàn)正弦信號的輸出,在通過各種積分微分電路實現(xiàn)各種不同波形的輸出。但是這種方法頻率和幅值的調(diào)整比較困難,而且模擬電路受外部因素的影響較大,輸出的波形難以控制。2.采用集成信號發(fā)生芯片MAX038輸出各種波形,并通過外接電阻值改變實現(xiàn)對幅值和頻率的調(diào)整。這種方法實現(xiàn)起來比較容易,但是頻率和幅值的調(diào)節(jié)比較困難5。圖2-1 基于MAX038的信號發(fā)生器原理圖3.采用DAC0832通過查表得方式輸出需要的波形,通過單片機定時向DAC轉(zhuǎn)化器發(fā)送轉(zhuǎn)換數(shù)據(jù),實現(xiàn)不同的幅值和頻率的輸出。這種方法能夠?qū)崿F(xiàn)各種需要的波形的輸出
19、,成本也不高,只是在擴展外設的時候浪費了大量的接口,以后的系統(tǒng)擴展可能會有影響6。 4.采用DDS頻率合成器,能輸出各種波形,而且能夠輕松調(diào)節(jié)幅值和頻率。DDS同DSP(數(shù)字信號處理)一樣,是一項關(guān)鍵的數(shù)字化技術(shù)。DDS是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點,廣泛使用在電信與電子儀器領(lǐng)域,是實現(xiàn)設備全數(shù)字化的一個關(guān)鍵技術(shù)。一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計算器三個部分。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相
20、位累加器根據(jù)DDS頻率控制碼在每個時鐘周期內(nèi)進行相位累加,得到一個相位值;正弦計算器則對該相位值計算數(shù)字化正弦波幅度(芯片一般通過查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個可用的模擬頻率信號7。圖2-2 DDS的原理框圖鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復雜,頻率覆蓋系數(shù)難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來實現(xiàn),使得信號頻率的穩(wěn)定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用元器件,容易得到,且價格便宜,使得硬件開銷達最省8。2.2 設計原理 數(shù)字信號可以通過數(shù)/模
21、轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,因此可通過產(chǎn)生數(shù)字信號再轉(zhuǎn)換成模擬信號的方法來獲得所需要的波形。89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉(zhuǎn)換及波形輸出、指示燈及其接口等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號發(fā)生器構(gòu)成原理框圖如圖2-3所示9。圖2-2 整體設計方案80C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉(zhuǎn)換和信號幅度的調(diào)節(jié)。當數(shù)字信
22、號經(jīng)過接口電路到達轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號也就是所需要輸出波形10。第3章 硬件設計硬件原理硬件電路設計決定一個系統(tǒng)功能,是設計基礎(chǔ)所在,而一般設計目標:可靠,簡潔,高效,優(yōu)化,好硬件電路可給程序編寫帶來極大優(yōu)勢,同時使可以很好提高該信號設計精度和靈敏度,使整個系統(tǒng)工作協(xié)調(diào)有序。以80C51單片機芯片作為核心處理器,編程實現(xiàn)各種不同類型信號,最后通過DA轉(zhuǎn)換輸出11。4.1 硬件整體設計由頻率控制模塊、幅度控制模塊、鍵盤模塊和液晶顯示模塊組成整個系統(tǒng)。用單片機控制鍵盤和液晶顯示,液晶屏顯示四個參數(shù):頻率、幅值、類型和不同頻率范圍中頻率的步進。用單片機控制兩個數(shù)字電位器中的抽頭位置來實現(xiàn)改變
23、輸出的頻率和幅度的大小,運用數(shù)字電位器X9C103和ICL8038共同設計的函數(shù)信號發(fā)生器。該電路能夠產(chǎn)生穩(wěn)定的正弦波信號、三角波信號、頻率與占比可調(diào)節(jié)的矩形波信號,其輸出頻率能在1Hz-IMHz范圍內(nèi)連續(xù)調(diào)整,達到調(diào)試簡單、性能穩(wěn)定、使用方便等優(yōu)點。其工作系統(tǒng)框圖如下圖4-1所示。4-1 整體硬件電路4.2 復位電路無論哪種類型的單片機,這些器件總要涉及到單片機的復位電路以及復位電路的設計。、單片機上電復位電路設計好與壞,將直接影響整個微機控制系統(tǒng)工作可靠性與穩(wěn)定性。很多用戶在設計完單片機控制系統(tǒng),實驗室可能調(diào)試成功后,但是在現(xiàn)場卻出現(xiàn)“死機”和“程序跑飛”等現(xiàn)象產(chǎn)生,導致這些最主要原因可能
24、是復位電路設計不當造成,因此設計一個很好復位電路對于單片機控制系統(tǒng)運行來說非常重要。復位電路連接有三種連接方式,列舉一種,如圖4-2所示:4-2 復位電路設計4.3 時鐘電路單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1 和XTAL2 外接晶體振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益的反相放大器,當外接晶振后,就構(gòu)成了自激振蕩,并產(chǎn)生振動時鐘脈沖。晶振通常選用6MHZ、12MHZ、24MHZ。本設計中時鐘電路圖如圖4-3,選擇了12MHZ和晶振分別接引腳XTAL1 和XTAL2,電容C1,C2 均選擇為30pF,對振蕩器的頻率有穩(wěn)定作用,當頻率較
25、大時,正弦波、方波、三角波及鋸齒波中每一點的延時時間為幾微妙,故延時時間還加上指令時間才能獲得較大的頻率波形12。4-3 時鐘電路設計4.4 鍵盤電路 通常單片機外部擴展鍵盤的方式有獨立式鍵盤,矩陣鍵盤以及專門的鍵盤電路。獨立式鍵盤就是一個I/O口擴展一個開關(guān),這種方式程序編寫比較容易,只需要檢測單片機I/O某一時刻是否為低電平就能檢測出其的按鍵輸入情況,而且按鍵和I/O口一一對應,所以能夠輕松識別按鍵的值,如圖4-3所示為獨立按鍵接口電路。本設計中采用的是3個獨立的功能按鍵。S1用來切換現(xiàn)在產(chǎn)生的波形。當沒有按下S1時信號發(fā)生器產(chǎn)生方波信號。第一次按下S1時,將切換成三角波信號。第二次按下S
26、1時,將切換產(chǎn)生正弦波信號。第三次按下S1時,又產(chǎn)生方波信號。這樣一直循環(huán)。S2用來調(diào)節(jié)輸出的函數(shù)信號的頻率。當沒有按下S2時,產(chǎn)生的函數(shù)信號最高。當按下S2時,波形頻率降低,同時還要對應向LED顯示緩沖區(qū)給定一個頻率值提供當前頻率顯示所需要的數(shù)據(jù)。S2按7次一個循環(huán)。當?shù)?次按下時恢復到最高頻率輸出。S3用來啟動對輸出的函數(shù)信號電壓值測量。當S3沒有按下時,單片機只向DAC0832送波形數(shù)據(jù)表和顯示當前波形的頻率。按下S3后,單片機除了向DAC0832送波形數(shù)據(jù)表外,還要每隔一小段時間對讀取ADC0809轉(zhuǎn)換電壓值,并且換算出來,送給LED顯示當前電壓。此時不再顯示當前波形頻率13。4-4
27、獨立式鍵盤 矩陣鍵盤相比獨立式鍵盤其擴充的量大大增加,例如常見的4*4矩陣鍵盤占用的I/O口為4+4=8個,當需要擴充為20鍵輸入時只需要4+5=9個I/O口,而采用獨立式鍵盤的時候要分別用掉16個I/O口和20個I/O口,由于單片機的I/O口數(shù)量有限,很難將大量的I/O口用于,顯然矩陣鍵盤能夠大大的減少系統(tǒng)I/O口的使用,矩陣鍵盤的缺點是編寫程序比較麻煩,需要上拉電阻系統(tǒng)的連線和元器件都增加。當采用行掃描方式讀取鍵值時,需要4個上拉電阻,提供需要的高電平,當采用線反轉(zhuǎn)法式需要采用8個上拉電阻,顯然整個電路的接線都將變得更加復雜。矩陣式按鍵鍵盤中,分為行線和列線兩種,行線和列線與矩陣按鍵開關(guān)的
28、兩端相連接,其中行線是連接到5V電源上。當沒有按鍵按下時,行線會處于高電平狀態(tài);當有按鍵動作時,行線和列線將導通。這是矩陣式按鍵來識別按鍵是否按下的關(guān)鍵策略14。4-5 矩陣式鍵盤4.5 D/A轉(zhuǎn)換模塊 DAC0832轉(zhuǎn)換器簡介DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1s,滿量程誤差為1LSB,參考電壓為(+10-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。從圖3.7中可見,在DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ILE,第二級鎖存器稱為DAC寄存器
29、,它的鎖存信號也稱為通道控制信號XFER。圖4-6 DAC0832引腳圖圖4-6中,當ILE為高電平,片選信號CS 和寫信號WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當WR1由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。對第二級鎖存來說,傳送控制信號XFER 和寫信號WR2同時為低電平時,二級鎖存控制信號為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當WR2由低電平變高時,控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DAC寄存器中。 DAC0832各引腳編號及
30、其作用: 1.1號CS引腳:片選信號輸入線,低電平有效; 2.2號WR1引腳:為輸入寄存器的寫選通信號; 3.3號AGND引腳:模擬地,模擬信號和基準電源的參考地; 4.4-7,13-16號D0-D7引腳:數(shù)據(jù)輸入線,TLL電平; 5.8號V ref引腳:基準電壓輸入(-10V+10V); 6.9號RFB引腳:反饋信號輸入線,芯片內(nèi)部有反饋電阻; 7.10號DGND引腳:數(shù)字地; 8.11號IOUT1引腳:電流輸出線,當輸入全為1時,IOUT1最大; 9.12號IOUT2引腳:電流輸出線,其值與IOUT1為一常數(shù); 10.17號XFRE引腳:數(shù)據(jù)傳送控制信號輸入線,低電平有效; 11.18號W
31、R2引腳:為DAC寄存器寫選通輸入線; 12.19號ILE引腳:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效; 32.0號V cc引腳:電源輸入線(+5V+15V)Vref。本次設計選擇的D/A轉(zhuǎn)化器是DAC0832,是一款8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應用系統(tǒng)中得到廣泛的應用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。AT89C51單片機控制兩片DAC0832的原理如圖4-7所示。4-7 單片機控制DAC0832的D/A轉(zhuǎn)換15。本文選用價格低廉、接口簡單、轉(zhuǎn)換控制容易并
32、具有8位分辨率的數(shù)模轉(zhuǎn)換器。DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對分辨率為單位增減,是準模擬量的輸出。DAC0832是電流型輸出,在應用時外接運放使之成為電壓型輸出。4.6 顯示電路設計顯示電路是用來顯示波形信號的頻率,使得整個系統(tǒng)更加合理,從經(jīng)濟的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽極接法,當主控端口輸出一個低電平后,與其相對應的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。 本次設計要求對輸出波形的頻率,幅值和波形進行輸出,所以要
33、擴展顯示模塊,常用的顯示模塊LCD有7端數(shù)碼管,LCD1602和12864等液晶顯示屏。為了降低設計的成本和擴展的難度,本次設計選擇使用7段數(shù)碼管。LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。 動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用
34、發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的16。圖4-8 顯示器第4章 軟件設計4.1 設計構(gòu)思 幅度控制:由于D/A數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準電壓來控制,所以控制第二片D/A數(shù)模轉(zhuǎn)換器輸出給第一片D/A數(shù)模轉(zhuǎn)換器的電壓值就可控制信號幅度。因此,送入第二片的值是幾個固定的值。由于DAC0832內(nèi)部具有鎖存器,所以只需向第二片D/A送值一次,直到下一次改變信號幅度。 頻率控制:單片機內(nèi)部數(shù)據(jù)只有0、1之分,所產(chǎn)生的信號也都是離散信號。為了能夠讓單片機輸出所需的數(shù)字信號,我們采用對信
35、號采樣、量化的方法來實現(xiàn)由單片機產(chǎn)生所需信號。在本設計中,對信號的四分之一周期采樣19個幅度值,通過反復查表來輸出幅度值,而整個信號是通過正查表和逆向查表來實現(xiàn)的。采樣的點越密,信號失真度也就越小。兩次采樣點的輸出時間間隔是由定時、計數(shù)器來控制的,因此,通過控制不同的計數(shù)初值就可以控制整個信號的頻率。計數(shù)時間=信號周期/72。計數(shù)次數(shù)=計數(shù)時間/機器周期。對應的,計數(shù)初值=65536計數(shù)次數(shù)。單片機只能產(chǎn)生離散頻率的信號,所以所得到的信號頻率不是連續(xù)的,而是離散的頻率點。由于這部分計算位數(shù)較多,不適合用單片機編程來計算計數(shù)初值,所以本設計中將各頻率的計數(shù)初值算出,讓單片機按控制命令來查表控制頻
36、率。正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半周期計數(shù),經(jīng)過半周期只需改變輸出為最大或最小電平即可17。4.2 主程序流程圖主程序的流程圖如圖4-1所示,在程序開始運行之后,首先是對程序進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結(jié)束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。本文中子程序的調(diào)用是通過按鍵的選擇來實現(xiàn),在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數(shù)據(jù)值,通過轉(zhuǎn)換輸出相應的電壓,從而形成所需的各種波形。在程序開始運行之后,首先是對
37、8255A進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示。4-1 主程序設計下面說明主程序流程圖的程序?qū)崿F(xiàn): 1.開始:ORG 0000H 程序開始執(zhí)行,首先覺得跳轉(zhuǎn)到主程序AJM MAIN ORG 000BH 定時器0中斷入口地址,跳轉(zhuǎn)到中斷服務程序LJMP TCOORG 0030H2.8255A初始化:MOV DPTR,#7F00H 指向8155命令字端口地址MOV A,#06H 設置A口為輸入,B口、C口為輸出MOVX DPTR,A 送命令字3.判定信號頻率:MOV DPTR,#7F01H 指向A口地址MOVX A,DPTR 讀入A口的開關(guān)數(shù)據(jù)JNB
38、ACC.4,K10H 判斷是否“4”號鍵,若是則轉(zhuǎn)輸出10Hz信號JNB ACC.5,K100H 判斷是否“5”號鍵,若是則轉(zhuǎn)輸出100Hz信號JNB ACC.6,K500H 判斷是否“6”號鍵,若是則轉(zhuǎn)輸出500Hz信號JNB ACC.7,K1K 判斷是否“7”號鍵,若是則轉(zhuǎn)輸出1KHz信號AJMP MAIN 無鍵按下則返回等待4.根據(jù)頻率值置新的時間常數(shù),以10HZ為例:K10H:MOV 30H,#00H 顯示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMOD,#
39、00HMOV TL0,#15HMOV TH0,#9EHAJMP PD5.顯示頻率值,以10HZ為例K10H:MOV 30H,#00H 顯示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序6.顯示子程序:LED1: MOV R3,#06H 設置6個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 選通下一位M
40、OV R2,A 位選通數(shù)據(jù)送R2中保存 MOV A, R1 取鍵值MOV DPTR,#TAB 送LED顯示軟件譯碼表首址MOVC A,A+DPTR 查表求出鍵值顯示的段碼MOV DPTR,#7F02H 指向B口地址MOV DPTR,A 段碼送顯示LCALL LOOP1 調(diào)延時子程序INC R1 指向下一位顯示緩沖區(qū)地址DJNZ R3,GN1 循環(huán)顯示6個LEDRET7.中斷設置開中斷:GN: SETB TR0 啟動定時器SETB ET0 開定時器0中斷SETB EA 開總中斷8.判定波形:PD:JNB ACC.0,KE0 判斷是否“0”號鍵按下,若是則轉(zhuǎn)方波輸出JNB ACC.1,KE1 判斷
41、是否“1”號鍵按下,若是則轉(zhuǎn)正弦方波輸出JNB ACC.2,KE2 判斷是否“2”號鍵按下,若是則轉(zhuǎn)三角波輸出JNB ACC.3,KE3 判斷是否“3”號鍵按下,若是則轉(zhuǎn)鋸4.3 波形產(chǎn)生子程序圖4-2為各波形子程序的流程圖。如圖所示,在中斷服務子程序開始后,通過判斷來確定各種波形的輸出,當判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛?,如此反復。如果選擇的是方波,則用查表的方法求出相應的數(shù)據(jù),并通過D/A轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)換成模擬信號,形成所需波形信號18。4-2 波形產(chǎn)生子程序設計下面說明子程序流程圖的實現(xiàn):1.中斷服務程序開始:LJMP TCO 絕對跳轉(zhuǎn)到中斷服務程序2.判斷是否方波及處理方法:
42、TCO:CJNE R7,#00H,TC1 判斷是否是方波,不是則跳轉(zhuǎn)MOV 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
43、 指向DAC0832(2)MOVX DPTR,A DAC0832(2)輸出MOV 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,#00H AJMP QL14.4 中斷服務子程序
44、中斷服務子程序是產(chǎn)生波形必不可少的程序,其程序流程圖如下4-3所示,方波波形的實現(xiàn)較為簡單,只需開始的時候設置一個初值然后直接輸出這個值就行了,每次輸出的時間根據(jù)延時來定,我們把波形分為了256個點,輸出半個波形后,然后再對其置零,同樣輸出個數(shù)據(jù)一段時間,但是此時的時間一定要等于前面那段時間。這樣才是一個方波,如果兩個時間不相同,那就相當于一個脈沖波了。方波的幅值大小可以不用考慮,這些可由外部的運算放大器來放大。三角波的產(chǎn)生:初始化后,單片機先從00H開始輸出,經(jīng)過規(guī)定的演示后家2H,再進過同樣的時間再加2H,這樣累加到FFH,一共累加了128次。到FFH后在減二,一直減到00H,這樣也是12
45、8次,同樣滿足可一個波形取點256次的要求。這樣把所得到的信號輸送給8255,這樣就可以從輸出端得到一個連續(xù)的三角波。因為其輸出端有運算放大器,可以實現(xiàn)對波形信號的放大。4-3 中斷子程序設計4.5 按鍵掃描子程序本次設計由于要求對幅值和頻率進行控制,所以要求用相關(guān)的按鍵輸入,前面已經(jīng)介紹了各種按鍵的優(yōu)缺點,最后選擇了獨立式鍵盤,分別為+-頻率,+-幅值,模式選擇5位,共占用5個IP口,選擇P2口的高5位作為按鍵輸入。程序中的模式選擇是通過MODE位輸入,通過設定一個模式標志位,當執(zhí)行一次模式位按鍵程序,標志位自動+1,并指向其所指定的波形。幅值選擇通過按鍵AMPL+和AMPL-輸入,當執(zhí)行了
46、幅值子程序的時候,系統(tǒng)通過改變X9511抽頭的位置,改變其Vw的輸出電壓,通過VREF改變輸出電壓的幅值。頻率的選擇則是通過FREQ+和FREQ-進行選擇的,當執(zhí)行頻率調(diào)節(jié)子程序的時候,通過改變定時的初值實現(xiàn)的,當使用12M晶振時候,正弦表位256位時,理想中最大的頻率可以達到4KHz,當頻率為10Hz的時候,計數(shù)初值為390。由于系統(tǒng)采用的最低的初值時間為100,所以最高只能產(chǎn)生20Hz的頻率19。4-4 按鍵掃描子程序設計4.6 顯示子程序顯示部分采用動態(tài)輸出的方式,通過控制兩個鎖存器來控制實現(xiàn)單個I/O分時控制輸出輸出數(shù)碼管的段選(字形的選擇)和位選(位權(quán)的選擇)。如圖3-5-2通常的數(shù)
47、碼管動態(tài)顯示程序都要進行延時,然后靠人眼的余光實現(xiàn)數(shù)據(jù)的輸出,當延時時間太小的時候會出現(xiàn)數(shù)碼閃爍甚至亂碼,當延時時間設定的太大的時候,有可能出現(xiàn)輸出斷續(xù)的可能,通常需延時5ms,6位數(shù)據(jù)顯示就是30ms,而按鍵的消抖時間不過10ms,所以時間片輪法的話會大大影響電路的正常工作,甚至不能檢測出按鍵輸入,或則按鍵輸入的時候出現(xiàn)顯示斷續(xù)的情況,所以本才設計采用了中斷顯示的方法,利用定時器進行延時,設定好定時器的初值,在固定的延時時間上溢出,然后調(diào)用顯示子程序顯示當前的輸出情況,由于定時器中斷程序 執(zhí)行一次只能顯示一位數(shù)據(jù),所以要設定一個全局變量的顯示緩沖區(qū)和全局變量的位選標志。4-5 顯示子程序設計
48、第5章 仿真驗證5.1 整體設計Protues仿真軟件完成函數(shù)信號發(fā)生器仿真,本設計仿真環(huán)境如圖5-1所示。圖5-1 基于protues的函數(shù)信號發(fā)生器仿真5.2 功能實現(xiàn) 三種波形的仿真波形圖如下:在仿真環(huán)境下,運行仿真軟件,按要求操作鍵盤會出現(xiàn)如下波形圖,各個波形的仿真圖不同的頻率。 當“S0”鍵按下事將產(chǎn)生方波,鍵“S4” “S7”決定正弦波的頻率,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號。 圖5-3、圖5-4、圖5-5為頻率為10Hz、100Hz、500Hz的正弦波,1000Hz的正弦波在
49、文中不畫出來。圖5-2 波形顯示圖5-3 10Hz正弦波 圖5-4 100Hz正弦波 圖5-5 500Hz正弦波 圖5-6、圖5-7、圖5-8為頻率為10Hz、100Hz、500Hz的三角波,1000Hz的正弦波在文中不畫出來。當“S0”鍵按下將產(chǎn)生三角波,鍵“S4”“S7”決定方波的頻率,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號。 圖5-6 三角波 圖5-7 三角波 圖5-8 三角波 圖5-9、圖5-10、圖5-11為頻率為10Hz、100Hz、500Hz的方波,1000Hz的正弦波在文中不畫出
50、來。當“S0”鍵按下將產(chǎn)生方波,鍵“S4”“S7”決定方波的頻率,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號。 圖5-9 方波 圖5-10 方波 圖5-11 方波5.3 本章小結(jié)基于單片機的函數(shù)信號發(fā)生器的設計與仿真已全部完成,所設計的函數(shù)信號發(fā)生器有一定的實用價值和經(jīng)濟價值。能按預期的效果通過按鍵實現(xiàn)波形切換且波形標準美觀,頻率穩(wěn)定可調(diào)。并且在數(shù)碼管上顯示出波形的頻率。在函數(shù)信號發(fā)生器系統(tǒng)的4個模塊中,最重要的是主控模塊,其它還有顯示模塊,按鍵模塊,信號輸出模塊。各模塊完成后,將它們組合成完整的函
51、數(shù)信號發(fā)生器系統(tǒng)。結(jié)論 本次畢業(yè)設計我所涉及的題目是多功能函數(shù)信號發(fā)生器,由于是基于單片機的波形發(fā)生器,所以我才用了查表輸出的方法,經(jīng)過D/A轉(zhuǎn)化輸出需要的波形,并通過低通濾波是其輸出的波形能比較的平滑。通過兩個月的畢業(yè)設計,進一步的加深了我對專業(yè)課的理解和認識,畢業(yè)設計是我在大學四年的最后一堂課,也是對我大學四年所學的知識的一個最好的評估。開始設計方案,總感覺自己還是有許多的東西弄不太清楚,于是就請教同學。有一些開始的時候由于沒有經(jīng)驗,不知如何下手,所以就去圖書管找了一些書看,盡管有許多的設經(jīng)驗。經(jīng)過自己分析各方案之后,決定用查表的方法來做。這樣可以降低一些硬件設計的難度,初次設計應切合自己的水平。 回顧起此次單片機課程設計,我仍感慨頗多,從選題到定稿,從理論到實踐,在好幾個星期的日子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長治市重點中學2025屆初三下期末考試(一模)物理試題試卷含解析
- 江蘇省泰興市黃橋達標名校2025屆初三畢業(yè)班摸底調(diào)研考試語文試題含解析
- 版?zhèn)€人綜合消費信用合同
- 吉林省延邊朝鮮族自治州2024-2025學年五年級數(shù)學第二學期期末學業(yè)水平測試模擬試題含答案
- 沈陽農(nóng)業(yè)大學《舞蹈專業(yè)教學法(1)》2023-2024學年第二學期期末試卷
- 四川省西昌市航天校2025年初三下學期第二次月考-數(shù)學試題試卷含解析
- 山東省鄒平市一中學2025年高考模擬考試英語試題試卷含解析
- 山西省永濟市2025年初三化學試題下學期開學考試試題含解析
- 西南交通大學希望學院《臨床醫(yī)學遺傳學》2023-2024學年第二學期期末試卷
- 漯河醫(yī)學高等??茖W?!冻鞘性O計概論》2023-2024學年第二學期期末試卷
- 重癥醫(yī)學科三年發(fā)展規(guī)劃
- 研究思路圖模板
- 天車安全檢查表
- 《神奇的莫比烏斯帶》ppt
- 必備空調(diào)安裝免責協(xié)議書范文優(yōu)選七篇
- 電子營業(yè)執(zhí)照下載確認書(外籍法定代表人)
- 中國醫(yī)院質(zhì)量安全管理 第4-2部分:醫(yī)療管理 護理質(zhì)量管理 T∕CHAS 10-4-2-2019
- (自考)財務管理學完整版課件全套ppt教程(最新)
- 《智能制造技術(shù)與應用》試題及答案
- NX_Nastran_超單元指南_cn
- 軟件系統(tǒng)平臺對接接口方案計劃
評論
0/150
提交評論