簡易數字示波器設計_第1頁
簡易數字示波器設計_第2頁
簡易數字示波器設計_第3頁
簡易數字示波器設計_第4頁
簡易數字示波器設計_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要:示波器在電子測量領域中已經成為該領域的基礎測量儀器,隨著微電子技術和計算機技術的迅速發(fā)展,它可以用于更多種類的數據采集產品中。本文闡述了如何使用STC12C5A16AD單片機,結合A/D轉換器和TFT液晶屏等元件,設計一款簡易數字示波器,能夠顯示輸入信號的幅值和頻率,還能對波形進行縮放與凍住。其依據是利用stc12c5a16ad芯片的AD轉換器對輸入的模擬信號進行采樣,將采樣值存入緩沖區(qū)經程序處理后在TFT液晶屏上顯示出對應的波形,通過軟件程序顯示其頻率和幅值,并通過按鍵進行一定程度的波形縮放與凍住。主要包括示波器的系統(tǒng)方案選擇、硬件電路設計和軟件程序的實現(xiàn)過程,并通過調試實現(xiàn)主要技術指標及功能。關鍵詞:數字示波器;單片機;ADC轉換器;液晶顯示1引言1.1數字示波器設計的背景與意義在測量過程中經常要用到各種電子測量儀器。在電子測量儀器中示波器的功能最為廣泛且復雜,它在觀察數字電路實驗現(xiàn)象、問題分析和結果測量中扮演關鍵角色REF_Ref732\r\h[1]。示波器利用電子示波管將交變電信號轉換成圖像,顯示在屏幕上,用于電子測量與分析,包括觀察電壓隨時間變化、顯示波形形狀,并測量頻率和相位等參數REF_Ref3208\r\h[2]。隨著信號處理技術、電路設計和新器件的進步,數字示波器逐漸智能化,具備顯示、測量、運算和分析等功能,特點是寬帶化和模塊化REF_Ref631\r\h[3]。基于上述優(yōu)點,開發(fā)數字示波器是非常必要的。目前國內示波器的技術水平還需要進一步提升才能與國外相媲美。而國外公司生產的數字示波器的價格普遍較貴,同時大部分都體積偏大攜帶不太方便,這些對于我國在數字示波器領域方面的發(fā)展存在一定阻撓。通過了解上述背景,有必要進行高性能的數字示波器的研究與生產,所以選擇簡易數字示波器設計作為課題研究是比較有意義的。這不僅可以加深對數字示波器原理和設計技術的理解,還能夠為未來更復雜數字示波器的研發(fā)打下基礎。1.2數字示波器的國內外研究現(xiàn)狀數字示波器的發(fā)展總共經過了三個階段,從采樣速率較低,帶寬較窄,主要以數字示波器與模擬示波器相結合的結構形式,功能少,性能低的初級階段發(fā)展到較高采樣速率和帶寬的技術慢慢開始走向成熟階段再到不僅持續(xù)提高數字示波器的采樣速率(最高達40GSa/s)、帶寬(達20GHz),還同時提高性價比開始向帶寬100MHz以下的通用數字示波器方向發(fā)展的階段REF_Ref549\r\h[4]。目前數字示波器的主要生產廠家便有美國的力科公司、泰克公司、中國大陸的普源精電公司以及中國臺灣的固緯公司等REF_Ref21380\r\h[5]。其中力科公司便是一家在示波器技術研發(fā)領域相當優(yōu)秀的高端生產商,它生產的示波器的技術指標引領行業(yè)先進水平。該公司幾十年來不斷堅持創(chuàng)新,持續(xù)跟進新興高速技術從而生產出更多通道,更高帶寬,更高精度,更深存儲長度的示波器。在數字示波器的硬件設計方面,國外研究主要集中在提高采樣率、擴大帶寬、增加通道數、優(yōu)化電路結構和信號處理算法等方面。國內的研究也在努力提高數字示波器的硬件性能,但整體水平相對較落后。一些研究團隊致力于開發(fā)低成本、高性能的數字示波器,以滿足國內市場的需求。在信號處理算法方面國外研究者取得了很大進展,不斷優(yōu)化和改進數字示波器的信號采集、存儲、顯示和分析技術,提高了數字示波器的測量精度和實時性。國內研究者在積極探索信號處理算法,但與國外相比還存在一定差距。在應用領域的拓展方面,國外研究主要集中在電子、通信、汽車、航空航天等領域。而國內的研究團隊也致力于將數字示波器應用于新興領域,如智能制造、物聯(lián)網等,以提高數字示波器在國內市場的競爭力。總的來說,數字示波器的國內外研究現(xiàn)狀在不斷發(fā)展。國外的研究相對領先,而國內的研究也在積極追趕,各大研究機構和企業(yè)不斷加大對數字示波器技術的研發(fā)和應用力度。隨著技術的不斷進步和應用領域的拓展,數字示波器將會在更廣泛的領域得到應用。1.3數字示波器設計的研究任務本設計方案使用了STC12C5A16AD單片機和TFT液晶顯示屏,實現(xiàn)了輸入信號波形的無失真顯示、頻率和幅值的顯示,以及按鍵控制下的波形縮放和凍結功能。系統(tǒng)設計包括信號采樣、存儲和信號輸出等模塊。整體系統(tǒng)結構如REF_Ref13841\h圖1所示,涵蓋了硬件設計、軟件開發(fā)、波形展示以及性能評估與優(yōu)化等方面。圖SEQ圖\*ARABIC1數字示波器系統(tǒng)框圖硬件設計包括設計示波器的輸入衰減電路、單片機控制電路、波形采樣電路、波形整形電路、顯示屏接口和電源及按鍵等硬件模塊。這些硬件模塊需要滿足示波器的性能要求,如帶寬、采樣率、采樣深度等。需要相關數字電子技術、模擬電子技術等為硬件電路設計奠定基礎。而軟件設計則需一定的C語言程序編程及調試能力包括編寫示波器的頻率計算和幅值計算程序和對波形進行凍住與縮放的程序。這些部分共同構成了數字示波器的核心功能,它們負責將輸入信號轉換為數字形式,并對數字信號進行處理和顯示,最終呈現(xiàn)在示波器的顯示屏上供用戶觀察和分析。因此,在設計數字示波器時,這些部分的設計和優(yōu)化是至關重要的。總之要求設計能對被測信號進行采集、存儲、顯示。做到顯示無失真的波形及頻率和幅值同時通過按鍵功能波形能進行一定程度的縮放與凍住,需要進行設計硬件控制電路,畫出硬件設計原理圖,編寫相應的控制軟件,并進行對信號的實際測試與調試。2數字示波器的工作原理與技術指標2.1數字示波器的基本原理數字示波器通過將模擬信號轉換為數字形式,并利用數字信號處理技術對信號進行采樣、存儲和顯示,從而實現(xiàn)了對電信號波形進行觀察、分析和測量的功能REF_Ref22506\r\h[6]。其原理框圖如REF_Ref13716\h圖2所示,其中便包括A/D轉換器、存儲器、放大器、衰減器及觸發(fā)電路等。圖SEQ圖\*ARABIC2數字示波器原理框圖具體來說,信號采集便是:數字示波器首先通過輸入端用探頭接收待測信號,通常將其連接到示波器的輸入通道。模數轉換便是:將輸入的模擬信號轉換為數字信號。示波器內部的采樣電路會以特定的采樣率對信號進行抽樣,通常高于待測信號的最高頻率,以保證信號的準確采集。每個采樣點的幅值轉換為數字形式,這個過程稱為量化,其中模擬信號的幅度按照一定的量化級別(即量化分辨率)被映射為對應的數字值,通常以二進制形式表示。數據存儲便是:數字示波器將采樣到的數字信號存儲在內部存儲器中,或者通過外部存儲介質保存。存儲的數據通常以波形形式組織,每個波形由一系列采樣點組成。波形顯示便是:存儲的波形數據通過數字信號處理器進行處理,然后傳送到示波器的顯示屏上進行顯示。波形顯示通常是以像素點的形式在屏幕上繪制出來,形成連續(xù)的波形圖像。2.2數字示波器的特點數字示波器相對于模擬示波器有許多特點,其中一些主要特點包括:(1)高精度和穩(wěn)定性:數字示波器利用數字信號處理技術,具有高精度和穩(wěn)定性,能夠精準地捕捉、顯示和分析信號,對噪聲和漂移的影響較小。同時由于采用高分辨率的AD轉換器與較穩(wěn)定時鐘的晶振使得測量輸入信號的幅度具有較高的準確度。靈活性和便捷性:數字示波器通常具有更多的設置選項和界面操作,用戶可以方便地調整參數和配置,適應不同的測試要求,提高了使用的靈活性和便捷性。數字示波器還可以通過USB接口或網絡連接與計算機進行數據交換和遠程控制,提高了使用的靈活性和便捷性。較強的數據處理能力:數字示波器可以將模擬信號轉換為數字形式進行處理,因此可以利用數字信號處理算法對信號進行更精確的分析和處理。這包括數字濾波、傅里葉變換、自動測量、波形數學運算等功能,使得數字示波器可以更準確地分析信號的特征和性質。2.3數字示波器的技術指標數字示波器的主要技術指標包括:采樣速率:數字示波器的采樣速率是指示波器在單位時間內對信號進行采樣的次數REF_Ref4849\r\h[7]。這個速率對于數字示波器捕捉輸入信號的精度和準確性至關重要,主要由A/D轉換器的轉換速率決定,通常以每秒采樣點數Sa/s(sample/second)來衡量REF_Ref5035\r\h[8]。數字示波器實際所使用的采樣速率與所設定的示波器水平掃描時間之間具有一定的關系,其計算公式可表示為:(1)式(1)中,N表示顯示屏每格顯示的點數,t/div表示示波器水平掃描時間因子,也就是示波器掃描顯示一格所需的時間。較高的采樣速率意味著示波器可以更準確地捕獲信號的細節(jié)和快速變化。帶寬:帶寬是以赫茲(Hz)為單位表示的,表示示波器能夠捕獲和顯示的信號頻率范圍,通常是從低頻到高頻的一個范圍REF_Ref6022\r\h[9]。具體來說,數字示波器的帶寬是指在一定準確度要求下,示波器能夠準確測量和顯示的最高頻率,它直接決定了示波器對信號頻率響應的能力。因此,在選擇數字示波器時,需要根據實際測試需求和被測信號的頻率范圍來確定所需的帶寬。掃描速率:掃描速率(又稱掃描時間因數,簡稱為掃速)定義為示波器光點在屏幕水平方向上移動一格所占用的時間,以s/div、ms/div、μs/div等表示。掃描速率決定了示波器在屏幕上顯示波形時的流暢度和更新頻率。較高的掃描速率意味著示波器可以更頻繁地刷新屏幕上的波形,從而實時顯示信號的變化。設置水平掃描速度是為了在數字示波器屏幕上以最佳的可視狀態(tài)展示輸入信號的波形,水平掃描速度反映了示波器展示被測信號波形的能力REF_Ref23712\r\h[10]。存儲深度:數字示波器的存儲深度是指它內部存儲器或緩沖區(qū)可以保存的波形數據點數量,這直接影響了示波器可以捕獲和存儲的信號波形的長度和細節(jié)水平REF_Ref25776\r\h[11]。通常以采樣點數量來表示,即示波器可以存儲多少個采樣點的波形數據。數字示波器的記錄時間長度是由采樣速率和存儲深度決定的,式(2)便表示了它們三者之間的聯(lián)系:(2)式(2)中T表示記錄時長,D表示存儲深度,Sa/s則是掃描速率,較大的存儲深度可以存儲更長時間的波形數據,從而更好地觀察到信號的周期性特征。分辨率:數字示波器的分辨率通常指的是垂直分辨率,它是指示波器能夠準確測量和顯示信號幅值的能力,即示波器在電壓軸上能夠分辨的最小電壓間隔REF_Ref27046\r\h[12]。示波器的高分辨率意味著它能夠顯示更豐富的波形細節(jié),對于準確測量和精細分析的需求也更高。這一分辨率的高低取決于A/D轉換器的精度和顯示屏的分辨率。高分辨率的數字示波器在實際應用中具有明顯的優(yōu)勢,能夠更準確地觀察和分析信號的細微特征。3數字示波器的總體設計任務3.1系統(tǒng)方案的總體設計本設計硬件電路圖如REF_Ref9556\h圖3所示,包括單片機控制電路、液晶顯示接口電路、波形整形電路、采樣輸入電路、按鍵控制電路、電源接口電路、程序下載電路等。圖SEQ圖\*ARABIC3設計硬件電路圖3.2系統(tǒng)方案論證數字示波器的系統(tǒng)方案設計可以采用不同的方法,以下是幾種常見的設計方法:方案一:以FPGA為控制核心。FPGA具有較高的可編程性和并行計算能力,同時系統(tǒng)結構會較為緊湊,可以實現(xiàn)復雜測量與控制,F(xiàn)PGA的功耗通常較低,適用于功耗敏感的應用場景與對實時性要求較高的應用場景REF_Ref31200\r\h[13]。但此使用方案的成本較高,同時FPGA的設計和編程需要專業(yè)的硬件描述語言(如Verilog、VHDL)和開發(fā)工具,學習曲線較陡。且設計復雜,系統(tǒng)龐大,需要額外的開發(fā)工具和外圍電路,增加了系統(tǒng)成本。方案二:基于嵌入式處理器的設計。這種設計方法使用嵌入式處理器(如ARM、DSP等)作為核心控制單元,通過外部ADC采集信號,再通過處理器進行信號處理和顯示。嵌入式處理器靈活性高,可以選擇不同性能和功能的嵌入式處理器,根據實際需求進行定制設計。同時軟件可移植性好,采用標準的軟件開發(fā)工具和操作系統(tǒng),方便軟件的開發(fā)和移植。嵌入式處理器通常集成了豐富的外設和接口,可以實現(xiàn)多種功能。但缺點是實時性差:受到嵌入式處理器性能和系統(tǒng)負載的限制,可能無法滿足高速信號采集和實時顯示的需求。同時成本較高,且需要額外的外圍電路和接口電路,增加了系統(tǒng)成本和復雜度。方案三:基于單片機設計。這種方法的設計思路是以單片機為核心控制器,單片機的開發(fā)環(huán)境成熟,開發(fā)工具和資源豐富,開發(fā)門檻較低,且單片機通常集成了豐富的外設和接口,例如模擬-數字轉換器(ADC)、通用輸入輸出(GPIO)、串口、定時器等,這些外設和接口為開發(fā)者提供了更多的選擇和靈活性,可以滿足各種應用場景的需求REF_Ref299\r\h[14]。單片機通常具有較強的擴展性,可以通過外部模塊和接口進行功能擴展,同時功耗較低、成本低廉,適用于一些簡單的應用場景。出于便攜性、成本控制和廣泛適用性的考慮,并考慮到個人技術水平有限,最終選擇了方案三。在現(xiàn)有條件下,這種選擇既符合項目的需求,又考慮到了實際可行性和可操作性。3.3頻率測量方案選擇數字示波器的頻率測量方案設計可以采用不同的方法,以下是幾種常見的設計方法:方案一:通過硬件電路實現(xiàn)頻率測量。在硬件層面上,可以使用計數器或計時器來直接測量輸入信號的周期或脈沖數量。計數器或計時器可以與示波器的ADC模塊相結合,實現(xiàn)對信號的實時采集和頻率測量。同時還可以設計一個專門的硬件模塊,用于測量輸入信號的頻率。該模塊可以包括頻率計數器、時鐘模塊和計時器等組件,通過硬件電路實現(xiàn)對頻率的精確測量。但本方案需要額外的硬件成本和設計工作且受限于硬件計數器的最大頻率和精度。方案二:通過軟件程序實現(xiàn)頻率測量。在軟件層面上,可以編寫周期測量算法,通過采集到的信號數據計算出信號的周期,然后根據周期計算頻率。這種方法適用于對頻率測量精度要求不高的場景。也可以利用軟件編寫脈沖計數算法,對輸入信號中的脈沖進行計數,在一段時間內統(tǒng)計脈沖的數量,然后根據統(tǒng)計結果計算頻率。這種方法適用于高頻信號的頻率測量。本方案優(yōu)點是實現(xiàn)簡單,但受限于采樣率和計算精度。由于本設計對可測量的最大頻率不做要求,同時為了不增加系統(tǒng)的設計成本結合本人硬件設計能力有限而程序編寫網上資料較多最終決定采用方案二。相對于硬件設計的復雜性和風險,這種選擇更加穩(wěn)妥。3.4幅值測量方案選擇數字示波器的幅值測量方案設計可以采用不同的方法,以下是幾種常見的設計方法:方案一:通過硬件電路實現(xiàn)幅值測量。設計一種幅值檢測電路,利用比較器或峰值保持電路來檢測輸入信號的峰值,并將其輸出給示波器。同時設計合適的放大器和采樣電路,保證輸入信號能夠被適當放大和采樣,以便于后續(xù)的幅值測量。優(yōu)點是實時性高,測量精度較高,但需要額外的硬件支持和成本且可能受到信號幅值范圍和噪聲等因素的影響。方案二:通過軟件程序實現(xiàn)幅值測量。在軟件層面編寫幅值檢測算法,對采集到的信號數據進行處理,識別并記錄信號的峰值。這種方法可以根據采樣數據的最大值得出信號的幅值。優(yōu)點是靈活,可以適應不同的信號特性,但實時性可能較差。也可設計信號處理算法,對采集到的信號進行濾波、去噪等預處理,然后再進行峰值檢測。這樣可以提高幅值測量的準確性和穩(wěn)定性,適用于復雜信號的測量。鑒于本人硬件設計能力有限,而軟件程序網上資料較多同時為了不增加系統(tǒng)的設計成本決定選擇方案二。方案二具有較為成熟的軟件支持和豐富的在線資料,能夠幫助快速上手并減少開發(fā)過程中可能遇到的困難。3.5數字示波器的設計目標本作品的實現(xiàn)目標是設計一個能夠穩(wěn)定顯示輸入信號的波形,同時在屏幕上顯示該信號的頻率、幅值,通過按鍵控制波形縮放及凍住波形。其中采樣深度為:250pts,信號輸入頻率范圍為0-1KHz,由于本設計采用3.2寸TFT液晶屏所以為了最大利用屏幕,本數字示波器設計電壓輸入范圍為:0-16V。水平分辨率的檔位為:1ms/div,10ms/div,100ms/div。垂直靈敏度檔位為:0.5V/div,2V/div。4系統(tǒng)硬件電路設計4.1單片機控制電路本設計采用了STC12C5A16AD單片機作為核心控制器。它是STC微電子公司生產的51系列單片機,其核心仍是8051系列的CPU但是是增強型8051CPUREF_Ref9008\r\h[15]。它提供了多種外設接口,包括模擬輸入接口、串口通信接口、SPI接口等。這些接口用于連接外部設備,實現(xiàn)單片機與外部設備的數據交換和通信。其控制電路如REF_Ref18042\h圖4所示。單片機采用外部晶體時鐘,外圍電路主要包括復位電路、IO口的上拉電阻、單片機系統(tǒng)時鐘電路等,還有程序的下載接口。整體來看,這個電路是數字示波器中的關鍵部分,負責控制示波器的功能和處理輸入的信號數據。它采用單片機作為核心控制器,通過讀取外部輸入的信號數據,并經過處理和計算,最終將處理后的波形數據通過LCD顯示出來。圖SEQ圖\*ARABIC4單片機接口及外圍擴展電路4.2輸入衰減電路由于ADC對輸入電壓的幅度有特定的限制,通常要求其范圍在0至5伏特之間。這樣的要求確保了ADC能夠準確地將模擬信號轉換為數字信號,從而滿足系統(tǒng)的處理需求。針對輸入的模擬信號,需要根據垂直靈敏度的不同進行適當的調整。對于較小的電壓信號,需要進行放大處理,使其達到可以被檢測的水平;對于較大的電壓信號,需要進行衰減處理,確保其在ADC可接受的輸入電壓范圍內。這樣的調整過程旨在確保模擬信號能夠適配ADC的工作需求,從而保證數據轉換的準確性和有效性。本設計通過電阻分壓實現(xiàn)衰減通過電容實現(xiàn)濾波作用,其電路如REF_Ref18290\h圖5所示。由自鎖開關控制衰減程度即切換垂直靈敏度的檔位,其原理是當自鎖開關接入1、6引腳時GAIN為高電平,因為100歐和40k歐分壓可以忽略不計則此時輸入電壓衰減程度便為0即不衰減,其對應的垂直分辨率的檔位是0.5V/div而當自鎖開關接入3、4引腳時GAIN為低電平,此時輸入電壓衰減程度便為10/40即1/4,其對應的垂直分辨率的檔位是2V/div。程序通過判斷GAIN的電平大小確定檔位從而顯示對應波形。圖SEQ圖\*ARABIC5輸入衰減電路4.3信號采集電路輸入信號經過衰減進入信號采集電路,整個信號采集電路不僅要保證對輸入信號的準確采集,還要考慮到對運放和其他電路元件的保護,確保系統(tǒng)的穩(wěn)定性和可靠性。為了防止輸入運放的電壓過壓設計了一個二極管鉗位電路保護運放,如果信號經過輸入衰減電路直接接入單片機的話ADC的內阻會影響到衰減電路的比例,為了保證最終獲得的電壓符合衰減比例,用一個跟隨器接在衰減電路的后面,使用了一個OPA2348運算放大器作為跟隨器,OPA2348是一款由兩個獨立的高速、低功耗運算放大器組成的芯片,通常用于電壓放大、緩沖、濾波等應用,其電路如REF_Ref18401\h圖6所示。圖SEQ圖\*ARABIC6信號采集電路這個芯片有良好的輸入電壓范圍和低輸入偏差電壓,適合信號處理。因為跟隨器的特點是輸入阻抗無窮大,而輸出阻抗很小便于驅動后續(xù)電路,在它后面接上單片機,ADC的內阻便不會影響前面的電路從而采集到準確的電壓。跟隨器后面接一階RC低通濾波器,減小高頻噪聲,提供一定的頻率補償。同時再接一個鉗位電路保護單片機。其中式(3)為一階RC低通濾波器截止頻率計算公式:(3)4.4波形整形電路通過了跟隨器的信號除了進入單片機采樣以外還會通過一個一階RC濾波器濾除干擾信號然后經過比較器進行整形方便后期頻率計算,使用的芯片是OPA2348,這是一種低功耗運算放大器。在這個電路中,運算放大器被配置成一個比較器,其電路圖如REF_Ref18499\h圖7所示。圖SEQ圖\*ARABIC7波形整形電路比較器原理和作用是:比較器是一個簡單的電路,它比較兩個電壓值,并且在輸出端提供一個高電平或低電平,取決于非反相輸入(在引腳3)和反相輸入(在引腳2)之間的電壓差。當引腳3的電壓高于引腳2的電壓時,比較器輸出一個高電平。當引腳2的電壓高于引腳3的電壓時,比較器輸出一個低電平。在這個整形電路中,反相輸入連接到一個電位器,它設置了反相輸入的閾值電壓,可以去調節(jié)電位器調整該電壓。非反相輸入連接到信號采集電路中跟隨器的輸出。當非反相輸入的電壓超過閾值電壓時,運算放大器的輸出會轉換到高電平,否則保持在低電平。通過這種方式便將輸入的信號整形成方波,這種方波信號可以被單片機的中斷引腳捕獲,利用中斷處理程序計算信號的周期,從而得出頻率等有用的信息。其原理如REF_Ref23081\h圖8所示。圖SEQ圖\*ARABIC8波形整形原理4.5液晶顯示接口電路本設計選用由ILI9341芯片驅動的3.2寸TFT液晶屏作為示波器的顯示屏。ILI9341芯片是一種常用于驅動TFT液晶屏的集成電路,它支持高速并行接口和SPI接口,通常用于控制顯示器的圖形和顏色輸出REF_Ref26199\r\h[16]。單片機通過并行接口與ILI9341芯片進行通信,向其發(fā)送命令和數據。TFT屏幕接口電路如REF_Ref18630\h圖9所示,使用TFT屏幕顯示波形通常涉及以下步驟:在程序開始時,需要初始化TFT屏幕,包括設置屏幕分辨率、顏色模式等參數。根據需要繪制坐標軸,包括X軸和Y軸,標注刻度和單位。使用示波器的采集模塊,獲取待顯示的波形數據。可以根據需要采集單個波形周期或連續(xù)波形數據。通過單片機控制TFT屏幕上的像素點,利用繪圖接口將波形曲線一點點地繪制出來。這個過程需要精確地處理每個采樣點的坐標信息,以確保波形曲線的平滑和準確性。圖SEQ圖\*ARABIC9顯示屏接口電路4.6按鍵控制電路本設計使用三個按鍵來控制波形的縮放與凍住,其中一個按鍵控制波形凍住,一個按鍵控制波形水平方向的放大,一個按鍵控制波形水平方向的縮小。這個按鍵電路的工作原理是基于按鍵的開閉狀態(tài)來控制電流的流動。按鍵未按下時,電路處于斷開狀態(tài),電流無法通過。但是,當按鍵按下時,電路閉合,允許電流從地(GND)流向相應的“KEY”節(jié)點。這種閉合狀態(tài)使得相應的“KEY”節(jié)點與地之間形成一個電路路徑,允許電流通過,從而可以被電路檢測到按鍵的狀態(tài)。在實際應用中,單片機通過檢測這些“KEY”節(jié)點的電平變化來確定按鍵是否被按下,從而執(zhí)行相應的操作或功能。為了方便操作及顯示的美觀性,按鍵設置在板子左下角,其連接電路如REF_Ref18718\h圖10所示。圖SEQ圖\*ARABIC10按鍵連接電路5系統(tǒng)軟件設計5.1主程序設計圖SEQ圖\*ARABIC11主程序流程圖REF_Ref25938\h圖11為主程序流程圖,通過主程序實現(xiàn)波形顯示,頻率、幅值及平均值的計算與顯示,同時實現(xiàn)按鍵的功能,主程序一直while(1)運行,有個定時器的程序,定時器用來固定時間ADC采樣速率(比如定1毫秒ADC采一次),采滿點數后告訴while(1)然后把采樣的數據顯示出來,還要計算并顯示頻率、幅值。主程序流程圖如圖11所示,主程序首先進行系統(tǒng)初始化以后就一直while(1)運行:首先進行增益掃描判斷垂直靈敏度檔位并顯示,然后掃描按鍵1確定是否凍住波形,如果確定就取反觸發(fā)變量,接著掃描按鍵2和按鍵3確定是否切換水平分辨率的檔位,然后進入ADC采樣結束的判斷,若采樣結束便顯示波形,計算頻率幅值并顯示,同時根據觸發(fā)變量進行凍住波形或者恢復波形,如果采樣沒有結束便延時等待接著while循環(huán)。其中增益判斷程序如下所示:if(Gain==1){gain_in=1;V_div=20;LCD_ShowString(80,225,16, "0.5V/div",0);//垂直檔位0.5V/div}else{gain_in=4; V_div=80;LCD_ShowString(80,225,16, "2V/div",0);//垂直檔位2V/div}增益判斷程序如上方所示,根據之前輸入電路的GAIN引腳的電平確定gain_in的值,如果不衰減gain_in就是1反之就是4,而根據垂直分辨率的檔位確定V_div的,因為垂直方向只有200個點(8個格子),當選擇0.5V/div時最大就是4V(即4000mV),那V_div=4000/200=20,當選擇2V/div時最大就是16V(即16000mV),那V_div=16000/200=80,其中gain_in和V_div的值跟后面將采樣數據轉換為電壓坐標有關。5.2波形顯示子程序設計波形顯示是先將經過ADC模數轉換的采樣數據轉換為電壓坐標。轉換原理是:因為ADC的輸入電壓范圍是0~5V然后8位ADC就是0~255,0就是對應0V,255就是對應5V。所以采樣數據乘以5000(即5V)在除以256便得到AD電壓值再乘gain_in就是輸入電壓值再除以垂直分辨率的檔位V_div就找到對應到顯示屏上的縱坐標。這里乘5000是為了整數,算出來的是毫伏,不然會有小數點。然后再調用LCD_DrawLine(u16x1,u16y1,u16x2,u16y2)函數顯示波形,該函數實現(xiàn)了繪制直線的功能,使用了Bresenham算法。具體原理為:計算兩點之間的坐標增量delta_x和delta_y,根據delta_x的正負情況設置單步方向incx,同理設置incy,然后確定基本增量坐標軸distance,選擇增量較大的坐標軸。使用循環(huán)計算線上的各點,并調用LCD_DrawPoint()函數來繪制點同時根據誤差累積情況更新當前繪制點的坐標。波形顯示子程序如下所示: for(i=0;i<250;i++){x1=ADC_ConvertedValue[i];//ADC_ConvertedValue[i]即采樣數據x1=x1*5000*gain_in/256/V_div;//采樣數據轉換為電壓坐標if(x1>200) x1=200; //垂直只有200個點x1最大只能是200tem[i]=x1;//把轉換后的值存入tem[i]數組}for(i=0;i<249;i++)//水平方向250個點{ LCD_DrawLine(5+i,220-tem[i],6+i,220-tem[i+1]);//0點坐標是(5,220)} 5.2頻率、幅值測量子程序設計頻率計算要用一個中斷程序(EXINT0程序):因為我們是把波形整形成方波送到單片機的INT0引腳,因為整形成方波來個下降沿就會觸發(fā)中斷,然后用一個Fcount變量計數一次,再另外用一個定時器,定時一秒后溢出記錄翻轉了多少次(假設一秒鐘翻轉一百次那頻率就是100hz),獲取完頻率數據賦給變量Freq并將其顯示出來。而幅值的計算則是用一個for循環(huán)把采集到的250個采樣數據通過不停的比較從而找出最大值并求累加值。然后經過轉換求出最大的采樣數據實際對應的電壓即幅值,其原理和之前在波形顯示程序中提到的差不多,將累加的采樣數據進行轉換除以250便是平均值,最后顯示幅值、頻率和平均值。其部分程序如下方所示:for(i=0;i<250;i++){if(Vp<ADC_ConvertedValue[i])Vp=ADC_ConvertedValue[i];//找最大值x1=x1+ADC_ConvertedValue[i];//求累加值} x1=x1*5000*gain_in/256/250;//求平均值LCD_ShowNum(260,112,x1/1000,2,16);//平均值顯示LCD_ShowNum(284,112,(x1%1000)/100,1,16);LCD_ShowNum(292,112,(x1%100)/10,1,16);x1=Vp;//求幅值x1=x1*5000*gain_in/256;LCD_ShowNum(260,62,x1/1000,2,16);//幅值顯示LCD_ShowNum(284,62,(x1%1000)/100,1,16);LCD_ShowNum(292,62,(x1%100)/10,1,16);LCD_ShowNum(260,162,Freq,4,16); //顯示頻率 5.4波形縮放及凍住子程序設計垂直縮放是通過按鍵控制調整輸入電路的衰減比例之前的輸入衰減電路已經講清楚,而水平縮放是通過按鍵控制調整采樣頻率,通過設置不同的定時器初值,隔不同的時間去采樣。波形凍住是通過編寫程序通過按鍵控制波形顯示程序的運行,當按鍵按下時,就取反觸發(fā)變量給程序停在一個位置,此時波形便凍住,直到再按一下按鍵,程序再正常運行。其中流程圖如REF_Ref14919\h圖12、REF_Ref11173\h圖13所示:圖SEQ圖\*ARABIC12波形凍住子程序流程圖圖SEQ圖\*ARABIC13波形縮放子程序流程圖6示波器功能測試與分析6.1波形顯示測試如REF_Ref30547\h圖14、REF_Ref30554\h圖15、REF_Ref31953\h圖16、REF_Ref31956\h圖17所示,該示波器能夠顯示不同頻率和幅值的波形,包括正弦波、方波、鋸齒波、三角波等。圖SEQ圖\*ARABIC14正弦波(3V100HZ1ms/div)圖SEQ圖\*ARABIC15方波(3V30HZ10ms/div)圖SEQ圖\*ARABIC16鋸齒波(3V100HZ1ms/div)圖SEQ圖\*ARABIC17三角波(6V50HZ10ms/div)6.2頻率與幅值的測量頻率精度測試是通過使用信號發(fā)生器產生頻率相同但幅值不同的正弦波信號,將其輸入到示波器中進行測量,并對測得的頻率數據進行分析,以評估示波器的頻率測量精度和誤差情況。結果如REF_Ref22939\h表1所示,誤差比較理想。表SEQ表\*ARABIC1正弦波頻率測量序號輸入頻率(hz)測量頻率(hz)誤差(%)11001011.0021501510.6732002010.5042502520.8053003020.6763503520.5774004020.5084504520.4495005030.60由以上幾組數據計算得出平均誤差為:(1.00%+0.67%+0.50%+0.80%+0.67%+0.57%+0.50%+0.44%+0.60%)/9=0.64%幅值精度測試是通過信號發(fā)生器產生幅值不同但頻率相同的正弦波信號,將其輸入示波器進行測量,并分析測得的幅值數據,以評估示波器的幅值測量精度和誤差情況。結果如REF_Ref4419\h表2所示,誤差一般。表SEQ表\*ARABIC2正弦波幅值測量序號輸入幅值(V)測量幅值(V)誤差(%)12.002.052.522.502.552.033.003.062.043.503.572.054.003.980.564.504.451.175.005.000.085.505.460.7396.005.931.17由以上幾組數據計算得出平均誤差為:(2.50%+2.00%+2.00%+2.00%+0.50%+1.10%+0.00%+0.73%+1.17%)/9=1.33%6.3按鍵功能測試波形凍住功能測試:給示波器輸入一定頻率與幅值的正弦波,會發(fā)現(xiàn)每隔一段時間波形便會刷新,當按下左邊第一個按鍵時波形凍住不再刷新,再按一次按鍵波形便恢復刷新。水平方向縮放按鍵功能測試:1.給示波器輸入頻率:40HZ幅值:3V的正弦波,按下按鍵分別切換水平掃描速度:1ms/div、10ms/div、100ms/div。其中左邊第二個按鍵為增加掃描速度,左邊第三個按鍵為減小掃描速度。其效果如REF_Ref30635\h圖18、REF_Ref30638\h圖19、REF_Ref30642\h圖20所示:圖SEQ圖\*ARABIC181ms/div檔位圖SEQ圖\*ARABIC1910ms/div檔位圖SEQ圖\*ARABIC20100ms/div檔位2.給示波器輸入頻率:50HZ幅值:2V的三角波,按下按鍵分別切換水平掃描速度:1ms/div、10ms/div、100ms/div。其中左邊第二個按鍵為增加掃描速度,左邊第三個按鍵為減小掃描速度。其效果如REF_Ref30691\h圖21、REF_Ref30694\h圖22、REF_Ref32146\h圖23所示:圖SEQ圖\*ARABIC211ms/div檔位圖SEQ圖\*ARABIC2210ms/div檔位圖SEQ圖\*ARABIC23100ms/div檔位水平方向縮放按鍵功能測試:1.給示波器輸入頻率:200HZ幅值:3V的三角波,按下自鎖開關切換垂直分辨率的檔位。其效果如REF_Ref462\h圖24、REF_Ref468\h圖25所示:圖SEQ圖\*ARABIC240.5V/div檔位圖SEQ圖\*ARABIC252V/div檔位2.給示波器輸入頻率:100HZ幅值:2V的三角波,按下自鎖開關切換垂直分辨率的檔位。其效果如REF_Ref1912\h圖26、REF_Ref1915\h圖27所示:圖SEQ圖\*ARABIC260.5V/div檔位圖SEQ圖\*ARABIC272V/div檔位總的來說,三個按鍵分別成功實現(xiàn)了波形凍住,水平方向縮放波形。自鎖開關成功實現(xiàn)了垂直方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論