【基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計11000字(論文)】_第1頁
【基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計11000字(論文)】_第2頁
【基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計11000字(論文)】_第3頁
【基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計11000字(論文)】_第4頁
【基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計11000字(論文)】_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄ⅣⅢ基于單片機多功能函數(shù)信號發(fā)生器的設(shè)計TOC\o"1-3"\u第1章緒論 第1章緒論1.1選題背景單片機的多功能函數(shù)信號發(fā)生器作為一種平時可以被應(yīng)用在各個領(lǐng)域的信號源,它大量被廣泛應(yīng)用在電子技術(shù)的教學(xué)、實驗室自動化控制系統(tǒng)以及其他各種科研工作中。單片機由其系統(tǒng)的I/O設(shè)備、存儲器、ALU、CPU以及控制器集成的電路芯片,單片機微機部分是具有執(zhí)行輸入的指令實現(xiàn)對計算機系統(tǒng)的控制功能以及完整的運算功能,是應(yīng)用高集成度的電路技術(shù)將數(shù)據(jù)分析、寫入數(shù)據(jù)、輸出信息、多種I/O接口、中斷、定時、計數(shù)等其他功能集成到光伏材料組成微型的計算機系統(tǒng)。函數(shù)信號發(fā)生器是一種數(shù)據(jù)信號發(fā)生器,在一般測試電路的時候,釋放相應(yīng)的信號通過電路反饋結(jié)果,用來觀測電路是否能正常工作。如果需要滿足設(shè)計的需求,不能使用常規(guī)的信號發(fā)生器,因為太過于繁瑣體積大體量還重。每當(dāng)客戶要試驗并整理串口的通信程序時,不僅需要給計算機外接電路連線,還要先在計算機上設(shè)計正確軟件代碼,當(dāng)發(fā)生故障時不能確定是程序的報錯還是外部接線通訊的短路或者斷路。當(dāng)我們想實現(xiàn)串口數(shù)據(jù)的定義時,一般選擇E2000/L信號發(fā)生器就能完成該功能。只要簡單的邏輯探針就可以輕松的測試設(shè)備。低頻信號發(fā)生器一般想獲得準(zhǔn)確度好、穩(wěn)定性高的電壓需要使用單片機的波形合成發(fā)生器,可用于控制低頻電控制器件、同步電控制器件等,也可用作低頻變頻的電源。圖1.1波形發(fā)生器1.2課題研究目的與意義本設(shè)計主要是根據(jù)信號發(fā)生器對于數(shù)字波形合成技術(shù)的應(yīng)用,將控制電路和計算機程序組合,就可以得到正弦波、方波、三角波以及其他任意波形。得到的波形頻率以及幅值是通過相應(yīng)放大電路以及所選芯片來設(shè)置的。通過設(shè)計掌握了信號發(fā)生器函數(shù)信號的發(fā)生原理、控制回路和軟件程序的設(shè)計。通過外接調(diào)理電路和程序的編寫完成對單片機控制,通過D/A轉(zhuǎn)換器將信號轉(zhuǎn)變輸出波形。熟悉DAC0832功能和使用方式、AT89C52應(yīng)用和外部接線有關(guān)的設(shè)計、產(chǎn)生多種低頻函數(shù)信號源的實現(xiàn)。市面上使用的大多數(shù)信號發(fā)生器都是模擬電路組成的,雖然頻率的范圍廣、總體穩(wěn)定性好以及調(diào)試容易的優(yōu)勢,但在低頻信號輸出方面就存不穩(wěn)定和高失真。通過單片機能讓數(shù)據(jù)的高速化處理、多樣化數(shù)據(jù)采集和集中控制程度高的特點。設(shè)計的這種信號發(fā)生器,較傳統(tǒng)的微波放大器在低頻范圍內(nèi)穩(wěn)定性高,能使總體的設(shè)計方案更簡易,更易于對信號的頻率和幅度進行控制等優(yōu)點。圖1.2DDS函數(shù)信號發(fā)生器1.3國內(nèi)外研究現(xiàn)狀目前,多功能函數(shù)信號發(fā)生器的基本組成也各有不同。例如應(yīng)用DDS信號發(fā)生器(如下圖2.1所示)或者使用信號發(fā)生芯片ICL8038以及AWG。信號發(fā)生器也被稱為函數(shù)發(fā)生器,在各種生產(chǎn)設(shè)備測試以及科研實驗室中都作為常用的信號源,在教育和軍事等領(lǐng)域都有所涉及,是對科學(xué)研究起到重要作用的測試儀器設(shè)備之一?,F(xiàn)如今傳統(tǒng)意義上的的波形發(fā)生器一般是由外部元器件搭建來實現(xiàn)的,根據(jù)波形可以分為鋸齒波、正弦波、方波、三角波等各種波形。完全用電子元部件組成的函數(shù)發(fā)生器,其頻率工作范圍很難達到理想狀態(tài),準(zhǔn)確性精確性也不高,高集成單片機通過D/A轉(zhuǎn)換構(gòu)成的函數(shù)發(fā)生器能夠解決這一劣勢。能實現(xiàn)較高的穩(wěn)定度又能低失真,還能產(chǎn)生多種可調(diào)的函數(shù)信號得到想要的波形。使用單片機作為主要的控制芯片,與純硬件的信號發(fā)生器比較其性價比高。圖1.3任意波形發(fā)生器信號發(fā)生器是能產(chǎn)生各式各樣的信號。比如電信號,為了確保低失真、良好的精確度、可循環(huán)性高使用性好的電子設(shè)施。波形發(fā)生器主要特點在于其能夠相位調(diào)制和輸出信號頻率的平穩(wěn)以及其他優(yōu)勢,實現(xiàn)各種離散信號的模擬也十分容易,且對于頻率、幅度、相位差、波形的實時狀態(tài)能夠及時的反饋修改,還能與其他設(shè)施設(shè)備實現(xiàn)通訊,形成自動的測試系統(tǒng),在自動化控制系統(tǒng)、震動激勵、無線通訊和儀器儀表等領(lǐng)域有大量的應(yīng)用。在以前由于信號頻率可以覆蓋距離較小,其原因是頻率的精確度低,現(xiàn)如今輸出信號頻率的得到大幅度增加,使得波形信號發(fā)生器能應(yīng)用于移動通信、無線接入、軍事、GPS、航天航空等多方面科技領(lǐng)域。波形信號發(fā)生器通過計算機軟件的不斷更新讓波形的產(chǎn)生變得穩(wěn)定,頻率輸出范圍更加廣泛。利用波形發(fā)生器可以通過函數(shù)段將波形數(shù)據(jù)保存到單片機中。不同形式的計算機語言的不斷地更新也幫助信號發(fā)生器程序設(shè)計的開發(fā)?,F(xiàn)如今可以使用可視化程序設(shè)計實現(xiàn)波形發(fā)生器程序的編碼,這樣可以從直接控制系統(tǒng)實現(xiàn)任意波形的輸出。不僅方便了波形信號的輸入,還極大的拓展了波形圖形輸入的可編輯性。如今計算機信息技術(shù)快速的發(fā)展,隨著臺式測試測量儀器功能單一可測范圍小不能滿足需求之后,臺式儀器迎來再次的升級。二十一世紀(jì)的新的臺式儀器的形態(tài),和老式的儀器有很大的區(qū)別。這些新一代臺式測試儀器具有幫助不同硬件裝置和測試系統(tǒng)補給穩(wěn)定度良好和準(zhǔn)確度高的測試信號以及優(yōu)化寬帶寬性好的性能。1.4本文研究內(nèi)容使用AT89C52單片機進行軟件編程的設(shè)計實現(xiàn)三角波、鋸齒波、正弦波、方形波等多種脈沖波形的生成,再通過DAC0832將輸出的信號進行數(shù)模轉(zhuǎn)換,經(jīng)過外圍電路的調(diào)節(jié)和穩(wěn)定,通過示波器輸出相應(yīng)的波形,使用獨立按鍵選擇四種類型的波形輸出、頻率變化,最后得到所需要的波形和對應(yīng)的幅值。(1)利用單片機使用程序編寫的方法產(chǎn)生四種波形(2)四種波形可通過獨立按鍵選擇控制(3)輸出波形的頻率可調(diào)節(jié)(4)需顯示波形的種類及其頻率第2章多功能函數(shù)信號發(fā)生器整體設(shè)計2.1函數(shù)信號原理簡介(1)正弦波正弦信號可以用如下列形式來表示: f(t)=Asin(ωt+θ) (2.1)周期的正弦函數(shù)信號如下圖2.1所示。圖2.1正弦波正弦波在常用波形里運用最為廣泛,其波形也較為好產(chǎn)生。正弦波的一個周期為兩個波峰之間的距離,幅值為最高點。正弦波信號常用在電路中,在高頻電路中作為基礎(chǔ)分析電路也能使用在震蕩電路里。(2)方波方波函數(shù)是平時慣用且所熟悉了解的簡單波形函數(shù),列如做開關(guān)電源的控制脈沖等,其形式如下所示: f(t)=λ(0≤t≤T2方波波形如圖2.2所示。圖2.2方波方波信號的產(chǎn)生可以通過單片機的定時器定時中斷來實現(xiàn),將高電平維持一段時間經(jīng)過單片機定時器中斷,躍變到低電平維持一段時間依次循環(huán),時間常數(shù)決定方波高低電平的時間可以通過頻率來調(diào)節(jié)。(3)三角波三角波函數(shù)其形式如下所示: f(t)=A+AT/2t(-T三角波波形如圖2.3所示。圖2.3三角波(4)鋸齒波鋸齒波函數(shù)其形式如下所示: ft=ATt(-鋸齒波波形如圖2.4所示。圖2.4鋸齒波三角波和鋸齒波的波形都能通過方波不斷的積分疊加形成只要有足夠長的時間,當(dāng)波形上升時對應(yīng)的為方波維持高電平的時間,下降就對應(yīng)方波的低電平維持時間。鋸齒波就沒有下降過程是直接躍變到最低點再從新開始上升。2.2整體方案設(shè)計本設(shè)計是基于單片機的多功能函數(shù)信號發(fā)生器,其主要功能是完成利用單片機的可編程控制實現(xiàn)不同函數(shù)信號的輸出,單片機屬于數(shù)字芯片,輸出的信號位數(shù)字信號,而對于不同的函數(shù)信號,需要設(shè)計調(diào)理電路,實現(xiàn)模擬信號的輸出,因此本設(shè)計的主要的調(diào)理電路是DAC然后外加輔助放大電路實現(xiàn)正弦波、三角波的輸出,實現(xiàn)按鍵對波形進行切換以及輸出函數(shù)信號的頻率進行的改變。其主要由單片機、顯示模塊、按鍵模塊、D/A轉(zhuǎn)換模塊以及信號放大模塊,根據(jù)各個模塊的組成,本設(shè)計整體方案設(shè)計圖如圖2.5所示。圖2.5整體方案圖2.3整體方案設(shè)計2.3.1單片機模塊方案設(shè)計方案一:選擇STM32作為主控制器STM32是32位的單片機,處理速度迅速,并且外圍集成了很多的外設(shè),比如ADC轉(zhuǎn)換、多個USB串口、多達14個定時器、PWM等功能,是做嵌入式系統(tǒng)的一款高端芯片,應(yīng)用在很多大型嵌入式系統(tǒng),相對成本價格比較高。圖2.7STM32芯片方案二:采用51單片機控制51單片機的應(yīng)用非常廣泛,從微小型控制系統(tǒng)到大型控制系統(tǒng)都可以完成特定功能控制。因此也有不同的型號的單片機在市場流通,用戶可以根據(jù)項目需求以及實際完成的功能,從經(jīng)濟、能效、場景以及功能等各個方面選用適合自己的型號,并且51單片機的成本相對STM32而言,比較低廉。圖2.8STC89S51單片機本設(shè)計主要完成是不同信號的輸出,51單片機可以滿足系統(tǒng)的要求,因此選用51單片機。2.3.2信號發(fā)生方案設(shè)計方案一:選用一般的單片機函數(shù)發(fā)生器,比如ICL8038就能輕易實現(xiàn)波形的輸出。這種波形發(fā)生器可以應(yīng)用在許多方面,再通過D/A轉(zhuǎn)換器對電流或電壓進行調(diào)節(jié),也可以通過數(shù)字調(diào)控來改變對信號的頻率以及占空比,但這種方法會造成波形的失真和頻率的不穩(wěn)定。圖2.9ICL8038引腳功能圖方案二:可以使用PLL頻率合成器。通過改變電路的直流電壓來獲得所需的頻率。這種方案較前面的方法性能上好,但是得到的頻率的大小不能滿足需求。而且PLL頻率合成器外圍電路相比更復(fù)雜。圖2.10PLL頻率合成器原理圖方案三:可以利用51單片機作為主控制器通過軟件的設(shè)計改變信號的輸出。以AT89C52當(dāng)做控制芯片,通過程序改變輸出信號的幅值和頻率,用DAC0832將單片機發(fā)出的數(shù)字信號轉(zhuǎn)換。經(jīng)過調(diào)理電路的調(diào)節(jié)增加電壓,連接到示波器上顯示輸出波形。由于方案一的頻率頻率工作范圍波動大,方案二需要大量的元器件來調(diào)節(jié)頻率且電路復(fù)雜,方案三是最好的選擇,最后選定方案三作為脈沖發(fā)生的設(shè)計方法。方案三通過軟件設(shè)計的結(jié)合使硬件電路易于控制和執(zhí)行更容易得到所需的波形。此外,第三個方案的的元器件很容易獲得,而且價格相對便宜,所以經(jīng)濟實惠也是一方面優(yōu)勢。2.3.3顯示模塊方案設(shè)計方案一:采用數(shù)碼管數(shù)碼管可以顯示數(shù)字,并且可以應(yīng)用在環(huán)境比較復(fù)雜的地方,使用壽命長,并且功耗比較低,能滿足對顯示數(shù)據(jù)不是很多的系統(tǒng)中,因為其每一位一次只能顯示一個數(shù)據(jù),所以顯示多個數(shù)據(jù)有幾位就需要幾位的數(shù)碼管。圖2.11數(shù)碼管方案二:采用LCD1602顯示LCD1602是字符型顯示器,可以兩行顯示十六位字符,可以顯示字母以及數(shù)字,對于顯示要求高一點的地方可以使用,并且其可以使用清屏功能是實現(xiàn)菜單切換,并且有的帶有背光,可以在夜間使用。圖2.12LCD1602本設(shè)計需要波形的頻率,都是數(shù)字,但是需要通過區(qū)分,為了更加直觀的顯示,因此本設(shè)計采用的是LCD1602顯示。2.2.4按鍵方案設(shè)計與選擇方案一:采用矩陣鍵盤根據(jù)單片機的輸入輸出I/O口,按鍵以4X4矩陣完成,按鍵的控制是經(jīng)過行掃描和列掃描完成的,舉證鍵盤的優(yōu)點是占用I/O口資源相對于獨立按鍵資源少,可以節(jié)省單片機的I/O口,同時也能完成更多鍵值的定義,一般應(yīng)用在需要人機交互多的情況下,包括數(shù)字輸入等功能場景。方案二:采用獨立按鍵獨立按鍵實現(xiàn)的方式是一個I/O口接一個按鍵,實現(xiàn)一個按鍵功能,這種實現(xiàn)方式簡單,適合特定功能按鍵,一般應(yīng)用在單個功能定義,實現(xiàn)人機交互。本設(shè)計主要是通過按鍵實現(xiàn)不同函數(shù)信號的切換以及函數(shù)信號頻率的調(diào)節(jié),功能是固定的,因此本設(shè)計選擇獨立按鍵完成。圖2.13獨立按鍵第3章多功能函數(shù)信號發(fā)生器硬件設(shè)計3.1單片機最小系統(tǒng)電路設(shè)計51單片機是兼容Intel8051指令系統(tǒng)的單片機的總稱。一般市面上的51單片機一般由愛特梅爾公司以及宏晶科技制造的,本設(shè)計所使用的ST89C52就是由STC公司所生產(chǎn)的,與MCS.51單片機產(chǎn)品兼容,是一種功耗低,性能高的8位微控制器,可以實現(xiàn)靈活、高效的嵌入式控制系統(tǒng)。AT89C52是由愛特梅爾所生產(chǎn)的8位低功耗高性能單片機,其閃存存儲器的大小為8K字節(jié),程序設(shè)計上和51單片機的類似,但是添加了很多集成的接口,豐富了片內(nèi)資源,在應(yīng)用場景上豐富了使用功能,并且在編程上可以靈巧引用,所以AT89C52應(yīng)用在很多的嵌入式系統(tǒng)中,發(fā)揮著不可替代的作用。單片機引腳圖如下圖3.1所示。圖3.1AT89C52引腳圖AT89C52芯片的P3端還具備其它功能,P3.0和P3.1口第一功能與其他端口有相同功能,另一種功能是能夠?qū)崿F(xiàn)串行通信進行數(shù)據(jù)輸入和輸出。P3.2和P3.3具有中斷信號的功能,P3.4和P3.5還與單片機內(nèi)部的的定/計時器T0和T1輸入端相接。P3.6和P3.7控制外部數(shù)據(jù)存儲器寫/讀選通端。AT89C52單片機的引腳功能如下表3.2所示。表3.2引腳功能說明表序號引腳功能說明1Vcc為單片機提供電源2P0端口(P0.0~P0.7)8位的雙向輸入/輸出端口3EA/Vpp外部允許存取程序端4ALE/PROG地址鎖存允許信號端5PSEN程序儲存允許訪問輸出6P2端口(P2.0~P2.7)內(nèi)部帶有上拉電阻的8位雙向I/O口7P1端口(P1.0~P1.7)與P2口相同P1.0和P1.1有定時/計數(shù)功能8RST復(fù)位功能需要兩個機器周期9P3端口(P3.0~P3.7)具有第二功能10XTAL2振蕩電路反向放大器的輸出端11XTAL1振蕩電路反向放大器的輸入端12GND地3.1.1時鐘電路時鐘電路主要為單片機的運行提供時鐘信號。根據(jù)單片機的設(shè)計原理,單片機內(nèi)部有一個高增益輸入輸出端不同極性的放大器。其中XATL1、XTAL2的功能在表3.2有說明。只需要在XTAL1和XTAL2外加晶振和兩個微調(diào)電容,就可以完成時鐘電路設(shè)計。下圖中的C1和C2為30pF,晶振X1選用12MHz的。時鐘電圖如圖3.3所示。圖3.3時鐘電路圖3.1.2復(fù)位電路AT89C52是屬于高電平復(fù)位,復(fù)位的引腳為RST引腳需要持續(xù)一個指令周期以上的高電平,復(fù)位電路的目的是為了確定程序從頭開始執(zhí)行,并且在系統(tǒng)出現(xiàn)問題的時候?qū)崿F(xiàn)初始化。設(shè)計圖如圖3.4所示。圖3.4復(fù)位電路3.2按鍵電路設(shè)計本設(shè)計采用了八個按鍵,分別定義的功能是波形切換和頻率改變按鍵,波形切換是對不同的函數(shù)信號進行切換,頻率改變是是根據(jù)需要調(diào)整的數(shù)值進行調(diào)整,通過不同的按鍵組合實現(xiàn)不同信號不同頻率的輸出,按鍵采用的是獨立按鍵,分別和單片機的P1口和P3口連接,采用掃描的方式的進行鍵值讀取,按鍵的出發(fā)是低電平信號觸發(fā)。當(dāng)檢測的某一按鍵按下后實現(xiàn)相應(yīng)的功能。按鍵電路設(shè)計如圖3.5所示。圖3.5按鍵電路圖3.3LCD1602顯示電路設(shè)計本設(shè)計采用的是LCD1602顯示目前波形狀態(tài)和波形頻率的信息,LCD1602是一款雙行顯示的顯示元件,可以顯示英文字符以及數(shù)字,單片機的連接方式有直接連接式和間接連接式。直接連接方式就是將LCD1602的DO~D7和數(shù)據(jù)/命令選擇、RW和E與單片機直接相連,LCD總共有20個引腳,其中VSS和K是背光的電源,直接接電源即可,VCC和A是LCD的電源正極和負極,RS和RW、EN是命令控制管腳,D0~D7是數(shù)據(jù)傳輸端口與單片機的P1口連接,LCD顯示電路如圖3.6所示。圖3.6LCD1602顯示電路圖3.4函數(shù)信號輸出電路設(shè)計DDS芯片通常由DDS核心和DAC組成。在實際應(yīng)用過程中,低頻的濾波器通常連接在外接電路后面以過濾DAC信號的雜頻。如圖3.7所示這是一個傳統(tǒng)的DDS結(jié)構(gòu),其中DDS核心用于產(chǎn)生數(shù)字信號的頻率輸出。DAC將數(shù)字信號轉(zhuǎn)化再經(jīng)過低頻濾波器用于衰減DAC輸出中不需要的雜散頻率。DDS已經(jīng)成為大多數(shù)頻率合成器設(shè)計工程師的首選。這是由于DDS具有跳頻速度快、頻率分辨率高、可以連續(xù)輸出的相位等優(yōu)點。圖3.7DDS內(nèi)部結(jié)構(gòu)圖在函數(shù)信號輸出端選擇使用DAC0832來輸出波形,其工作原理主要概述為:當(dāng)單片機相應(yīng)的程序指令發(fā)送數(shù)字信號輸入到DAC0832芯片中,DAC0832可以轉(zhuǎn)化為模擬信號,其中的輸入量與輸出量成正比。當(dāng)需要輸出一段隨時間變換而變化的波形時,通過單片機發(fā)送按一定時間規(guī)律的數(shù)字信號,經(jīng)過DAC0832就能輸出按照時間變化規(guī)律的波形。圖3.8函數(shù)信號輸出電路圖如圖3.8所示,由于DAC0832芯片的輸出方式為電流輸出型。一般輸出的信號需要電壓信號,所以需要外接運放來實現(xiàn)電壓輸出。這里選用LM324芯片作為集成運算放大器。運放采用反向比例放大1倍。R2是耦合電阻,R1,R4都為分壓式反饋電阻。其中R1:R2:R4為1:2:1,通過調(diào)理電路的放大電壓由.5V到0V放大為.5V到5V。每當(dāng)?shù)谝患夁\放放大或縮小1V第二級運放就放大或縮小2V。其具體計算公式如下: VOUT=2×VREF其中D的范圍為:(0~255)DAC0832的功能原理圖如下圖3.9所示。圖3.9DAC0832功能原理圖

第4章多功能函數(shù)信號發(fā)生器軟件設(shè)計4.1系統(tǒng)主程序設(shè)計本設(shè)計采用的是模塊化編程,將每個需要實現(xiàn)的功能進行模塊化。然后,在主程序中調(diào)用子程序。首先,需要對單片機進行初始化,再執(zhí)行主程序。在主程序中,判斷是否有按鍵按下,當(dāng)檢測的模式按鍵按下后,切換對應(yīng)的波形輸出,當(dāng)檢測到頻率改變按鍵按下后,改變當(dāng)前波形的輸出頻率,系統(tǒng)的主程序流程如圖4.1所示。圖4.1主程序流程圖4.2各模塊程序設(shè)計4.2.1波形發(fā)生程序設(shè)計(1)正弦波:由于DAc0832是8精度的轉(zhuǎn)換器,其計算如下:80×5v/256(即80×LSB)82×LSB……根據(jù)DAC0832的特性將一個周期正弦波數(shù)字量分為256段,將這些數(shù)字量組成數(shù)組再通過循環(huán)就能得到正弦波。具體程序如下://正弦波voidZXB_wave(unsignedintfreq){ unsignedchari; freq=freq/300; for(i=0;i<255;i++) { P2=SinTab[i]; //delay(); delay_us1(freq); }}(2)方波:單片機將初始數(shù)字量0送入到DAC0832中,先延遲段時間,再將0xff送到其中,再經(jīng)過延遲,通過不斷地循環(huán)就得到了方波。具體程序如下://方波voidFangbo_wave(unsignedintfreq){ P2=0x00; delay_us(freq); P2=0xff; delay_us(freq);}(3)三角波:單片機將初始數(shù)字量0送入到DAC0832中,一直加1,當(dāng)數(shù)值到達0xff時,再把DAC0832中的數(shù)字量不斷減1,通過不斷地循環(huán)就得到了三角波。具體程序如下://三角波voidSANjiaobo_wave(unsignedintfreq){ unsignedchari; freq=freq/500;if(freq>1)freq=freq.1; for(i=0;i<255;i++) { P2=i; delay_us1(freq); } for(i=255;i>0;i..) { P2=i; delay_us1(freq); }}(4)鋸齒波:鋸齒波產(chǎn)生的原理于三角波類似,就是在數(shù)字量輸出最高點直接躍變到最低點,然后通過循環(huán)獲得鋸齒波的輸出。具體程序如下://鋸齒波voidJUchibo_wave(unsignedintfreq){ unsignedchari; freq=freq/300;for(i=255;i>0;i..) { P2=i; delay_us1(freq); }}波形的輸出主要是控制模塊使AT89C52單片機,用軟件設(shè)計的方法來產(chǎn)生四種波形,調(diào)試程序來控制按下相應(yīng)按鍵實現(xiàn)的功能所輸出的信號。4.2.2顯示程序設(shè)計LCD可以顯示數(shù)字字母,英文等,但是中文字符輸出不了,LCD顯示內(nèi)置了字符發(fā)生器,字符的顯示和代碼是意義對應(yīng)的,并且每一位的顯示都有其對應(yīng)的地址,因此在設(shè)計顯示的程序的時候需要對想顯示的字符和數(shù)字進行UNcode碼對應(yīng),在一屏顯示的時候需要先將片選信號置低,然后發(fā)送數(shù)據(jù)包,根據(jù)顯示器的相應(yīng)來操作,由于顯示器只能顯示兩行,所以多個數(shù)據(jù)顯示的時候可以進行切換,切換的時候就需要清屏,然后重新發(fā)送數(shù)據(jù),這樣通過清屏命令可以實現(xiàn)切換菜單,實現(xiàn)多組信息的顯示。LCD1602功能指令圖如下圖4.2所示:圖4.2LCD1602功能指令圖LCD初始化流程圖如下圖4.3所示。圖4.3LCD1602初始化流程圖其程序如下所示:voidLcdInint() //LCD初始化子程序{ LcdWCom(0x38);//開啟顯示 LcdWCom(0x0c);//開顯示但不顯示光標(biāo) LcdWCom(0x06);//寫一個指針加1 LcdWCom(0x01);//清屏 LcdWCom(0x80);//設(shè)置數(shù)據(jù)指針起點}顯示流程圖如圖4.4所示。圖4.4液晶顯示程序流程圖#include"lcd.h"#include"string.h"#include"stdio.h"voidLcdWCom(ucharcom) //LCD寫入命令的子程序{ LCD1602_e=0;//使能端置低電平 LCD1602_rs=0; //選擇發(fā)送命令端 LCD1602_rw=0; //選擇寫入端 LCD1602_Mingling=com;//放入命令 Lcd1602_delay1ms(1); //延時1s保持數(shù)據(jù)穩(wěn)定 LCD1602_e=1; Lcd1602_delay1ms(5); LCD1602_e=0;}voidLcdWData(uchardat) //寫入字節(jié)數(shù)據(jù)的子程序{ LCD1602_e=0; //使能清零 LCD1602_rs=1; //選擇輸入數(shù)據(jù) LCD1602_rw=0; //選擇端置0 LCD1602_Shuju=dat;//寫入數(shù)據(jù) Lcd1602_delay1ms(1); LCD1602_e=1;//使能端置1 Lcd1602_delay1ms(5);//延時5s LCD1602_e=0;}第5章仿真調(diào)試與結(jié)果分析5.1仿真調(diào)試本設(shè)計是在Proteus下進行仿真調(diào)試的,建立的仿真程序,Proteus是可以模擬實際電路的仿真軟件,可以完成數(shù)字電路以及模擬電路的仿真,Proteus7.8版本可以仿真51系列大部分的單片機,在7.8版本后,升級后的Proteus可以仿真STM32等單片機,功能更加強大。本設(shè)計在7.8環(huán)境下對多功能函數(shù)信號發(fā)生器進行了仿真分析,根據(jù)本設(shè)計的方案以及硬件電路設(shè)計。繪制了仿真原理圖,仿真原理圖如圖5.1所示。圖5.1仿真原理圖如圖5.1,仿真原理圖包含了單片機的最小系統(tǒng)電路,顯示電路,DAC0832數(shù)模轉(zhuǎn)換電路,還有放大電路,為了更好的觀察波形的變換,本設(shè)計利用Proteus自帶的虛擬示波器進行波形觀察,改變按鍵可以切換波形,然后通過頻率的按鍵來實現(xiàn)波形頻率變化,仿真原理圖和電路的設(shè)計完全是一致的,Proteus環(huán)境下,單片機可以同時仿真軟件,這樣在驗證電路設(shè)計的同時也能實現(xiàn)軟件的仿真驗證。5.2仿真結(jié)果分析5.2.1顯示模塊實驗仿真結(jié)果由單片機的最小系統(tǒng)搭配LCD液晶顯示屏組成,為了測試LCD是否能顯示對應(yīng)的字符串,通過程序的編寫了以學(xué)號組成的字符組“178111522215”讓顯示器顯示。其主要設(shè)計思路為,先顯示模塊的初始化再確定顯示的位置和顯示的內(nèi)容。如下圖5.2所示。圖5.2顯示實驗仿真結(jié)果實驗結(jié)果:LCD1602成功按照編寫的軟件程序顯示了相應(yīng)的字符。5.2.2按鍵模塊實驗仿真結(jié)果按鍵模塊使用了8個獨立按鍵和LCD1602組成,P1.0~P1.3四個接口控制MODE的切換P3.3~P3.6控制頻率的加減。其主要為了測試按鍵按下是否能改變顯示的結(jié)果,沒有設(shè)置頻率的上線不影響實驗的結(jié)果。按鍵模塊仿真結(jié)果如下圖5.3所示,先在按1下“MODE3”按鍵,“+100HZ”按鍵點擊13下,“+10HZ”按鍵點擊2下。圖5.3按鍵模塊仿真結(jié)果實驗結(jié)果:顯示屏根據(jù)按鍵的按下顯示出相應(yīng)的數(shù)字。八個獨立的按鍵先全部置為低電平,外加的上拉電阻使單片機端口置為高電平,當(dāng)點擊按鍵時,相應(yīng)的按鍵連接的端口才會變?yōu)榈碗娖?,單片機芯片通過循環(huán)檢測就能判斷按鍵是否有按下。5.2.3波形模塊實驗仿真結(jié)果根據(jù)DAC0832的數(shù)據(jù)手冊只要芯片外接一個運放就可以組成實現(xiàn)波形輸出電路。具體接法如下圖5.4所示。圖5.4DAC0832接線圖其中輸入“+Vref”需要接一個電平接的是5V的參考電壓,“IOUT1”接的是運放的反向輸入端,“IOUT2”接的是運放的同向輸入端?!癛fb”電阻是在DAC芯片的內(nèi)部接在芯片的第九引腳,根據(jù)應(yīng)用手冊提供的輸出電壓計算公式得到相應(yīng)得輸出電壓。將方波波形程序加載到單片機中其結(jié)果如5.5所示。圖5.5方波實驗仿真結(jié)果這里將DAC芯片的DI0~DI7數(shù)據(jù)輸入引腳接到單片機的P1端。其中“CS”片選引腳置低電平芯片才能正常輸出電壓,查看應(yīng)用手冊將芯片的控制引腳都接上有效的電平信號。根據(jù)實驗實現(xiàn)了方波的輸出,但得到的波形并不穩(wěn)定,需要外接電路的除雜降噪處理。將三角波波形程序加載到單片機中其結(jié)果如5.6所示:圖5.6三角波實驗仿真結(jié)果實驗現(xiàn)象:將波形放大可以看到輸出的三角波是由一個個階梯波連接而成與DAC0832輸出信號的原理符合。從第一個波形幅值最低點到下一個最低點為一個周期,一般通過調(diào)節(jié)延時的時間可以改變其時間周期。DAC將輸出電壓分為256份,一份的電壓值對應(yīng)的一位的數(shù)字量轉(zhuǎn)換為相應(yīng)位的模擬量。將鋸齒波波形程序加載到單片機中其,結(jié)果如5.7所示。圖5.7鋸齒波實驗仿真結(jié)果實驗現(xiàn)象:矩形波輸出與三角波的輸出結(jié)果相似。修改了相應(yīng)的軟件部分,當(dāng)輸出波形到達最高值直接斷崖式的回歸到最低值。將正弦波波形程序加載到單片機中其,結(jié)果如5.8所示:圖5.8正弦波實驗仿真結(jié)果由實驗結(jié)果可知輸出的波形信號不經(jīng)過調(diào)理放大電路的調(diào)制,波形的輸出不穩(wěn)定出現(xiàn)失真現(xiàn)象。因只考慮波形能否正常的輸出由于直放置了一個運放,其輸出波形是以X軸為中心線對稱的。5.2.4總體仿真結(jié)果單片機加載完成hex文件時候,啟動仿真,首先對正弦波的仿真結(jié)果進行測試,根據(jù)示波器的信號輸出,測試結(jié)果如圖5.9所示。圖5.9正弦波仿真結(jié)果如圖5.9,通過示波器的觀察,我們可以看到,本設(shè)計的輸出的正弦波函數(shù)信號波形比較理想,符合設(shè)計要求。然后通過按鍵切換波形,對三角波的波形進行測試,測試結(jié)果如圖5.10所示。圖5.10f=400Hz三角波仿真結(jié)果如圖5.10,三角波的仿真結(jié)果中,輸出頻率為400Hz,通過改變按鍵選擇波形,調(diào)整三角波的輸出頻率,仿真結(jié)果如圖5.11所示。圖5.11f=500Hz三角波仿真結(jié)果通過改變頻率的按鍵,我們可以看到,三角波的輸出會有一個變換過程,變換之后頻率也改變了,符合設(shè)計要求。之后對鋸齒波進行仿真測試,鋸齒波的測試放著結(jié)果如圖5.12所示。圖5.12f=500Hz鋸齒波仿真結(jié)果如圖5.12,通過示波器可以看到,鋸齒波的頻率為500Hz,輸出的波形符合設(shè)計要求,并且波形比較好。最后是對方波的信號進行仿真,方波相對于其他波形來說,比較好生成,方波的仿真結(jié)果如圖5.13所示。圖5.13f=500Hz方波仿真結(jié)果5.3PCB設(shè)計關(guān)于PCB的設(shè)計這里用的是AD18,AD是一款用于3DPCB設(shè)計和嵌入式系統(tǒng)開發(fā)的設(shè)計軟件。AD作為現(xiàn)在常用的電子設(shè)計的工具使用,主要由PCBlayout、FPGA設(shè)計、嵌入式開發(fā)三大核心模塊組成。其軟件具有的操作簡單、展示直觀、方便的優(yōu)點深受各類用戶稱贊。在AD18版本中加強了PCB布線的功能,讓用戶能更加流暢的完成工作,對于學(xué)習(xí)PCB板設(shè)計提供了良好的環(huán)境。圖5.14電路原理圖原理圖如上圖5.14所示,首先根據(jù)仿真電路繪制原理圖。其主要由最小單片機系統(tǒng)、DC電源接口、顯示模塊和調(diào)理電路構(gòu)成。當(dāng)我們添加完元器件的封裝和檢測電路圖沒有報錯后就可以導(dǎo)入到PCB中。首先先介紹其主要元器件,如下表5.15所示。表5.15主要元器件清單序號元件標(biāo)號元件名稱數(shù)量1S1,S3,S3,S4,S5,S6,S7,S8,S9輕觸按鍵92S10自鎖開關(guān)13R1,R2,R310K電阻34R45K電阻15R51K電阻16C110uf電解電容17C2,C330pf瓷片電容28C4220uf電解電容19Y112M晶振110J1排阻111J22孔排針112IC1AT89C52單片機113U1DAC0832轉(zhuǎn)換器114AR1,AR2LM324運放215P1DC電源接頭116X1LCD1602117L1Led燈1確定好封裝無誤后,選擇projects選中工程右鍵點擊編譯,原理圖沒有報錯就能成功導(dǎo)入到PCB中。具體操作如下圖5.16所示:圖5.16導(dǎo)入PCB過程選擇“編輯”點擊“放置原點”沿著原點用直線繪制板子的輪廓,選中輪廓點擊“設(shè)計”點擊“根據(jù)板子外形生成線條”就得到了PCB板。再將成功導(dǎo)入到PCB板的元器件放置到板子周圍如下圖5.17所示。圖5.17放置元器件按照預(yù)設(shè)的布局放置元器件如下圖5.18所示。圖5.18PCB板元器件布置在工具欄中選中“交互式布線連接”就能開始布線,盡量合理的規(guī)劃線路繞行不開的選擇使用過孔在板子的底部連線。完整的布線圖如下圖5.19所示。圖5.19元器件連線圖在工具欄中點擊“ALLOBJECTS”選中板子點擊“工具”點擊“覆銅”在下面的選項中選擇去除死銅點擊“OK”就完成了頂層的覆銅。頂層覆銅后圖5.20所示。圖5.20頂層PCB板底層的覆銅與頂層覆銅操作方法一樣。圖5.21底層PCB板最后的將PCB板電氣規(guī)則檢查就完成了PCB總體的設(shè)計,檢查報告如下圖5.22所示。圖5.22設(shè)計規(guī)則檢查第6章結(jié)論在數(shù)字與模擬電路設(shè)計當(dāng)中,為了驗證設(shè)計電路的正確性,測試是不可缺少的環(huán)節(jié)。在測試過程中,經(jīng)常采用的方法是給所設(shè)計的電路施加不同的信號源然后測試其輸出電路。因此,多功能函數(shù)信號發(fā)生器在電路設(shè)計中有何不可替代的角色,對于傳統(tǒng)的信號發(fā)生器,尤其設(shè)計是由純電路完成,生產(chǎn)成本高,并且很笨重,通常在實驗室中,而隨著單片機的以及可編程控制器的發(fā)展,對于函數(shù)信號發(fā)生器,簡化了電路的同時,也實現(xiàn)可編程控制的輸出,節(jié)省了成本,同時也將儀器儀表發(fā)展實現(xiàn)了便攜化。本設(shè)計基于89C51單片機實現(xiàn)了多功能函數(shù)信號發(fā)生器的設(shè)計。通過查找閱讀相關(guān)的文獻資料,掌握了不同函數(shù)信號產(chǎn)生的原理以及用途,通過對不同方案的對比,設(shè)計了基于51單片機的多功能函數(shù)信號發(fā)生器。根據(jù)方案的設(shè)計,對多功能函數(shù)信號發(fā)生器的硬件電路以及軟件實現(xiàn)方法進行了設(shè)計。最后,在Proteus仿真軟件下,對基于單片機的的多功能函數(shù)信號發(fā)生器進行了仿真,通過單片機與硬件電路的聯(lián)合仿真,本設(shè)計所完成的多功能函數(shù)信號發(fā)生器可以完成正弦波、方波、三角波以及鋸齒波等多函數(shù)信號的輸出,并且可以通過按鍵實現(xiàn)不同脈沖的信號的切換以及頻率的改變。本設(shè)計所完成的多功能函數(shù)信號發(fā)生器具有頻率分辨率高、調(diào)制過程簡單、體積小功耗低的特點。通過整體的設(shè)計也發(fā)現(xiàn)存在些不足之處,輸出頻率的范圍較小只能在0~500HZ的范圍內(nèi)輸出,其改進方法修改累加步長控制模塊對頻率的限制,這需要ROM更大的DDS芯片價格也較為昂貴,并且需要在后級電路中做出相應(yīng)的調(diào)整。參考文獻[1]陳蓉,何英萍,陳紅仙.基于單片機的函數(shù)信號參數(shù)測量系統(tǒng)[J].電子設(shè)計工程,2018,26(014):153.157.[2]王中源,張金龍.基于單片機的一種高精度函數(shù)信號測試儀[J].科技創(chuàng)新與應(yīng)用,2020,No.302(10):37.38.[3]張一荻.基于STM32單片機的函數(shù)信號參數(shù)高精度測試儀①[J].科技資訊,2017.[4]張一荻.基于FPGA的函數(shù)信號參數(shù)高精度測量技術(shù)研究[J].儀器儀表用戶,2017(1).[5]趙忠,杜立群.應(yīng)用Proteus和Keil聯(lián)調(diào)的納秒脈沖電源的仿真設(shè)計[J].機械設(shè)計與制造,2013,3:139.142.[6]袁扣祥,崔淵,陳祝洋,等.數(shù)字高精度函數(shù)信號參數(shù)測量儀的設(shè)計[J].福建電腦,2020,v.36(03):68.71.[7]郭彥茹.函數(shù)信號測速電路模塊設(shè)計[J].現(xiàn)代電子技術(shù),2015(1):120.121.[8]黃平,李進,黃德生.基于FPGA的實時寬帶脈沖參數(shù)測量與設(shè)計[J].工業(yè)控制計算機,2017,30(008):26.27.[9]李德明,胡君輝.基于FPGA的函數(shù)信號參數(shù)測量系統(tǒng)設(shè)計[J].實驗技術(shù)與管理,2019,036(005):101.106.[10]謝雁,吳宇凡,宋楠.基于單片機的SSI信號處理設(shè)計[J].工業(yè)控制計算機,2018.[11]郝景程,何志剛,邱彬.基于51單片機信號發(fā)生器的設(shè)計[J].電腦知識與技術(shù),2014,000(035):8553.8554.[12]朱開汪,余建坤.基于AT89C51單片機信號發(fā)生器設(shè)計[J].電子世界,2017,000(009):110.110.[13]崔孫志毅,謝嘉麟.基于STC89C52單片機信號發(fā)生器的設(shè)計[J].工業(yè)控制計算機,2019,032(006):127.128,130.[14]孫勤江,沈彬.基于單片機的信號發(fā)生器設(shè)計[J].石油和化工設(shè)備,2014,000(001):19.22.[15]LiD.,HuT.N.,LiuK.F.,YangJ.,DesignandresearchofRFsystemfor10Mevcompactcyclotron[J].ScienceChina.PhysicsMechanics&Sstronomy,2011,54:225.230.ZhiJianYin,QiangLuo,KunXiang,FanWang.BasedontheDesignoftheSingleChipMicrocomputerNumericalControlConstantCurrentSource[J].AdvancedMaterialsResearch,2014,3181.[16]ShuWeiquan,ZhengYanhua.DesignofIonImplantationandDepositionSignalGeneratorBasedonFPGAandTouchScreen[J].JournalofPhysics:ConferenceSeries,2021,1815(1).[17]JiYeHuang,KeYin,ZouHong.DesignofImprovedDDSSignalGeneratorBasedonAmplitudetoPhaseSampling[J].AppliedMechanicsandMaterials,2013,2308.PaulDanzer.KoolertronDual.ChannelDDSSignalGenerator[J].QST,2020,104(11).附錄1.附錄一:電路原理圖2.附錄二:程序#include<reg52.h>#include"delay.h"#include"wave.h"#include"lcd.h"#include"string.h"#include"stdio.h"#defineucharunsignedchar#defineuintunsignedintsbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitk1=P3^3;sbitk2=P3^4;sbitk3=P3^5;sbitk4=P3^6;unsignedcharmode=1;bitfreq_bit=0,CDD=1;charstr1[6]="mode:",str2[6]="freq:"; unsignedinttim0_cnt=0; //定義計數(shù)器單位 voidtimer0()interrupt1{ //定時器中斷1 tim0_cnt++; TH0=(65536.50000

溫馨提示

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

評論

0/150

提交評論