畢業(yè)設(shè)計-基于at89s51單片機的低頻數(shù)字信號發(fā)生器的設(shè)計_第1頁
畢業(yè)設(shè)計-基于at89s51單片機的低頻數(shù)字信號發(fā)生器的設(shè)計_第2頁
畢業(yè)設(shè)計-基于at89s51單片機的低頻數(shù)字信號發(fā)生器的設(shè)計_第3頁
畢業(yè)設(shè)計-基于at89s51單片機的低頻數(shù)字信號發(fā)生器的設(shè)計_第4頁
畢業(yè)設(shè)計-基于at89s51單片機的低頻數(shù)字信號發(fā)生器的設(shè)計_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

低頻數(shù)字信號發(fā)生器的設(shè)計學(xué)校昆明理工大學(xué)專業(yè)電子信息工程姓名指導(dǎo)教師單位昆明理工大學(xué)指導(dǎo)教師姓名指導(dǎo)教師職稱講師THEDESIGNOFDIGITALSIGNALGENERATOROFLOWFREQUENCYUNIVERSITYKUNMINGUNIVERSITYOFSCIENCEANDTECHNOLOGYMAJORELECTRONICINFORMATIONENGINEERINGNAMENAMEOFADVISORUNITOFADVISORKUNMINGUNIVERSITYOFSCIENCEANDTECHNOLOGYPROFESSIONALTITLELECTORATE目錄摘要IABSTRACTII第1章緒論111概述112設(shè)計要求2第2章設(shè)計的整體構(gòu)思321輸入輸出電路的構(gòu)思323軟件設(shè)計的構(gòu)思4231幅度控制4232頻率控制4233波形的產(chǎn)生524本章小結(jié)5第3章硬件電路設(shè)計631系統(tǒng)總體電路圖632單片機最小系統(tǒng)833單片機與DAC0832的接口技術(shù)10331DAC0832簡介10332LM324功能13333DAC0832和MCS51的接口1434按鍵及顯示電路設(shè)計16341按鍵的設(shè)計16342顯示電路的設(shè)計1735本章小結(jié)18第4章軟件部分的設(shè)計1941軟件總體流程1942各部分軟件設(shè)計20421鍵盤顯示模塊設(shè)計20422波形產(chǎn)生模塊的設(shè)計2243本章小結(jié)27第5章系統(tǒng)的安裝與調(diào)試2851系統(tǒng)設(shè)計的安裝與調(diào)試2852系統(tǒng)的各部分調(diào)試28521系統(tǒng)硬件調(diào)試28522系統(tǒng)軟件調(diào)試2953在調(diào)試過程中遇到的問題2954本章小結(jié)30結(jié)論31總結(jié)與體會32致謝33參考文獻33附一英文翻譯34摘要各種各樣的信號是通信領(lǐng)域的重要組成部分,其中正弦波、鋸齒波和方波等是較為常見的信號。在科學(xué)研究及教學(xué)實驗中常常需要這幾種信號的發(fā)生裝置。為了實驗、研究方便,研制一種靈活適用、功能齊全、使用方便的信號源是十分有必要的。本文研究的是利用AT89S51單片機和數(shù)模轉(zhuǎn)換器件DAC0832產(chǎn)生不同波形的低頻信號源,其信號幅度和頻率都是可以按要求控制。文中簡要介紹了DAC0832數(shù)模轉(zhuǎn)換器的結(jié)構(gòu)原理和接口方法,波形產(chǎn)生的原理以及波形頻率幅值調(diào)節(jié)控制的方法。本次關(guān)于產(chǎn)生不同低頻信號的信號源的設(shè)計方案,不僅在理論和實踐上都基本能滿足實驗的要求,而且具有較強的可行性。該信號源的特點是體積小、價格低廉、性能穩(wěn)定、實現(xiàn)方便、功能齊全。關(guān)鍵詞信號發(fā)生器;單片機;DAC0832;ABSTRACTVARIOUSSIGNALSAREANIMPORTANTPARTOFCORRESPONDENTAREAINTHISAREA,SINEWAVE,TRIANGLEWAVEANDSQUAREWAVEARECOMMONSIGNALSINSCIENCERESEARCHANDTEACHINGEXPERIMENT,WEOFTENNEEDTHEOCCURRENCEEQUIPMENTOFTHESESIGNALSINORDERTOMAKETHEEXPERIMENTANDRESEARCHEASIER,TODEVELOPASUITABLE,FULLFUNCTIONALANDEASILYUSEDSIGNALSSOURCEISESSENTIALTHISPAPERINTRODUCESTHELOWFREQUENCYSOURCESOFDIFFERENTSIGNALSTHATAREPRODUCEDBYAT89S51MCUANDDAC0832ITSSIGNALRANGEANDFREQUENCYCANBECONTROLLEDBYREQUIREMENTTHISPAPERCOMPENDIUMINTRODUCESTHEPRINCIPLEANDTHEINTERFACEOFTHEDAC0832DIGITALANALOGCONVERTERWHATISMORETHISPAPERGAVEUSTHEWAYTOGETTHEDIFFERENTWAVEOFDIFFERENTFREQUENCYANDDIFFERENTAMPLITUDETHISSIGNALSOURCEDESIGNPLANCONCERNSONPRODUCINGDIFFERENTLOWFREQUENCYSIGNALS,NOTONLYMEETTHEREQUESTOFEXPERIMENTINTHEORYANDINPRACTICE,BUTALSOHAVESTRONGFEASIBILITYTHETRAITOFTHISSIGNALSOURCEISSMALLVOLUME,LOWPRICE,STABLEFUNCTION,EASILYACHIEVABLE,ANDFULLFUNCTIONKEYWORDSDIGITALSIGNALGENERATOR;MCU;DAC0832;第1章緒論11概述當今是科學(xué)技術(shù)及儀器設(shè)備高度智能化飛速發(fā)展的信息社會,電子技術(shù)的進步,給人們帶來了根本性的轉(zhuǎn)變,給人們的生活和工作帶來了很多的便利。現(xiàn)代電子領(lǐng)域中,單片機的應(yīng)用正在不斷的走向深入,這必將導(dǎo)致傳統(tǒng)控制與檢測技術(shù)的日益革新。單片機構(gòu)成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領(lǐng)域得以極為廣泛的應(yīng)用,并走入家庭,從洗衣機、微波爐到音響汽車,處處可見其應(yīng)用。因此,單片機技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個國家工業(yè)發(fā)展水平的標志之一。數(shù)字信號發(fā)生器,是現(xiàn)今各種電子電路實驗設(shè)計應(yīng)用中必不可少的儀器設(shè)備之一。實驗室,我們經(jīng)常采用數(shù)字信號發(fā)生器作為信號源來產(chǎn)生各種頻率幅值不同的波形以滿足不同實驗的不同要求。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。信號發(fā)生器種類比較繁多,性能上各有差異,但是它們都可以產(chǎn)生不同頻率的正弦波、調(diào)幅波、調(diào)頻波信號,以及各種頻率的方波、三角波、鋸齒波和正負脈沖波信號等。利用信號發(fā)生器輸出的信號,可以對元器件的特性及參數(shù)進行測量,還可以對電工和電子產(chǎn)品整機進行指標驗證、參數(shù)調(diào)整及性能鑒定。在多級電路傳遞網(wǎng)絡(luò)、電容與電感組合電路、電容與電阻組合電路及信號調(diào)制器的頻率、相位的特性測試中它都得到廣泛的應(yīng)用。傳統(tǒng)的一般可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點。在科學(xué)研究和生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學(xué),地震模擬機械振動等領(lǐng)域常常要用到低頻信號源。而由硬件電路構(gòu)成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復(fù)雜程度會大大增加。本設(shè)計利用單片機采用程序設(shè)計方法來產(chǎn)生低頻信號,其頻率底線很低。具有線路相對簡單,結(jié)構(gòu)緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強,用途廣泛等優(yōu)點,并且能夠?qū)Σㄐ芜M行細微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調(diào)整程序,即可完成功能升級。12設(shè)計要求本課題的主要任務(wù)是在深入了解信號發(fā)生器波形產(chǎn)生原理的基礎(chǔ)上。利用單片機來設(shè)計一款數(shù)字式低頻信號發(fā)生器,主要技術(shù)指標包括1、波形方波、正弦波、鋸齒波;2、幅值電壓1V、2V、3V、4V、5V;3、頻率10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ課題包括硬件設(shè)計和軟件設(shè)計兩大部分,其中硬件部分要完成原理電路圖的設(shè)計以及制作。軟件部分包括程序設(shè)計、燒錄、以及單片機調(diào)試,最后完成整機的調(diào)試運行。第2章設(shè)計的整體構(gòu)思電路整體框圖如下圖1所示AT89S51DAC0832DAC0832鍵盤LED顯示基準電壓輸出圖1系統(tǒng)整體框圖本課題是主要思想是從單片機處理系統(tǒng)查詢頻率存儲單元(存放信號頻率值),并開始執(zhí)行信號生成程序,通過D/A轉(zhuǎn)換器和兩級運算放大器,將數(shù)字量變成模擬量,從而得到超低頻的波形信號,其波形信號的頻率可以由鍵盤快速方便的調(diào)節(jié)。其波形信號的幅值,可以由控制D/A轉(zhuǎn)換器的參考電壓,從而實現(xiàn)波形信號幅度的控制,本設(shè)計用單片機控制所產(chǎn)生信號的幅度,并且充分地利用了單片機強大的程序控制和計算功能,采用查表的方法利用軟件生成了各種信號,從而大大地節(jié)省了硬件開銷,動態(tài)地實現(xiàn)了目標信息的模擬。21輸入輸出電路的構(gòu)思在本設(shè)計中,鍵盤顯示部分我們用到四個按鍵。一個用來選擇輸出波形的種類按一次輸出方波,再按一次,輸出鋸齒波,再按一次輸出正弦波,如此反復(fù);另外一個用來調(diào)節(jié)波形頻率的大小其設(shè)計思路是,使波形的頻率隨著按鍵次數(shù)的增加而增加;還有一個按鍵用來調(diào)節(jié)輸出波形幅值的大小,其設(shè)計思路是,使波形的幅值隨著按鍵次數(shù)的增加而增加;另外一個按鍵用來確認輸出波形。在顯示部分,本設(shè)計采用動態(tài)顯示??偣苍O(shè)置六位顯示,第一位用來顯示輸出波形的種類,比如,當LED顯示0的時候輸出方波,顯示1的時候輸出鋸齒波,顯示2的時候輸出正弦波。波形的輸出是由按鍵來控制的。第二位到第四位用來顯示輸出波形的頻率,第五位和第六位用來顯示輸出波形的幅值。23軟件設(shè)計的構(gòu)思231幅度控制由于D/A數(shù)模轉(zhuǎn)換器輸出的最大幅度可以用其基準電壓來控制,所以控制第二片D/A數(shù)模轉(zhuǎn)換器輸出給第一片D/A數(shù)模轉(zhuǎn)換器的電壓值就可控制信號幅度。因此,送入第二片的值是幾個固定的值。由于DAC0832內(nèi)部具有鎖存器,所以只需向第二片D/A送值一次,直到下一次改變信號幅度。232頻率控制單片機內(nèi)部數(shù)據(jù)只有0、1之分,所產(chǎn)生的信號也都是離散信號。為了能夠讓單片機輸出所需的數(shù)字信號,我們采用對信號采樣、量化的方法來實現(xiàn)由單片機產(chǎn)生所需信號。在本設(shè)計中,對信號的四分之一周期采樣19個幅度值,通過反復(fù)查表來輸出幅度值,而整個信號是通過正查表和逆向查表來實現(xiàn)的。采樣的點越密,信號失真度也就越小。輸出的波形也就越標準。兩次采樣點的輸出時間間隔是由定時、計數(shù)器來控制的,因此,通過控制不同的計數(shù)初值就可以控制整個信號的頻率。計數(shù)時間信號周期/72。計數(shù)次數(shù)計數(shù)時間/機器周期。對應(yīng)的,計數(shù)初值65536計數(shù)次數(shù)。單片機只能產(chǎn)生離散頻率的信號,所以所得到的信號頻率不是連續(xù)的,而是離散的頻率點。由于這部分計算位數(shù)較多,不適合用單片機編程來計算計數(shù)初值,所以本設(shè)計中將各頻率的計數(shù)初值算出,讓單片機按控制命令來查表控制頻率。正弦波和三角波的頻率控制方法都與上述方法相同,而方波的頻率控制是半周期計數(shù),經(jīng)過半周期只需改變輸出為最大或最小電平即可。本設(shè)計為低頻信號發(fā)生器,在頻率只有幾十赫茲的時候計數(shù)次數(shù)將很大,因此計數(shù)器的工作方式選為工作方式1,每次計數(shù)器溢出時需要重新裝入計數(shù)初值。233波形的產(chǎn)生本設(shè)計要求產(chǎn)生三種波形,分別為方波、鋸齒波以及正弦波。方波的產(chǎn)生比較容易實現(xiàn),利用單片機輸出,使高低電平間隔輸出即可。要產(chǎn)生鋸齒波,可以按增量規(guī)律反復(fù)給D/A轉(zhuǎn)換器送數(shù)字信號,并且由于送出電壓與時間成線性關(guān)系,因此相對也比較容易實現(xiàn)。正弦波是比較難以實現(xiàn)的,也是比較麻煩的,正弦波的產(chǎn)生是通過對標準正弦波進行采樣輸出而得到的,采樣間隔越小,正弦波的輸出精度就越高,失真度越小。輸出的波形就越標準。24本章小結(jié)本章主要介紹了低頻信號發(fā)生器目前的應(yīng)用和發(fā)展現(xiàn)狀。從理論方面,對課題進行了說明和論證,并提出了解決方案的初步方法,列出了總體方案框圖。系統(tǒng)方案的論證是十分重要的,它是設(shè)計工作的開始,也給出了實現(xiàn)設(shè)計的工作步驟。有了充分的準備,設(shè)計才能有條不紊開始實施。第3章硬件電路設(shè)計31系統(tǒng)總體電路圖系統(tǒng)大致由D/A轉(zhuǎn)換電路、按鍵輸入電路、LED數(shù)碼管顯示電路構(gòu)成。首先通過不同按鍵選擇輸出的波形、幅值、頻率等信息,然后根據(jù)要求由單片機輸出所需要信號的數(shù)字量,再由D/A數(shù)模轉(zhuǎn)換器將數(shù)字量轉(zhuǎn)化為模擬信號輸出,最后通過運放轉(zhuǎn)化為模擬電壓輸出。因為D/A數(shù)模轉(zhuǎn)換器的最大輸出電壓與其輸入的基準電壓相關(guān),所以只要能控制D/A的基準電壓便可以控制輸出幅度,實現(xiàn)幅度可調(diào)。所以設(shè)計用兩片DAC0832來輸出信號,第一片D/A用來輸出信號,第二片D/A用來控制第一片D/A的基準電壓。P1口做輸出輸出八位二進制數(shù)字信號。第一級DAC0832數(shù)模轉(zhuǎn)換器將P1口輸出的數(shù)字信號變成連續(xù)變化的的電流信號,這個電流信號經(jīng)過兩個集成運算放大器組成的雙極型電壓輸出電路變化成電壓信號輸出。電壓變化范圍為5V5V,做第二級DAC0832數(shù)模轉(zhuǎn)換器的基準電壓。第一級DAC0832數(shù)模轉(zhuǎn)換器的基準電壓為5V,由電源以及分壓電路取得電壓。P1口的八位二進制數(shù)輸出信號再經(jīng)過第二級DAC0832數(shù)模轉(zhuǎn)換器以及集成運放輸出,使輸出電壓信號U的變化范圍滿足要求系統(tǒng)總體電路圖如圖2所示圖2系統(tǒng)總體電路圖32單片機最小系統(tǒng)單片機,又稱微處理器。是現(xiàn)代電子設(shè)計中使用最廣泛的電子元件。它價格低廉,功能強大,體積小,性能穩(wěn)定。單片機其最基本的結(jié)構(gòu)是將CPU和計算機外圍功能單元,如存儲器、I/O口、定時器、計數(shù)器、中斷系統(tǒng)等集成在一個芯片上構(gòu)成的。雖然單片機只是一個芯片,但是無論從組成還是從功能上看,它都具有了微型系統(tǒng)的特征。AT89S51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器的8位CMOS微控制器,使用高密度、非易丟失存儲技術(shù)制造,并且與8051引腳和指令系統(tǒng)完全兼容。芯片上的FLASH存儲器允許在線編程或采用通用的非易丟失存儲編程器重復(fù)編程。單片機I/O口是本次設(shè)計中重點使用到的資源,因此下面對I/O口的功能說明P0口P0口共有8個引腳,其中P07為最高位,P00為最低位。這8條引腳有兩種不同的功能,分別使用于兩種不同情況。第一種情況是89S51不帶片外存儲器,P0口可以作為通用I/O口使用,P00P07用于傳送CPU的輸入/輸出數(shù)據(jù)。這時,輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89S51帶片外存儲器,P00P07在CPU訪問片外存儲器時用于傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)。P1口P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,其緩沖器可接收輸出4TTL門電流。P1口管腳寫入“1”后,被內(nèi)部上拉為高電平,用作輸入;被外部下拉為低電平時,將輸出電流。P2口P2口的第一功能和P0口的第一功能相同,即它可以作為通用I/O口使用。它的第二功能和P0口引腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不能像P0口那樣還可以傳送存儲器的讀寫數(shù)據(jù)。P3口作輸入/輸出時同P1口。P3口也可作為89S51的一些特殊功能口。單片機想要正常工作,那就讓它滿足一定的基本條件,我們稱之為最小應(yīng)用系統(tǒng)。它主要包括時鐘電路也就是XTAL1、XTAL2晶體振蕩電路反相輸入端和輸出端,然后要特別注意幾個引腳,比如復(fù)位端、外部程序存儲器地址允許使用端。在啟動的時候都需要復(fù)位,使CPU和系統(tǒng)中的其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。MCS51單片機都有一個復(fù)位引腳RST,在振蕩器運行時,RST引腳上保持至少兩個機器周期的高電平輸入信號,復(fù)位過程即可完成。為響應(yīng)這一過程,CPU發(fā)出內(nèi)部復(fù)位信號。內(nèi)部復(fù)位操作是在發(fā)現(xiàn)RST為高電平后的第二個機器周期進行的,并且此后的每個周期都重復(fù)進行復(fù)位操作,直到RST變成低電平為止。復(fù)位電路的連接方法有很多,有上電復(fù)位電路、采用反向器的復(fù)位電路、按鍵電平復(fù)位和按鍵脈沖復(fù)位。本設(shè)計中采用的是按鍵電平復(fù)位,并帶有上電復(fù)位功能,其設(shè)計簡單,采用電阻分壓的方式給RST提供高電平。這種設(shè)計使用元件少,而且計算簡便,只要兩個分壓電阻的阻值選擇適當,可以使得分壓值達到復(fù)位需要,也可以使時間常數(shù)不太大,及時復(fù)位。具體電路如下圖所示圖3復(fù)位電路在計算機中有一個起到協(xié)調(diào)作用的“口號”,這個就是時鐘信號。為了能保證計算機的正常工作,內(nèi)部各個功能電路必須在該時鐘信號的同步下按時序工作。考慮性能問題,本設(shè)計采用內(nèi)部時鐘電路。利用AT89S51內(nèi)部一個高增益的反向放大器,把一個晶體振蕩器和兩個電容器組成自激振蕩電路,接于XTAL1和XTAL2之間,電路如圖所示。圖4時鐘電路圖中晶體振蕩器是石英晶體或陶瓷結(jié)構(gòu),振蕩頻率一般選在12MHZ12MHZ之間,C1,C2在30PF左右;33單片機與DAC0832的接口技術(shù)在計算機應(yīng)用領(lǐng)域中,特別是在實驗室控制和智能儀表等系統(tǒng)中,常常需要把一些連續(xù)變化的物理量變成數(shù)字量,以便送入計算機進行加工、處理;也需要將計算機輸出的數(shù)字量轉(zhuǎn)化為連續(xù)變化的物理量,用以驅(qū)動相應(yīng)執(zhí)行結(jié)構(gòu),實現(xiàn)對被控對象的控制,下面涉及到的是數(shù)字量轉(zhuǎn)化為模擬量這一轉(zhuǎn)化過程。331DAC0832簡介DAC0832是采用CMOS工藝制成的單片直流輸出型8位數(shù)/模轉(zhuǎn)換器。它由倒T型R2R電阻網(wǎng)絡(luò)、模擬開關(guān)、運算放大器和參考電壓VREF四大部分組成。如下圖5所示。運算放大器輸出的模擬量V0為由上式可見,輸出的模擬量與輸入的數(shù)字量()成正比,這就實現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。圖5DAC0832電路圖一個8位D/A轉(zhuǎn)換器有8個輸入端(其中每個輸入端是8位二進制數(shù)的一位),有一個模擬輸出端。輸入可有28256個不同的二進制組態(tài),輸出為256個電壓之一,即輸出電壓不是整個電壓范圍內(nèi)任意值,而只能是256個可能值。圖6DAC0832引腳圖上圖是DAC0832的引腳圖。D/A轉(zhuǎn)換器的功能在于把對其輸入的數(shù)字信號轉(zhuǎn)換成與此數(shù)值成正比的模擬電壓或電流。DAC0832是以CMOS工藝制造的8位D/A轉(zhuǎn)換芯片,價格低廉,接口簡單,在單片機制系統(tǒng)中得到了廣泛的應(yīng)用。DAC0832主要由兩個8位寄存器和一個8位D/A轉(zhuǎn)換器組成。其運作原理可從它的20個引腳之功能中領(lǐng)略到。D0D78位數(shù)據(jù)輸入引腳,D7為最高位。ILE輸入數(shù)據(jù)鎖存允許信號,輸入,高電平有效。CS芯片選擇信號,輸入,低電平有效。WR1輸入鎖存器的寫選通信號,輸入,低電平有效。從上述三信號的邏輯關(guān)系中可以看出,當ILE為高電平,CS和WR1均為低電平時,輸入鎖存器的鎖存允許信號IE1將為高電平。此時輸入鎖存器的內(nèi)容根據(jù)輸入數(shù)據(jù)變化,但當LE1由于三輸入信號的變化而跳變成低電平時,則來自D0D7的輸入數(shù)據(jù)被鎖定在輸入鎖存器中。WR2寄存器的寫選通信號,輸入,低電平有效。XFER數(shù)據(jù)傳送控制信號,輸入,低電平有效。若WR2和XFER兩信號均為低電平,則DAC寄存器的鎖存信號LE2為高電平,此時輸入鎖存器的輸入數(shù)據(jù)被傳送至DAC寄存器中;但當LE2因上述兩信號的變化而跳變成低電平時,第二級,即DAC寄存器中的數(shù)據(jù)被鎖定。D/A轉(zhuǎn)換器隨時對DAC寄存器中的數(shù)據(jù)進行D/A轉(zhuǎn)換。VREF基準電壓(可為10V10V)輸入引腳?;鶞孰妷簺Q定D/A轉(zhuǎn)換器輸出電壓的范圍若VREF接10V,則輸出電壓范圍為010V;若接5V,則輸出電壓為5V0V。RFB內(nèi)部反饋電阻對外引腳,用以輸入來自片外運算放大器的反饋信號。IOUT1和IOUT2電流輸出引腳。DAC0832屬電流輸出型,且兩輸出電流之和為常數(shù)。欲得到與輸入數(shù)字量成正比的電壓輸出,必須外接運算放大器,把此兩引腳輸出電信號轉(zhuǎn)換成電壓形式。對于這類D/A轉(zhuǎn)換器,通常以電流建立時間來表示其轉(zhuǎn)換速度。所謂電流建立時間,系指輸入數(shù)字量由全0變成1時,輸出電流自初始值達到滿量程LSB/2所需要的時間。本芯片的電流建立時間為1S。VCC供電電源引腳,可接5V10V電壓。DGND數(shù)字量地,即VCC、數(shù)據(jù)、地址及控制信號的0電平輸入引腳。AGND模擬量地,即VREF及模擬電壓的地線。從前面對DAC0832內(nèi)部結(jié)構(gòu)的講述中得知,其前級輸入鎖存器和DAC寄存器可允許數(shù)據(jù)進入其中,亦可鎖定數(shù)據(jù),拒絕新數(shù)據(jù)進入。這拒絕于內(nèi)部信號LE1和LE2各自受外部信號控制的情況。據(jù)此我們可歸納出三點單緩沖方式LE2和LE1受控于同一組外部信號,兩級積存器同時鎖存數(shù)據(jù)。雙緩沖方式LE2和LE1分別受不同信號控制,兩級寄存器先后接收數(shù)據(jù)。直通方式LE1和LE2均恒為1,外來數(shù)據(jù)直接通過前兩級到達D/A轉(zhuǎn)換器。332LM324功能在波形產(chǎn)生這部分,還用到的一個重要的電子元器件就是LM324。LM324的功能特點如下所述LM324系列器件為價格便宜的帶有差動輸入的四運算放大器。與單電源應(yīng)用場合的標準運算放大器相比,它們有一些顯著優(yōu)點。該四放大器可以工作在低到30伏或者高到32伏的電源下,靜態(tài)電流為MC1741的靜態(tài)電流的五分之一。共模輸入范圍包括負電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性。LM324的特點1、短跑保護輸出2、真差動輸入級3、可單電源工作3V32V4、低偏置電流最大100NA5、每封裝含四個運算放大器。6、具有內(nèi)部補償?shù)墓δ堋?、共模范圍擴展到負電源8、行業(yè)標準的引腳排列9、輸入端具有靜電保護功能LM324引腳圖如下圖7所示圖7LM324引腳圖333DAC0832和MCS51的接口在本設(shè)計中。我們要用到兩塊DAC0832芯片,以完成方波、鋸齒波、正弦波的輸出。電路圖如下所示圖8DAC0832和MCS51的接口電路圖D/A轉(zhuǎn)換器的基本功能是將一個用二進制形式表示的數(shù)字量轉(zhuǎn)換成相應(yīng)的模擬量,為單片機在模擬環(huán)境中應(yīng)用提供了一種數(shù)據(jù)轉(zhuǎn)換接口。在選擇D/A轉(zhuǎn)換器時,通常要考慮到數(shù)字量的輸入方式、是否有鎖存器、數(shù)字量的位數(shù)、模擬量的輸入形式、參考電源、轉(zhuǎn)換速率等因素。根據(jù)數(shù)據(jù)在芯片內(nèi)部傳送過程的不同,DAC0832具有直通式、單緩沖和雙緩沖三種工作方式直通工作方式是將ILE、CS、WR1、WR2、和XFER控制信號預(yù)先置為有效使兩個寄存器都處于開放狀態(tài),無需控制信號。DAC0832的輸出隨時跟輸入數(shù)字的變化而變化,處于直通工作方式,8位數(shù)字信號一旦輸出,就直接進入DAC寄存器進行D/A轉(zhuǎn)換。單緩沖工作方式是指兩級緩沖器之一受CPU送來的控制信號控制,另外一個寄存器為直通狀態(tài)。如將WR2和XFER控制信號直接接地,或者將兩個寄存器的控制信號連接在一起,并作為一個寄存器使用。這種方式適用于只有一路模擬量輸出或者記錄模擬量不需要同步輸出的系統(tǒng)。雙緩沖工作方式是指片內(nèi)的兩個寄存器分別進行控制。使用時,首先通過ILE、CS、和WR1信號同時有效,把數(shù)據(jù)鎖存到輸入寄存器,然后通過WR2、和XFER信號有效,再把數(shù)據(jù)打入DAC寄存器,并進入D/A轉(zhuǎn)化,這種方式適用于幾路模擬量需要同步輸出的系統(tǒng)。在電路中,DAC0832數(shù)模轉(zhuǎn)換器將P1口輸出的數(shù)字信號變成連續(xù)變化的電流信號,這個電流信號經(jīng)過兩個集成運算放大器組成的雙極型電壓輸出電路變化成電壓信號輸出。P1口的八位二進制數(shù)輸出信號再經(jīng)過第二級DAC0832數(shù)模轉(zhuǎn)換器以及集成運放輸出,使輸出電壓信號U的變化范圍滿足要求。34按鍵及顯示電路設(shè)計341按鍵的設(shè)計本設(shè)計總共有4個按鍵,一個用來顯示輸出什么樣的波形,一個用來調(diào)節(jié)頻率的增加和減少,一個用來調(diào)節(jié)幅值的增加和減少,一個確認鍵。如下圖9所示圖9單片機接按鍵示意圖342顯示電路的設(shè)計為了使具體輸出波形的頻率和幅值正確顯示出來,方便用戶使用,因此設(shè)計中還包括顯示部分。在顯示部分本設(shè)計采用三位一體共陽極數(shù)碼管,并采用動態(tài)顯示的方法來設(shè)計。欲顯示十進制或十六進制數(shù)字及某些其他簡單字符,可選用七段LED顯示器。AG七段及十進制小數(shù)點DP均為一發(fā)光二極管。若系共陽結(jié)構(gòu),則它們的陽極為一公共點,接電源正極。八只發(fā)光二極管的陰極互相獨立,哪一段陰極接地,哪一段即發(fā)光,陰極也接高電平者便成暗狀。如果是共陰結(jié)構(gòu),那么陰極公共點接地,各陽極獨立,接高電平者發(fā)光,陽極接地者呈暗狀。根據(jù)以上討論可知,欲在一個LED顯示器上顯示某特定字符,必須向某公共點及各段施加正確的電壓。對公共點的施壓操作稱為位選;對各段的操作為段選。段選碼亦稱字形碼。由于設(shè)計中要用到4個按鍵,還要6位LED顯示,若采用靜態(tài)顯示則占用I/O太多,所以我們選擇用動態(tài)顯示方式。顯示電路如下圖10所示圖10LED動態(tài)顯示電路動態(tài)顯示就是微型計算機定時地對顯示器件掃描,在這種方法中,顯示器件分時工作,每次只有一個器件顯示,但是由于人的視覺有暫留現(xiàn)象,所以只要掃描頻率足夠快,仍然會感覺所有的器件都在顯示,如許多單片機的開發(fā)系統(tǒng)以及仿真器上的六位顯示器都是采用這類顯示方法。此種顯示的有點是使用硬件少,因而價格低,線路簡單。35本章小結(jié)本章主要介紹了實現(xiàn)設(shè)計目的的硬件解決方案。文中對各部分電路進行了簡單的介紹,同時介紹了主要應(yīng)用的集成芯片的使用方法和基本資料。第4章軟件部分的設(shè)計41軟件總體流程軟件是整個系統(tǒng)的靈魂。如果沒有軟件,整個系統(tǒng)就是一個空殼。本設(shè)計中軟件分為初始化模塊、顯示模塊、鍵盤掃描模塊、鍵值處理模塊和波形產(chǎn)生模塊。整個軟件的流程圖如圖11所示圖11軟件流程圖本設(shè)計程序的工作流程是首先通過鍵盤輸入,確認是有鍵按下的時候,單片機內(nèi)部區(qū)分清楚是控制什么鍵,確定輸入的波形,調(diào)節(jié)波形的頻率和幅值,最終輸出。42各部分軟件設(shè)計421鍵盤顯示模塊設(shè)計1、鍵盤掃描程序的設(shè)計鍵盤掃描程序的作用是從鍵盤獲取按鍵信息,根據(jù)按鍵信息來執(zhí)行命令操作。這部分是用戶對系統(tǒng)進行操作的唯一途徑。這部分程序的正確編寫是確保人機正常對話的前提保證。鍵盤掃描程序流程圖如下圖12所示圖12鍵盤掃描程序流程圖鍵盤全掃描的作用是判斷是否有按鍵按下。其方法是依次掃描接按鍵的每個口,沒有按鍵按下時,為高電平,當掃描到低電平時,則說明有按鍵按下。由于采用的按鍵是機械按鍵,會有一定的抖動,一般抖動持續(xù)510MS,影響判斷。為了消除干擾,在判斷有按鍵按下后要調(diào)用延時程序消除抖動,然后再判斷是否有按鍵按下。最后用查表的方法就可以得到鍵值。2、鍵值處理的程序設(shè)計鍵值處理的作用是按照鍵值來選擇命令操作,以達到操作的目的。鍵值處理是否合理,直接影響人機對話的順利進行。因為設(shè)計中一共只有4個按鍵,所以首先要判斷鍵值是否合法,若鍵值大于4則視為非法,返回主程序。判斷鍵值合法后還要判斷按鍵是功能鍵還是數(shù)字鍵,之后再選擇相應(yīng)的操作。數(shù)字鍵處理程序由于本設(shè)計中為了簡化程序,要求必須首先選擇波形,當波形未設(shè)置時,數(shù)字鍵是無效的,必須返回。所以本段程序要首先判斷波形位是否已經(jīng)設(shè)定。若數(shù)字鍵合法,就按照輸入的先后順序?qū)㈡I值送入規(guī)定的地址單元。當4位數(shù)據(jù)送滿之后,系統(tǒng)雖然掃描鍵盤,但對數(shù)字鍵只做放棄處理。功能鍵處理程序功能鍵包括一個波形參數(shù)選擇按鍵和一個確認鍵。波形鍵按下時,將向波形存儲單元送入相應(yīng)的數(shù)值。正弦波為1,三角波為2,方波為3。確認鍵的作用比較關(guān)鍵。一旦確認鍵按下,則系統(tǒng)不再進行鍵盤掃描,而是按照輸入的數(shù)據(jù)進行信號是幅度和頻率選擇處理,然后進入相應(yīng)的波形輸出程序。由于設(shè)計的整個系統(tǒng)比較簡單,用途也只是使用于一般場合,所以系統(tǒng)中沒有采用中斷的方法來改變系統(tǒng)的運行。當系統(tǒng)開始輸出信號之后,相當于系統(tǒng)已經(jīng)進入了一個不斷輸出信號的死循環(huán)程序。用戶只能通過復(fù)位鍵才能停止系統(tǒng)并重新操作。這樣大大簡化了程序設(shè)計,但并不影響系統(tǒng)的性能。對于這種不太復(fù)雜的系統(tǒng),采用這種簡單的程序操作是十分有利的。頻率的處理是系統(tǒng)信號可調(diào)性的一個關(guān)鍵。由于系統(tǒng)的時鐘和采樣密度的限制,本設(shè)計在頻率點的選擇上并沒有均等地設(shè)定頻率點。而是選擇10HZ、20HZ100HZ、200HZ800HZ。根據(jù)這一特性,采用列表的方法將這些頻率點依次列出,并且在最前面加上0頻率的值。然后在查表處理的時候先判斷頻率百位是否為0,如果百位不為0,則將百位的數(shù)據(jù)加9,再進行查表。如果百位為0,則直接用其數(shù)據(jù)作為變址查表。具體程序如下WAITACALLDISPLAYJNBP01,L1JNBP02,L2JNBP03,L3JBP00,WAIT;沒有按鍵按下時等待MAINLCALLDISPLAY;調(diào)顯示,算是延時JNBP00,MAIN;等待按鍵彈起,;執(zhí)行第一個按鍵的要求L1;執(zhí)行第二個按鍵的要求L2;執(zhí)行第三個按鍵的要求L3;執(zhí)行第四個按鍵的要求對于這種頻率間隔較大的列表采用了這種查詢方法,如果對于密集的頻率點就要采用比較復(fù)雜的查詢方法。對于本設(shè)計而言,重在討論實現(xiàn)參數(shù)可調(diào)的信號輸出的方法,所以在細節(jié)方面略有欠缺。只要在此基礎(chǔ)上調(diào)整一些細節(jié)程序便可以增多頻率點。422波形產(chǎn)生模塊的設(shè)計波形產(chǎn)生模塊是設(shè)計是否實現(xiàn)的關(guān)鍵。本次設(shè)計要求輸出三種波形,其精度如何,關(guān)鍵都在于波形產(chǎn)生模塊設(shè)計的合理性。本設(shè)計中采用的是用單片機產(chǎn)生信號,而單片機只能產(chǎn)生數(shù)字信號,無論是信號頻率還是信號幅度都是離散的點,所以采用按照控制要求查表輸出的方法來輸出信號。其中方波的產(chǎn)生方法比較簡單只要定時地向外輸出0FFH和00H即可。正弦波和三角波的產(chǎn)生原理比較相近,在此以正弦波產(chǎn)生方法為例加以介紹。正弦波的產(chǎn)生是通過對標準正弦波進行采樣輸出而得到的,采樣間隔越小,正弦波的輸出精度就越高,失真度越小。本設(shè)計中為了提高信號的精度,對信號的四分之一周期采樣19個點。每隔一定的時間間隔送出一個幅度值,幅度值可以用查表的方法得到。信號的頻率可以用控制每兩個輸出的時間間隔來完成。這部分控制是由定時計數(shù)器來實現(xiàn)的。向計數(shù)器裝入計數(shù)初值,當計數(shù)器溢出時就表示時間到,查表輸出下一個數(shù)。各個頻率點的計數(shù)初值是人工計算列表,在用程序查表得到的。這一部分程序是在確認鍵處理中進行的。由于所計算的時間間隔是一個理論值,在實際中會因為系統(tǒng)的傳輸延時而使頻率略微偏離所設(shè)計的頻率點。同樣的,點的輸出是靠程序?qū)崿F(xiàn)的,而程序指令的執(zhí)行也是需要一定的機器周期的,而且不同的指令執(zhí)行需要的機器周期是不同的,所以在頻率控制這一方面很難達到十分精準,只能盡量降低誤差。(1)方波產(chǎn)生程序SQUAREMOVEDPTR,7FFFHCLRALOOPMOVXDPTR,ALCALLDELAYCPLASJMPLOOP方波波形的產(chǎn)生主要是通過控制使單片機輸出高低電平來實現(xiàn)的。幅值的調(diào)節(jié)可以通過控制給DAC0832送入的數(shù)值量來調(diào)節(jié)。(2)鋸齒波產(chǎn)生程序SAWTOOTHMOVDPTR,7FFFHMOVA,00HLOOPMOVXDPTR,AINCALCALLDELAYAJMPLOOPDELAYMOVR3,XDEL1MOVR4,YDEL2MOVR5,ZDEL3DJNZR5,DEL3NOPDJNZR4,DEL2DJNZR3,DEL1RETEND鋸齒波的產(chǎn)生主要通過使電壓不斷連續(xù)增加,到達一定幅值的時候再瞬間降低為0。(3)正弦波產(chǎn)生程序MOVDPTR,SINTAB正弦表寫入內(nèi)部RAM6DH7FHMOVR0,6DHLOOPCLRAMOVCA,ADPTRMOVR0,AINCDPTRINCR0CJNER0,80H,LOOPMOVDPTR,7FFFH設(shè)置D/A轉(zhuǎn)換器的端口地址MOVR0,6DH設(shè)置正弦表指針LOOP1MOVA,R0查表MOVXDPTR,AD/A轉(zhuǎn)換ACALLDELAY延時,等待轉(zhuǎn)換結(jié)束DECR0正弦表位移量增量CJNER0,6DH,LOOP1第一象限輸出完LOOP2MOVA,R0查表MOVXDPTR,AD/A轉(zhuǎn)換ACALLDELAY延時,等待轉(zhuǎn)換結(jié)束DECR0正弦表位移量減量CJNER0,6DH,LOOP2第二象限輸出完LOOP3MOVA,R0查表CPLA表值取反MOVXDPTR,AD/A轉(zhuǎn)換ACALLDELAY延時,等待轉(zhuǎn)換結(jié)束INCR0正弦表位移量增量CJNER0,7FH,LOOP3第三象限輸出完LOOP4MOVA,R0查表CPLA表值取反MOVXDPTR,AD/A轉(zhuǎn)換ACALLDELAY延時,等待轉(zhuǎn)換結(jié)束DECR0正弦表位移量減量CJNER0,6DH,LOOP4第四象限輸出完SJMPLOOP1DELAYMOVR7,200延時50MSDEL1MOVR6,123NOPDEL2JNZR6,DEL2DJNZR7,DEL1RETSINTABDB80H,83H,86H,89H,8DH,90H,93H,96HDB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB96H,93H,90H,8DH,89H,86H,83H,80HDB80H,7CH,79H,78H,72H,6FH,6CH,69HDB66H,63H,60H,5DH,5AH,57H,55H,51HDB4EH,4CH,48H,45H,43H,40H,3DH,3AHDB38H,35H,33H,30H,2EH,2BH,29H,27HDB25H,22H,20H,1EH,1CH,1AH,18H,16HDB15H,13H,11H,10H,0EH,0DH,0BH,0AHDB09H,08H,07H,06H,05H,04H,03H,02HDB02H,01H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,01H,02HDB02H,03H,04H,05H,06H,07H,08H,09HDB0AH,0BH,0DH,0EH,10H,11H,13H,15HDB16H,18H,1AH,1CH,1EH,20H,22H,25HDB27H,29H,2BH,2EH,30H,33H,35H,38HDB3AH,3DH,40H,43H,45H,48H,4CH,4EHDB51H,55H,57H,5AH,5DH,60H,63H,66HDB69H,6CH,6FH,72H,76H,79H,7CH,80HEND因為正弦波的波形沒有規(guī)律的變化,所以,正弦波的產(chǎn)生主要是通過對正弦波四個象限的電壓值取點采樣,將數(shù)據(jù)輸入表格,當要求輸出正弦波的時候,查表輸出。43本章小結(jié)本章主要介紹了系統(tǒng)的軟件解決方案,詳細給出了對課題的理解和解決思路。對整體軟件進行了分模塊闡述,對大部分內(nèi)容附加了流程圖加以詳解。第5章系統(tǒng)的安裝與調(diào)試51系統(tǒng)設(shè)計的安裝與調(diào)試設(shè)計是最終要投入實際應(yīng)用的,因此,整個設(shè)計的安裝、調(diào)試便是設(shè)計的重要環(huán)節(jié)。系統(tǒng)的調(diào)試分為硬件焊接和軟件調(diào)試。硬件焊接是整個調(diào)試的基礎(chǔ),而軟件調(diào)試又是系統(tǒng)是否正常工作的核心內(nèi)容。因此,這兩部分調(diào)試要按照嚴格的順序,并要有嚴格認真的態(tài)度來對待。52系統(tǒng)的各部分調(diào)試521系統(tǒng)硬件調(diào)試硬件的調(diào)試要從硬件電路焊接開始,硬件電路的焊接也是整個調(diào)試過程的基礎(chǔ)。在硬件焊接之前,我們仔細檢查了根據(jù)自己的電路圖所需要的各個元件,核對其型號和數(shù)值,以免出現(xiàn)錯焊的現(xiàn)象。每一個元器件,都用萬用表測試過后再使用,以保證其工作在正常狀態(tài)。在檢查之后,盡量按照電路模塊擺放各元件,使電路美觀,并且為各部分留出充裕的空間,這樣會為電路的調(diào)試和檢查電路提供很大的方便。在這些準備工作做好后,開始焊接電路。焊接的時候是一部分一部分的焊上去,一個模塊一個模塊的焊,焊完之后要仔細檢查電路的焊接情況,用萬用表檢查電路是否有短路現(xiàn)象,尤其是電源和地之間的短路現(xiàn)象,如果短路現(xiàn)象沒有被發(fā)現(xiàn)的話,將導(dǎo)致整個系統(tǒng)的非正常工作,甚至是系統(tǒng)崩潰,還有可能燒壞電源出現(xiàn)危險。檢查無誤后,可以用仿真器來將相應(yīng)部分的程序部分在電路上進行仿真,這樣可以檢查電路的工作情況,也是分級調(diào)試的重要方法。在本設(shè)計調(diào)試的初級階段,首先要確定單片機的最小系統(tǒng)可以正常工作,這是隨后進行一切調(diào)試過程的基礎(chǔ)。隨后編寫一些簡單的程序,驗證鍵盤操作部分和顯示部分可以正常工作。在調(diào)試過程中,當確認電路焊接好后,要將單片機插在插座上,通電,然后用示波器看其晶體振蕩器兩端是否有方波產(chǎn)生。如果出現(xiàn)方波,則表示晶體振蕩器完好。之后還要測量單片機的30引腳,看它是否也會輸出方波,并且其輸出頻率是晶體振蕩器的1/6。這些工作都是保證單片機能夠正常工作的前提。522系統(tǒng)軟件調(diào)試系統(tǒng)的軟件相當于系統(tǒng)的內(nèi)臟和靈魂,軟件的正確編寫是系統(tǒng)能否按要求工作的前提。由于我對軟件知識的缺乏,所以最初的軟件調(diào)試出現(xiàn)了很多困難。在對程序指令及運行時序的了解之后,程序完成的比較順利。在軟件編寫的開始,我先畫了軟件的流程圖,然后按照程序流程圖來編寫相應(yīng)的子程序,使程序易于理解和更正。程序的編寫要層次分明,盡量減少復(fù)雜多變的跳轉(zhuǎn)指令,因為伴隨著跳轉(zhuǎn)指令的增加,系統(tǒng)執(zhí)行指令的時序常常出現(xiàn)錯亂,并且經(jīng)常出現(xiàn)邏輯錯誤。在發(fā)現(xiàn)這個問題之后,盡量運用一些可重復(fù)調(diào)用的子程序,盡量避免程序的錯亂。在顯示模塊的調(diào)試中,首先測量數(shù)碼管是否有壞段,在編寫最簡單的程序驗證其是不是可以工作。并確認數(shù)碼管不亮的地方不是由軟件及其他電路引起的故障。觀察顯示是否正常單片機與D/A的轉(zhuǎn)化、波形產(chǎn)生部分的程序調(diào)試比較復(fù)雜。這部分的仿真調(diào)試主要是查看波形產(chǎn)生程序的工作是否正常,還有監(jiān)視數(shù)據(jù)輸出端口,也就是P0口是數(shù)據(jù)是否變化。對兩片D/A的選通信號也是重要的監(jiān)視對象。53在調(diào)試過程中遇到的問題在調(diào)試顯示部分電路的時候,剛開始,燒錄好程序之后,給電路通電,發(fā)現(xiàn)數(shù)碼管工作狀態(tài)很不正常,有的亮有的不亮,而且很不穩(wěn)定。仔細檢查之后,有幾處的焊接不很結(jié)實,出現(xiàn)了虛焊的現(xiàn)象,還有晶振也沒有焊好,當修改好這部分之后,顯示部分和按鍵部分都可以正常工作。通過對這兩個故障的排查,總結(jié)出電路短路和虛焊是調(diào)試中的最大問題,所以在今后的調(diào)試中都要仔細排查這一問題。在波形產(chǎn)生模塊的調(diào)試中,發(fā)現(xiàn)D/A始終沒有數(shù)據(jù)。根據(jù)這個現(xiàn)象,仔細檢查了軟件的編寫。問題出在沒有向該口送數(shù)據(jù),原來的程序指令是向D/A的地址里送數(shù)據(jù),這種方法我也是第一次使用,結(jié)果不能實現(xiàn)。在此情況下我更改了指令,直接向P0口送數(shù)據(jù),結(jié)果P0口開始按要求傳送數(shù)據(jù),故障解決。由此問題我學(xué)到了關(guān)于編程的解決問題,指令也許沒有錯,但是在特定的功能上有些指令是不能替代的,也必須多加調(diào)試才能解決。調(diào)試的過程中,當信號不能正常輸出時,很難判斷問題出在哪里。這個時候,將軟件仿真暫停,然后可以用萬用表測量由單片機輸出給D/A轉(zhuǎn)換器各位的電平,也可以測量D/A轉(zhuǎn)換器的輸出管腳,看輸出的電平是否符合理論要求。用這種方法可以檢測到具體是哪個電路出了問題,是檢查電路的一個好方法。在實際接收波形信號時,發(fā)現(xiàn)頻率總是和要求有一定差距。分析其原因是計數(shù)器的定時完成的頻率控制只是一個近似值。盡管可以從理論上計算出兩個頻率點的時間間隔,但有時候這個時間間隔用計數(shù)器來定時的話,所要求計數(shù)并不是一個正數(shù),所以無法達到準確。隨著頻率的增大,這種影響也就越突出。系統(tǒng)延時和程序執(zhí)行周期對頻率都有一定影響,這些問題的存在使頻率點計算十分復(fù)雜,在今后的設(shè)計中都要著重注意,要把程序的執(zhí)行周期對頻率的影響認真考慮一下。54本章小結(jié)本章主要介紹了整個系統(tǒng)的實現(xiàn)過程。包括硬件電路的焊接、調(diào)試過程和發(fā)現(xiàn)問題、解決問題的過程。并提出了一些對課題的更深理解和對今后提出了一些注意事項。結(jié)論本次的畢業(yè)設(shè)計運用了AT89S51單片機和DAC0832數(shù)模轉(zhuǎn)換器組成了低頻信號發(fā)生器。AT89S51的功能強、體積小、價格低和高可靠性的特點,以及DAC0832靈活使用和高精度的特點,使得本次設(shè)計具有低成本、高可靠性、靈活方便的特點。本次設(shè)計成功的產(chǎn)生了正弦波、三角波和方波。在教學(xué)實驗中可以得到廣泛的應(yīng)用。然而在實際中我們能夠產(chǎn)生的波形遠遠不只這三種,只要增加相應(yīng)的波形程序便可以產(chǎn)生所要的波形。也可以增加一些程序使得信號的相位可調(diào),這也是本次設(shè)計的一大特點。由于實現(xiàn)方法比較簡單,并且所用單片機I/O接口比較少,可以按用戶需要增加一些其他功能。本次設(shè)計的信號頻率都是在低頻段,由于設(shè)計中只需考慮設(shè)計要求,頻率范圍做的不是很大。其主要限制因素是信號的采樣點的多少和所用晶體振蕩器的頻率選擇。當然,編程的簡要程度也會影響系統(tǒng)的最大輸出頻率。在今后的設(shè)計中可以根據(jù)自己的需要選擇合適的各因素組合,選擇最適合自己的采樣率,這樣才可以達到滿足失真度和頻帶寬度兩者兼顧的目的。今后如果設(shè)計的話,應(yīng)該在合理的采樣率下工夫,并且盡量壓縮編程命令語句,使得指令所耗費的時間減少。這樣可以提高計數(shù)器計時的精度。在設(shè)計中我們也看到,由于采用計數(shù)器來控制頻率,所產(chǎn)生的頻率在大多數(shù)情況下不能完好的等于所要頻率,只是一個近似值。而且頻率越大、失真也就越大。而且程序的精簡度對信號的頻率控制影響也逐漸增大。這些問題都是可以隨著設(shè)計經(jīng)驗的增加而逐漸得到較好的解決,但卻是不可避免的??偨Y(jié)與體會這次的畢業(yè)設(shè)計,是大學(xué)以來我所接觸的最為系統(tǒng)最為規(guī)范的設(shè)計,時間的跨度也比較大。從一開始的查找資料、確定最終設(shè)計方案,到最后的整體電路調(diào)試,每一個過程,每一個細節(jié)都是認真仔細的走過來的,最終我的設(shè)計結(jié)果雖然沒有完全的滿足是設(shè)計要求,但是,也成功實現(xiàn)了部分功能。在本設(shè)計中,硬件部分遇到的最大的困難就是電路雜亂,最終做成的成品電路很不美觀,但是實用價值沒有因此而降低,在軟件程序的編寫方面,波形產(chǎn)生部分的數(shù)值要經(jīng)過詳細的計算才,這樣會提高輸出波形的精度。本次設(shè)計的過程中我碰到很多的困難,但是在指導(dǎo)老師詳細的指導(dǎo)下,那些攔路虎被我一個個的解決,對于我來說,是一個很好的提升機會。在此過程中,我學(xué)到了很多東西,對我自己解決問題分析問題的能力也是一個新的挑戰(zhàn)。致謝本次設(shè)計的成功完成,首先要感謝電子教研室的全體老師,沒有他們的幫助和指導(dǎo),設(shè)計是難以完成的。感謝XXX老師老師對我本次設(shè)計的細心指導(dǎo)和督促,對我的設(shè)計給予了很大的幫助。在實驗中給予了我很多方法和思路,對我有很大的啟發(fā)。感謝胡老師對本次設(shè)計的支持和幫助,使得本次設(shè)計順利完成。同樣感謝我身邊的同學(xué)們,在與他們的討論中,找到了許多問題的解決方法也少走了很多彎路。再次感謝所有對本次設(shè)計有過幫助的單位和個人,真心地祝福你們參考文獻1徐科軍主編傳感器與檢測技術(shù)北京電子工業(yè)出版社,200492李光飛,樓然苗等編著單片機課程實例指導(dǎo)北京北京航空航天大學(xué)出版社,200493胡健主編單片機原理及接口技術(shù)實踐教程北京機械工業(yè)出版社,200484馬忠梅,籍順心等單片機的C語言應(yīng)用程序設(shè)計北京北京航空航天大學(xué)出版社,199915徐愛鈞,彭秀華單片機高級語言C51應(yīng)用程序設(shè)計北京電子工業(yè)出版社,199866張迎新單片微型計算機原理、應(yīng)用以及接口技術(shù)(第2版)北京國防工業(yè)出版社20047蘇平單片幾原理與接口技術(shù)北京電子工業(yè)出版社20038張李勇,陳朗,張飛舟基于8051單片機的雙通道波形發(fā)生器的設(shè)計與實現(xiàn)J計算機工程與應(yīng)用,2004089高明卿,柴鈺,宋先文,劉開求一種單片機可控多功能波形發(fā)生器的設(shè)計J西安科技學(xué)院學(xué)報,20040210陳傳偉,汲曉鷗單片機智能化波形發(fā)生器J儀表技術(shù)與傳感器,20011011趙建領(lǐng)51系列單片機開發(fā)寶典北京電子工業(yè)出版

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論