多路信號發(fā)生器_第1頁
多路信號發(fā)生器_第2頁
多路信號發(fā)生器_第3頁
多路信號發(fā)生器_第4頁
多路信號發(fā)生器_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄緒論 21多路信號發(fā)生器的背景 21.1國內(nèi)外研究狀況 21.2本次設(shè)計(jì)的信號發(fā)生器的簡介 31.3智能信號發(fā)生器的單片機(jī)背景 31.4信號發(fā)生器的數(shù)模轉(zhuǎn)換背景 42多路信號發(fā)生器的方案設(shè)計(jì) 52.1系統(tǒng)框圖設(shè)計(jì) 52.2各功能模塊設(shè)想 62.3系統(tǒng)總體方案設(shè)計(jì) 63多路信號發(fā)生器的硬件設(shè)計(jì) 73.1硬件畫圖軟件介紹 73.2硬件模塊設(shè)計(jì) 73.3DAC0832轉(zhuǎn)換電路 113.4運(yùn)放電路 133.5LCD顯示電路 143.6鍵盤模塊 164多路信號發(fā)生器的軟件設(shè)計(jì) 174.1系統(tǒng)主流程 174.2各程序模塊設(shè)計(jì) 185多路信號發(fā)生器的仿真 225.1仿真軟件介紹 225.2三角波仿真 236結(jié)論 23參考文獻(xiàn) 25淮南師范學(xué)院2013屆本科畢業(yè)論文多路信號發(fā)生器的設(shè)計(jì)摘要:信號發(fā)生器是一種能產(chǎn)生模擬電壓信號的設(shè)備,被廣泛應(yīng)用于電子電路。本設(shè)計(jì)以AT89C51單片機(jī)為核心構(gòu)成了一個(gè)低頻信號發(fā)生器,采用程序設(shè)計(jì)的方法產(chǎn)生不同頻率的正弦波、矩形波、三角波三種波形的信號,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,最終由示波器顯示出來。在本設(shè)計(jì)中,可以通過鍵盤來控制三種波形的類型選擇、頻率變化,并能通過液晶屏LCD1602顯示其各自的波形類型以及頻率值。本設(shè)計(jì)最終用Protues仿真實(shí)現(xiàn)了三角波。關(guān)鍵字:單片機(jī);DAC0832;信號波形;信號頻率DesignofMulti-ChannelSignalGenerator(DepartmentofElectricandInformationEngineering,HuainanNormalUniversity)Abstract:Thesignalgeneratorisadevicewhichcangenerateanalogvoltagesignal,iswidelyusedinelectroniccircuitry.ThedesignisalowfrequencysignalgeneratorwiththecoreofAT89C51microcontroller,andusingprogramdesignmethodsproducedifferentfrequencywavesuchassinewave,rectangularwave,trianglewave.ThenthroughtheD/Aconverterdigitalsignalsintotheanalogsignalandultimatelydisplaybyanoscilloscope.Thisdesignusesthekeyboardtoselectthetypeandfrequencyofthewaveform.Thefrequencyandamplitudeofthesignalwithinacertainrangecanbearbitrarilychanged,andthroughLCD1602displayitswaveformtypeandfrequencyvalues??.ThedesignultimatelyusesProtuestosimulatetrianglewave.Keywords:SingleChipMicrocomputer;DAC0832;Signalwaveform;Signalfrequency多路信號發(fā)生器的設(shè)計(jì)1.4信號發(fā)生器的數(shù)模轉(zhuǎn)換背景數(shù)模轉(zhuǎn)換器是一種將輸入的數(shù)字信號轉(zhuǎn)換成模擬信號輸出的電路或器件,它被廣泛地應(yīng)用在信號采集和處理、數(shù)字通信、自動檢測、自動控制和多媒體技術(shù)等領(lǐng)域。無論在工業(yè)生產(chǎn)還是在科學(xué)研究中,常常要對某些系統(tǒng)參數(shù)進(jìn)行采集、加工和控制,它們往往是非電的模擬量,例如聲、光、磁、熱和機(jī)械參數(shù)等。為了用電子技術(shù)處理這些停息。先要通過傳感器把這些非電信號變換為相應(yīng)的電信號。隨著數(shù)字技術(shù)的迅速發(fā)展和成熟,尤其是微處理器的迅速發(fā)展和廣泛應(yīng)用,使數(shù)字信號的大量存儲、快速正確地處理和控制成為很容易的事,因而用數(shù)字技術(shù)處理模擬信號已越來越受到而視。方法是先把模擬電信號變換為數(shù)字信號(模數(shù)轉(zhuǎn)換),再利用數(shù)字技術(shù)對數(shù)字技術(shù)加工處理,處理結(jié)果根據(jù)需要再變換為模擬電信號(數(shù)模轉(zhuǎn)換),以適應(yīng)后面顯示或執(zhí)行機(jī)構(gòu)的要求,實(shí)現(xiàn)對模擬信的顯示或控制。例如工業(yè)生產(chǎn)中常常需要對系統(tǒng)的溫度參數(shù)進(jìn)行控制,當(dāng)采用數(shù)字系統(tǒng)實(shí)現(xiàn)其功能時(shí),先用熱電偶或其他溫度傳感器把系統(tǒng)溫度轉(zhuǎn)換成電壓,經(jīng)放大和濾波等預(yù)處理,用模數(shù)轉(zhuǎn)換器把它變換成對應(yīng)的數(shù)字量,再送入數(shù)字系統(tǒng)處理,根據(jù)系統(tǒng)情況和控制要求產(chǎn)生的處理結(jié)果用數(shù)模轉(zhuǎn)換器變換為模擬電壓.用來而控制加熱系統(tǒng)的功率、實(shí)現(xiàn)對統(tǒng)溫度參數(shù)的控制。總之,相應(yīng)的數(shù)字-模擬轉(zhuǎn)換器和模-數(shù)轉(zhuǎn)換器的基本功能。ADC數(shù)字系統(tǒng),模擬電子系統(tǒng)的單個(gè)值的數(shù)字信息與模擬信號的函數(shù)關(guān)系,而DAC的模擬信號數(shù)字處理系統(tǒng),背部成相應(yīng)的模擬系統(tǒng),檢測和控制狀態(tài)的看法模擬系統(tǒng)。因此,DAC是一種常見的數(shù)字電子系統(tǒng)和電子系統(tǒng)仿真之間的接口電路。數(shù)模轉(zhuǎn)換器的發(fā)展經(jīng)歷了電子管,晶體管,集成電路。40年代后期,??人們開始研究數(shù)字通信,如脈沖編碼調(diào)制通信的研究和實(shí)踐。將被傳送的模擬語音,圖像等連續(xù)變化的轉(zhuǎn)換需要發(fā)送部分轉(zhuǎn)換成數(shù)字形式,發(fā)送和信號接收部分接收到的數(shù)字信號轉(zhuǎn)換成聲音,圖象縮小。因此,從管組件的模擬-數(shù)字轉(zhuǎn)換器和數(shù)字-模擬轉(zhuǎn)換器的發(fā)展,使數(shù)字通信的可靠性和經(jīng)濟(jì)性可以實(shí)現(xiàn)的。隨著晶體管技術(shù)的發(fā)展和成熟。到50年代末,電子管轉(zhuǎn)換器逐漸被取代晶體管,該轉(zhuǎn)換器的體積和重量大大降低。數(shù)碼電腦的興起,發(fā)展和應(yīng)用的不斷擴(kuò)大,促進(jìn)了集成電路和轉(zhuǎn)換技術(shù)的飛速發(fā)展。到60年代中期,構(gòu)成了一些主要功能,如參考電壓單元電路源、模擬開關(guān)、運(yùn)算放大器等已制成半導(dǎo)體集成電路。同時(shí)薄膜集成電路和厚膜集成電路也有很大發(fā)展。淮南師范學(xué)院2013屆本科畢業(yè)論文70的開始時(shí),所有的組件都集成在一個(gè)芯片上的單片集成數(shù)字至模擬轉(zhuǎn)換器。它標(biāo)志著一個(gè)數(shù)字-模擬轉(zhuǎn)換器,真正實(shí)現(xiàn)了工業(yè)化批量生產(chǎn)階段。此后,轉(zhuǎn)換器得到了迅速發(fā)展。不斷提高的表現(xiàn)。集成電路技術(shù)的進(jìn)一步發(fā)展,結(jié)合CMOS技術(shù)標(biāo)準(zhǔn)雙極型和CMOS技術(shù)的結(jié)合,消耗功率小,集成度高,模擬開關(guān)的雙向特性。在的DAC功能方面,不僅具有一般的功能,以及一些具體的數(shù)字到模擬轉(zhuǎn)換器,特殊功能,如DAC視頻彩色顯示屏。將模擬音頻信號到音頻數(shù)字至模擬轉(zhuǎn)換器,數(shù)字電位來代替手動調(diào)節(jié)電位器設(shè)計(jì),使用特殊的數(shù)字音頻信號,編碼和解碼系統(tǒng)中使用脈沖編碼調(diào)制擴(kuò)數(shù)字到模擬轉(zhuǎn)換器,在D/A轉(zhuǎn)換器具有兩個(gè)輸出形式,一種是,數(shù)字輸入和輸出電壓的電壓輸出的形式。另一種是電流輸出形式,即輸出電流。在實(shí)際應(yīng)用中,例如,需要模擬的話,電流輸出的D/A轉(zhuǎn)換器,電流-輸出運(yùn)算放大器的電壓轉(zhuǎn)換電路,轉(zhuǎn)換器的輸出電流的電壓。在單芯片微機(jī)控制與智能儀表應(yīng)用系統(tǒng)有關(guān)的可變控制或測量對象物,通常是模擬的連續(xù)變化,如溫度,壓力,流量,流速等物理量。必須被轉(zhuǎn)換為數(shù)字量模擬量可以是輸入到微控制器進(jìn)行處理。MCU處理的結(jié)果,常常需要將其轉(zhuǎn)換為模擬信號。如果輸入信號是沒有必要的傳感器后,轉(zhuǎn)換為模擬信號。模擬量到數(shù)字量的移動設(shè)備的實(shí)現(xiàn)被稱為模擬到數(shù)字轉(zhuǎn)換器(ADC),移動設(shè)備的數(shù)字到模擬轉(zhuǎn)換器,稱為數(shù)字-模擬轉(zhuǎn)換器(DAC)。2多路信號發(fā)生器的方案設(shè)計(jì)2.1系統(tǒng)框圖設(shè)計(jì)本課題利用單片機(jī)采用程序設(shè)計(jì)的方法來產(chǎn)生低頻信號,不但成本較低而且精度也較高。只需要通過按鍵就可以控制和操作儀器、例如:波形選擇、頻率調(diào)節(jié),波形類型和頻率值可以通過液晶顯示屏LCD1602顯示,操作起來簡單、方便、靈活。通過程序控制單片機(jī)來實(shí)現(xiàn)相關(guān)功能,避免了傳統(tǒng)電路搭接中出現(xiàn)的工作不穩(wěn)定、不易調(diào)試等各種問題,使得信號發(fā)生器易于控制,提高了信號精度,抗干擾能力強(qiáng),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微的調(diào)整,使其能夠滿足應(yīng)用時(shí)的要求。我們把系統(tǒng)模塊化,分為單片機(jī)模塊、顯示模塊、數(shù)模轉(zhuǎn)換模塊和鍵盤模塊四個(gè)模塊。將各個(gè)模塊加以整合,我們得出系統(tǒng)大多路信號發(fā)生器的設(shè)計(jì)致的結(jié)構(gòu)框圖,如圖1所示圖1系統(tǒng)總體結(jié)構(gòu)框圖2.2各功能模塊設(shè)想(1)單片機(jī)模塊——負(fù)責(zé)的功能是正弦波、三角波、方波和矩形波四種波形的產(chǎn)生以及通過對鍵盤信號進(jìn)行檢測分析完成調(diào)頻功能,并能發(fā)送信號控制顯示模塊顯示波形類型以及頻率值。這一模塊功能的實(shí)現(xiàn)主要是通過所編寫的程序進(jìn)行控制,是整個(gè)設(shè)計(jì)的核心。(2)顯示模塊——負(fù)責(zé)的功能是波形類型以及頻率大小的顯示,接收來自單片機(jī)的控制信號及數(shù)據(jù)信號,將單片機(jī)根據(jù)波形類型與頻率所產(chǎn)生的信號進(jìn)行處理后顯示出來實(shí)現(xiàn)顯示功能。(3)數(shù)模轉(zhuǎn)換模塊——負(fù)責(zé)將波形信號從數(shù)字信號轉(zhuǎn)換成模擬信號,進(jìn)而能在示波器上顯示出來,以便于通過示波器顯示的波形信號來對系統(tǒng)功能進(jìn)行驗(yàn)證,選擇合適的芯片,將單片機(jī)的I/O口接入即可實(shí)現(xiàn)功能。(4)鍵盤模塊——負(fù)責(zé)分配用于波形選擇、調(diào)頻的按鍵,是整個(gè)系統(tǒng)的主要輸入設(shè)備,為了實(shí)現(xiàn)調(diào)節(jié)功能,需要分配多個(gè)按鍵,為了不占用過多的I/O口,可以采用矩陣鍵盤陣列,合理分配按鍵,使操作更簡潔易懂,增加系統(tǒng)的人機(jī)交互功能。2.3系統(tǒng)總體方案設(shè)計(jì)2.3.1硬件方案硬件電路是系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),綜合設(shè)計(jì)思路,為了實(shí)現(xiàn)所要求的各功能,本設(shè)計(jì)選擇以AT89C51單片機(jī)為核心,結(jié)合以DAC0832組成的數(shù)模轉(zhuǎn)換電路、以LCD1602組成的。顯示模塊、以4I/O口的4×4矩陣鍵盤組成的鍵盤模塊和以LM324組成的濾波整形放大電路構(gòu)成系統(tǒng)的硬件電路[5]?;茨蠋煼秾W(xué)院2013屆本科畢業(yè)論文2.3.2軟件方案軟件設(shè)計(jì)是本設(shè)計(jì)的核心,需要通過程序設(shè)計(jì)實(shí)現(xiàn)算法,進(jìn)而實(shí)現(xiàn)系統(tǒng)功能。軟件部分主要包括一下幾個(gè)方面:(1)波形產(chǎn)生:由于設(shè)計(jì)要求的誤差,因此采用256個(gè)采樣點(diǎn),正弦波需要通過讀入波碼表的方式產(chǎn)生,方波、三角波、鋸齒波比較有規(guī)律,在程序中通過遞加、遞減等方式可以實(shí)現(xiàn)。(2)鍵盤部分:編寫程序檢測I/O口狀態(tài)變化,根據(jù)某一狀態(tài)變化確定所按下的按鍵,將信息返回到單片機(jī)內(nèi)進(jìn)行處理,設(shè)置波形切換、調(diào)頻所對應(yīng)的按鍵,當(dāng)功能按鍵按下時(shí)執(zhí)行相應(yīng)操作。(3)顯示部分:確定要顯示信息的位置所對應(yīng)的地址,在程序中可以改變地址將信息顯示在不同的位置,不同的字母對應(yīng)不同的編碼,顯示字母時(shí)將對應(yīng)編碼發(fā)送到顯示模塊即可。需要注意的是使用時(shí)需要對液晶顯示進(jìn)行初始化處理。3多路信號發(fā)生器的硬件設(shè)計(jì)3.1硬件畫圖軟件介紹該設(shè)計(jì)采用protues軟件畫電路圖。protues是應(yīng)用于操作系統(tǒng)Windows下的EDA設(shè)計(jì)軟件。它采用設(shè)計(jì)庫管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),是一個(gè)易于使用的具有大量元件庫的原理圖編輯器,也是一個(gè)功能強(qiáng)大的印制電路板設(shè)計(jì)編輯器,具有非常專業(yè)的交互式布線及元件布局的特點(diǎn)。它主要包含電路工程設(shè)計(jì)部分和電路仿真與PLD部分。電路工程設(shè)計(jì)部分包括電路原理圖設(shè)計(jì)、印刷電路板設(shè)計(jì)、自動布線系統(tǒng)三個(gè)功能模塊,電路仿真與PLD部分包括電路模擬仿真系統(tǒng)、可編程邏輯設(shè)計(jì)系統(tǒng)、高級信號完整性分析系統(tǒng)。該設(shè)計(jì)采用的運(yùn)行程序軟件是Keil軟件。它能直接用C語言進(jìn)行編程,開發(fā)效率高,避免了匯編語言的麻煩與復(fù)雜,修改與調(diào)試均較簡單。Keil軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,操作簡單方便。3.2硬件模塊設(shè)計(jì)3.2.1主控模塊主控電路模塊采用AT89C51芯片,它是一種4K字節(jié)的閃存可以低電壓可編程可擦除只讀存儲器,高性能CMOS8位微處理器。多路信號發(fā)生器的設(shè)計(jì)單片機(jī)EEPROM可擦除重復(fù)100次。該器件采用ATMEL公司的高密度非易失性存儲器制造技術(shù)制造,和行業(yè)-標(biāo)準(zhǔn)MCS-51指令集和輸出引腳兼容許多AT89C51單片機(jī)的嵌入式控制系統(tǒng)提供了高度的靈活性和成本效益的解決方案[2]。如下圖2和圖3圖2單片機(jī)實(shí)物圖圖3單片機(jī)原理圖3.2.2主控電路STC89C51MCU主要是在設(shè)計(jì)中使用的,具有以下優(yōu)點(diǎn):(1)提高了外部擴(kuò)展總線,總線可以方便地?cái)U(kuò)展的外圍設(shè)備,外圍接口。(2)RAM的數(shù)據(jù)存儲空間單片機(jī)內(nèi)部4K字節(jié),256字節(jié),在FLASHROM程序內(nèi)存空間,可以充分滿足計(jì)劃要求。由于芯片電可擦除的,因此,可反復(fù)使用。如果你改變了節(jié)目的內(nèi)容,該芯片可以采取書面形式。(3)單片機(jī)MCS-51型機(jī)和工業(yè)標(biāo)準(zhǔn)指令集和輸出引腳兼容。中斷系統(tǒng)處理能力的處理器與外部的異步事件集。當(dāng)CPU正在處理的事情,外面有一個(gè)緊急情況,要求CPU暫停當(dāng)前的工作,緊急處理[3]。使用兩個(gè)光直接與外部中斷0和外部中斷引腳1連接,其中,所述開關(guān)S1。程序主要功能,我們寫了一個(gè)死循環(huán),總是一個(gè)默認(rèn)輸出波形,當(dāng)按下S1或S2和解除,該程序?qū)簳r(shí)走出死循環(huán),進(jìn)入中斷處理程序,從而改變波形和頻率。時(shí)鐘電路。由于頻率較大時(shí),三角波、正弦波、方波等波中每一點(diǎn)延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間即可得到指定頻率的波形,該電路用11.0592MHz晶振。主控電路圖如圖4所示淮南師范學(xué)院2013屆本科畢業(yè)論文3.2.3單片機(jī)最小系統(tǒng)51單片機(jī)最小系統(tǒng)的復(fù)位電路電容影響復(fù)位時(shí)間,一般使用10?30UF,51單片機(jī)最小系統(tǒng)容量值復(fù)位時(shí)間需要更短。51單片機(jī)Y111.0592MHz的晶體,在正常情況下的最低系統(tǒng)可以用在更高頻率的晶體振蕩器,振蕩頻率的51單片機(jī)的最小系統(tǒng)直接影響單晶的處理速度,頻率的增加更快的處理速度。51單片機(jī)最小系統(tǒng)電路的電容一般采用15~33pF(30pF),而且電容距晶振越近越好,晶振離單片機(jī)越近越好。P0口是開漏輸出,作為一個(gè)輸出端口和一個(gè)上拉電阻器,電阻為10K。其它接口有內(nèi)部上拉電阻,輸出端口并不需要一個(gè)外部上拉電阻[4]。圖4單片機(jī)最小系統(tǒng)電路圖多路信號發(fā)生器的設(shè)計(jì)3.2.4時(shí)鐘電路單片機(jī)工作時(shí),從取指令到譯碼再進(jìn)行微操作,必須在時(shí)鐘信號控制下才能有序地進(jìn)行,時(shí)鐘電路就是為單片機(jī)工作提供基本時(shí)鐘的。單片機(jī)的時(shí)鐘信號通常有兩種產(chǎn)生方式:內(nèi)部振蕩方式和外部振蕩方式。本設(shè)計(jì)所采用的時(shí)鐘電路為內(nèi)部振蕩方式。內(nèi)部振蕩方式的電路連接如圖5所示。將晶振結(jié)合相應(yīng)大小的電容連接到引腳XTAL1和XTAL2之間,圖中C1和C2起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5~30pF之間,晶振頻率的典型值為12MHz。內(nèi)部振蕩方式所得的時(shí)鐘信號比較穩(wěn)定,實(shí)際電路中使用較多。圖5時(shí)鐘模塊3.2.5復(fù)位電路無論是在單片機(jī)剛開始接上電源時(shí),還是運(yùn)行過程中發(fā)生故障都需要復(fù)位。復(fù)位電路用于將單片機(jī)內(nèi)部各電路的狀態(tài)恢復(fù)到一個(gè)確定的初始值,并從這個(gè)狀態(tài)開始工作,按下復(fù)位按鈕后,內(nèi)部的程序自動從頭開始執(zhí)行。單片機(jī)的復(fù)位條件為,必須使其RST引腳上持續(xù)出現(xiàn)兩個(gè)及以上機(jī)器周期的高電平。本設(shè)計(jì)所采用的復(fù)位方式為按鍵復(fù)位,復(fù)位電路如圖6淮南師范學(xué)院2013屆本科畢業(yè)論文圖6復(fù)位電路3.3DAC0832轉(zhuǎn)換電路3.3.1DAC0832結(jié)構(gòu)DAC0832是8位D/A轉(zhuǎn)換器的使用是很常見的,這主要是由兩個(gè)寄存器的8位和8位D/A轉(zhuǎn)換器,使用兩個(gè)寄存器是兩級緩沖操作好,使操作更加靈活。DAC0832的輸出電流,當(dāng)輸出被轉(zhuǎn)換為電壓,外部的運(yùn)算放大器[8]。DAC0832內(nèi)部結(jié)構(gòu)如圖7所示主銷軸的定義如下:——片選信號輸入端,低電平有效;——輸入寄存器的寫選通輸入端,負(fù)脈沖有效。當(dāng)CS為0,ILE為1,WR1有效時(shí)DI0~DI7狀態(tài)被所存到輸入寄存器;DI0~DI7——數(shù)據(jù)輸入端;V——參考電壓輸入端,電壓范圍為-10V?+10V;I——輸出電流,當(dāng)輸入是1時(shí),最大電流;I——電流輸出,它的值和電流I端和一個(gè)常數(shù);ILE——數(shù)據(jù)鎖存允許信號輸入端,高電平有效;——數(shù)據(jù)傳輸控制信號輸入端,低電平有效;多路信號發(fā)生器的設(shè)計(jì)——DAC寄存器的寫選通輸入端,負(fù)脈沖有效;當(dāng)為0且有效時(shí),輸入寄存器的狀態(tài)被傳到DAC寄存器中[11]。圖7DAC0832內(nèi)部結(jié)構(gòu)圖3.3.2DAC0832工作原理DAC0832的工作過程如下:(1)CPU執(zhí)行輸出指令,輸出8位DAC0832;(2)在CPU執(zhí)行輸出指令的同時(shí),使ILE、、三個(gè)控制信號端都有效,8位數(shù)據(jù)鎖存在8位輸入寄存器中;(3)當(dāng)、兩個(gè)控制信號端都有效時(shí),8位數(shù)據(jù)再次被鎖存到8位DAC寄存器,這時(shí)D/A轉(zhuǎn)換器開始工作,8位數(shù)據(jù)轉(zhuǎn)換成相對應(yīng)的模擬電流,從I和I輸出[13]。(4)DAC0832的工作方式有雙緩沖、單緩沖和直通三種,本設(shè)計(jì)所采用的是直通的方式(當(dāng)=0、=0時(shí)),數(shù)字量一旦輸入,就直接進(jìn)入DAC寄存器,進(jìn)行D/A轉(zhuǎn)換[14]。3.3.3DAC0832硬件連接設(shè)計(jì)中DAC0832的硬件連接方法如圖8所示,圖中,DAC0832的8位數(shù)據(jù)輸入端連接單片機(jī)I/O口發(fā)送的數(shù)據(jù),、均淮南師范學(xué)院2013屆本科畢業(yè)論文接地,使兩個(gè)控制信號端都有效,芯片進(jìn)入直通的工作方式,將I接地,由I輸出,通過運(yùn)放進(jìn)行濾波、整形、放大等處理[7]。圖8D/A轉(zhuǎn)換硬件連接圖3.4運(yùn)放電路3.4.1放大輸出電路電路連接如圖9所示,DAC0832后,通過連接一個(gè)運(yùn)放LM107進(jìn)行處理,使經(jīng)過D/A轉(zhuǎn)換后所產(chǎn)生的電流信號能夠轉(zhuǎn)換為電壓信號,從而達(dá)到能夠?qū)λ眯盘栠M(jìn)行檢測的目的,將LM107端分別連接DAC0832的IOUT1和IOUT2端,并將IOUT2端接地,電源分別接+12V和-12V即可實(shí)現(xiàn)[10]。3.4.2調(diào)幅電路在用軟件仿真時(shí),可能圖像的幅度太小不容易觀察到具體的波形,所以在第一級放大器后連接一個(gè)調(diào)幅電路,通過調(diào)節(jié)滑動變阻器的阻值可以改變圖像的幅度,并且可以直觀的觀察到測試時(shí)所需要的秉性,如圖7所示,有VO=-R2×VI/R1,即只需設(shè)置RV1值就可以實(shí)現(xiàn)振幅的調(diào)控,本系統(tǒng)就是基于此原理來實(shí)現(xiàn)調(diào)幅。多路信號發(fā)生器的設(shè)計(jì)圖9調(diào)幅電路3.5LCD顯示電路3.5.1LCD1602介紹LCD1602是一個(gè)專門顯示字母,數(shù)字,符號的液晶顯示模塊。LCD1602顯示的內(nèi)容是16×2,可同時(shí)顯示兩行,每行16個(gè)字符,內(nèi)部擁有160個(gè)5×7點(diǎn)陣字符發(fā)生存儲器CGROM和8,可定制的用戶的字符發(fā)生存儲器CGRAM[9]。3.5.2LCD電路連接系統(tǒng)的液晶連接如圖3-3所示,圖中液晶主要管腳介紹如下:VSS——接地;VDD——接+5V電源;RS——寄存器,數(shù)據(jù)寄存器設(shè)置為高,否則選擇指令寄存器;RW——閱讀和寫信號線,對于讀操作,寫操作,低當(dāng)RS和RW低,可以書面說明或顯示地址,當(dāng)RS是低和RW是高信號通常可以讀取,當(dāng)RS高和RW是低的可以寫入數(shù)據(jù),通常的;E——為使能端,當(dāng)E端由高電平條變成低電平時(shí),液晶模塊執(zhí)行命令;D0~D7——8位雙向數(shù)據(jù)線,連接MCU的I/O端口?;茨蠋煼秾W(xué)院2013屆本科畢業(yè)論文圖10LCD顯示模塊3.5.3LCD編碼方式字符液晶1602內(nèi)部存儲器(CGROM)發(fā)生在160個(gè)不同的字符點(diǎn)陣圖形存儲包括阿拉伯?dāng)?shù)字,英文字母,符號,日文片假名,每個(gè)人物都有一個(gè)固定的代碼,例如,字母“A”的代碼是41H。DDRAM就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼,共80字節(jié),其地址和屏幕的對應(yīng)關(guān)系如表所示[12]表1DDRAM地址與屏幕對應(yīng)關(guān)系顯示位置12344567······40DDRAM地址第一行00H01H02H03H04H05H06H······27H第二行40H41H42H43H44H45H46H······67H一行有40個(gè)地址,在LCD1602中,我們只用前16個(gè)就行了,第二行也同樣用16個(gè)地址。表21602對應(yīng)的DDRAM地址000102030405060708090A0B0C0D0E0F404142434445464748494A4B4C4D4E4F當(dāng)想要在LCD1602屏幕的某一行某一列顯示一個(gè)字母時(shí),就需要向這一行這一列所對應(yīng)的DDRAM地址寫入字母相應(yīng)代碼即可。程序的編寫需要按LCD模塊快的指令多路信號發(fā)生器的設(shè)計(jì)格式來進(jìn)行。例如:要在第二行開頭顯示“s”這個(gè)字母,則程序應(yīng)寫為:write_com(0x80+0x40);write_data(0x73);其中0x40為第二行開頭的地址,只是在程序中需要加上0x80才能正確顯示,0x73對應(yīng)字母“s”的代碼,當(dāng)所要顯示的內(nèi)容與位置不同時(shí),程序做出相應(yīng)改變即可。3.6鍵盤模塊當(dāng)檢查按鍵模塊時(shí),若有按鍵按下,則與之相連的兩條線將會導(dǎo)通,從而將電平拉高或拉低使其一致。具體的按鍵掃描方式如下:鍵盤獨(dú)立鍵盤引出的八跟線分別接單片機(jī)的P2口,只用其第四列,因此在程序初始化時(shí)P2.7腳給低電平。如圖開關(guān)4用來切換輸出波形、開關(guān)12和8用來調(diào)節(jié)頻率的加減。當(dāng)按開關(guān)8時(shí)輸出波形的頻率增加,按開關(guān)12時(shí)輸出波形的頻率減小。本次設(shè)計(jì)所采用的4個(gè)I/O口的鍵盤電路,連接如圖11所示圖11鍵盤模塊淮南師范學(xué)院2013屆本科畢業(yè)論文3.7整體系統(tǒng)電路圖圖12系統(tǒng)整體電路圖4多路信號發(fā)生器的軟件設(shè)計(jì)4.1系統(tǒng)主流程本系統(tǒng)采用AT89S52單片機(jī),用編程的方法來產(chǎn)生三種波形,并通過編程來切換三種波形以及波形頻率的改變。具體功能有:(1)各個(gè)波形的切換;(2)各種參數(shù)的設(shè)定;(3)頻率增減等。軟件調(diào)通后,通過編程器下載到AT89S52芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。系統(tǒng)程序主流程如圖13所示多路信號發(fā)生器的設(shè)計(jì)圖13系統(tǒng)程序主流程圖4.2各程序模塊設(shè)計(jì)4.2.1初始化程序該部分對所要產(chǎn)生的波形類型、頻率以及顯示部分進(jìn)行初始化,目的是在系統(tǒng)剛工作時(shí),所產(chǎn)生的是200Hz的正弦波,并且在液晶上所顯示的是“sin”和“200Hz”。液晶部分初始化程序如下[6]voidinit() {lcdrw=0;lcde=0;cs=0;write_com(0x38);//設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)write_com(0x06);//寫一個(gè)字符后地址指針加1write_com(0x01); //顯示清0,數(shù)據(jù)指針清0}淮南師范學(xué)院2013屆本科畢業(yè)論文4.2.2波形產(chǎn)生程序(1)波形產(chǎn)生程序流程圖如圖14所示圖14波形產(chǎn)生程序(2)正弦波由于正弦波并沒有一個(gè)可以通過程序輕易歸納的規(guī)律,因此對于正弦波的產(chǎn)生我們采用查表的方式,將一個(gè)周期內(nèi)采集了256個(gè)點(diǎn)的正弦波波碼表,按順序由單片機(jī)I/O口輸出,產(chǎn)生數(shù)字正弦信號,正弦波調(diào)用程序如下[1]if(s1num==1)//正弦波{for(j=0;j<255;j++)P0=tosin[j];delay1(ys);}其中tosin[j]為波碼表數(shù)組,將表中數(shù)據(jù)依次讀出即可產(chǎn)生正弦波信號,波碼表數(shù)組如下所示:ucharcodetosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,多路信號發(fā)生器的設(shè)計(jì)0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80};(3)方波方波比較有規(guī)律性,高低電平各持續(xù)半個(gè)周期即可。實(shí)現(xiàn)方波的程序如下:if(s1num==2) //方波 { P0=0xff; delay1(128*ys); P0=0x00; delay1(128*ys);}(4)三角波三角波即是數(shù)值從最小值遞增到一個(gè)數(shù)值后再遞減到最小值的過程。實(shí)現(xiàn)程序如下:if(s1num==3) //三角波 { if(a<128){P0=a; delay1(ys); 淮南那師范學(xué)院2013屆本科畢業(yè)論文a++;}else{P0=255-a; delay1(ys); a++;} 4.2.3顯示部分程序(1)顯示波形類型四種波形產(chǎn)生時(shí)需要顯示相對應(yīng)的字母表示,對應(yīng)情況為:正弦波——sin、方波——squ、三角波——thr、鋸齒波——saw,為了顯示相應(yīng)字符串,則應(yīng)把字母所對應(yīng)的代碼輸入到液晶,波形對應(yīng)代碼如下:正弦波:write_com(0x80+0x00); //寫sinwrite_data(0x73);//swrite_data(0x69); //iwrite_data(0x6e); //n方波:write_com(0x80+0x00); //寫squwrite_data(0x73);//swrite_data(0x71); //qwrite_data(0x75); //u三角波:write_com(0x80+0x05); //trainwrite_data(0x74);write_data(0x72);write_data(0x61);write_data(0x69);0x80+0x00為第一行開頭所對應(yīng)的地址,write_data()括號內(nèi)是字母所對應(yīng)的代碼,當(dāng)顯示完一個(gè)字母后地址自動加1。(2)顯示波形頻率由于通過bai、shi、ge表示頻率的百位、十位和個(gè)位,因此,只需將bai、shi、ge按順序發(fā)送到液晶即可,三個(gè)數(shù)字顯示地址遞增,在液晶第二行開頭顯示頻率值和頻率單位Hz。多路信號發(fā)生器的設(shè)計(jì)程序如下voidxsf() //顯示頻率{write_com(0x80+0x40);//第二行開頭write_data(0x30+bai);//寫百位write_com(0x80+0x41);write_data(0x30+shi);//寫十位write_com(0x80+0x42);write_data(0x30+ge);//寫個(gè)位write_data(0x48); //Hwrite_data(0x5a); //z}5多路信號發(fā)生器的設(shè)計(jì)5.1仿真軟件介紹硬件電路設(shè)計(jì)使用在Protues繪制電路原理圖和仿真。PROTUES軟件是英國Labcenter電子出版的EDA工具軟件。5.1.1Protues基本功能概述Foundation:電子產(chǎn)品的設(shè)計(jì)方面,包括原理圖,電路仿真和驗(yàn)證和PCB和CAM文檔查看功能;BoardImplementation:傳統(tǒng)的電路板生產(chǎn),示范和CAM文檔編輯功能;EmbeddedIntelligenceImplementation:基于復(fù)雜可編程邏輯器件(FPGA/CPLD),數(shù)字電路設(shè)計(jì),片上可編程嵌入式系統(tǒng)軟件開發(fā)和數(shù)字電路實(shí)時(shí)驗(yàn)證功能[1];5.1.2Protues基本特點(diǎn):布局的原則,PCB自動或手動布線,SPICE電路仿真等功能;電路仿真的交互,用戶甚至可以使用如LED/LCD,鍵盤,RS232終端周邊動態(tài)模型實(shí)時(shí)交互式仿真設(shè)計(jì);在Protues可以提供模擬組件:仿真模擬和數(shù)字資源,數(shù)以千計(jì)的組件,交直流兩用,有超過30個(gè)組件庫;支持主流的單電流,如51系列,AVR系列,PIC12系列,PIC16系列,PIC18系列,Z80系列,HC11系列,68000系列[15]。淮南師范學(xué)院2013屆本科畢業(yè)論文整體項(xiàng)目管理,設(shè)計(jì)團(tuán)隊(duì)和版本控制功能包括原理圖SCH到PCB和PCB到FPGA的雙向同步功能;在的PROTUES繪圖示意圖,進(jìn)入編譯后的目標(biāo)代碼文件:*。HEX,可以在與Protues看到實(shí)際運(yùn)行狀態(tài)和過程仿真一個(gè)強(qiáng)大的功能映射原理示意圖;支持高速電路設(shè)計(jì),具有成熟的布線后信號完整性分析工具;可以仿真51系列,A

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論