基于.-單片機的數字萬用表的設計_第1頁
基于.-單片機的數字萬用表的設計_第2頁
基于.-單片機的數字萬用表的設計_第3頁
基于.-單片機的數字萬用表的設計_第4頁
基于.-單片機的數字萬用表的設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...畢業論文〔設計〕題目基于單片機的數字萬用表的設計學生姓名王婭學號1210064085所在學院物理與電信工程學院專業班級電信1203班指導教師黃朝軍完成地點物理與電信工程學院實驗室2016年6月5日陜西理工學院本科畢業設計任務書院(系)物理與電信工程學院專業班級電子信息科學與技術(電信1203)學生姓名王婭一、畢業設計題目基于單片機的數字萬用表設計二、畢業設計工作自2015年11月9日起至2016年5月18日止三、畢業設計進展地點:四、畢業設計應完成內容及相關要求:數字萬用表是用數字化測量技術,把連續的模擬量轉換成不連續的、離散的數字形式并加以顯示的儀表。傳統的指針式萬用表功能單一且精度低,不能滿足數字化時代的需求,采用單片機設計的數字萬用表,精度高、抗干擾能力強、可擴展性強、集成方便。本次研究是對不同量程的各種測量內容的轉換,各局部電路組合成一個完整的數字萬用表,而難點解決的問題就是程序的設計,要保證其可行性從而保證設計的正確性。利用A/D模數轉換器將連續的模擬信號、模擬量轉換成離散的、不連續的數字量,通過程序利用相應的對應關系顯示出簡單易懂的數字量,從而完成數字萬用表的功能。五、畢業設計應收集資料及參考文獻:1、應收集與課題相關文獻至少12篇〔其中包括一篇英文文獻〕,文獻的發表年限應為2010年至2016年;2、除了文獻之外,所參考的書目不能超過3篇;3、所有的參考資料要留存電子版,在交論文時一并打包交予指導教師。六、畢業設計的進度安排:1、必須查閱大量資料〔包括一定數量的外文資料〕,了解課題的研究背景、意義,熟悉設計中要用到的相關電路知識;完成開題報告;并完成一篇外文文獻的全文翻譯工作;〔1月10日-3月18日〕2、進展系統的概要設計;〔3月19日-4月10日〕3、熟悉設計軟件,并提交中期報告;〔4月10日-4月20日〕4、系統的設計與實現;準備作品的驗收;完成論文第一稿;〔4月21日-5月10日〕5、根據要求對對論文及作品進展完善,完成論文第二稿;〔5月11日-5月20日〕6、制作辯論PPT,準備辯論材料,準備辯論,并完成后續工作;〔5月21日-6月10日〕7、必須定期與指導教師見面,匯報進展情況,按時完成論文的撰寫工作。指導教師簽名黃朝軍專業負責人簽名學院領導簽名熊曉軍批準日期2016-01-11基于單片機的數字萬用表的設計王婭〔陜西理工學院物電學院電子信息科學與技術專業電信1203班,陜西漢中723000〕指導教師:黃朝軍[摘要]以STC89C52單片機作為主控制芯片,結合電壓檢測電路、電流檢測電路、電阻檢測電路、數碼管驅動電路、復位電路、震蕩電路、52單片機最小系統、顯示局部、A/D轉換和控制局部電路以及ADC0832數據轉換芯片和數碼顯示裝置,實現了數字萬用表的設計。所設計的萬用表能夠測量電壓值、電流值以及電阻值,并且以四位數碼顯示。數字萬用表在電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域方面具有一定的實用價值。[關鍵詞]單片機;數字萬用表;設計ThedesignofthedigitalmultimeterbasedonsinglechipmicrocomputerWangYa〔Grade12,Class3,MajorElectronicInformationScienceandTechnology,SchoolofPhysicsandTelecommunicationEngineering,ShaanxiUniversityofTechnology,Hanzhong,723000Shaanxi〕Tutor:HuangChaojunAbstract:STC89C52microcontrollerasthemaincontrolchip,combinedwithavoltagedetectioncircuit,currentdetectioncircuit,aresistancedetectioncircuit,digitaltubedrivingcircuit,resetcircuit,anoscillationcircuit,a52MCUminimumsystem,display,A/DconversionandcontrolcircuitpartandtheADC0832dataconversionchipanddigitaldisplaydevice,torealizethedigitalmeterdesign.Thedesignofthemultimeterisabletomeasurementvoltage,currentandresistance,andusingafourdigitaldisplay.Thedigitalmultimeterhascertainpracticalvalueintheelectronicandelectricalmeasurement,industrialautomationinstrument,automatictestsystemandintelligentofmeasurementfield.Keywords:Microcontroller,STC89C52,Design.目錄1引言11.1設計目的和意義11.2研究現狀及開展趨勢21.3主要研究內容22設計方案22.1根本原理22.2硬件系統設計總體框架圖72.3硬件電路設計方案及芯片72.3.1設計方案72.3.2芯片選擇73硬件設計113.1電路模塊113.2硬件電路144軟件仿真154.1軟件介紹154.2流程圖154.3仿真圖164.4仿真結果174.4.1電壓檔仿真結果174.4.2電流檔仿真結果174.4.3電阻檔位仿真結果185結語18致謝19參考文獻20附錄A21附錄B22附錄C23附件D241引言1.1設計目的和意義數字萬用表亦稱數字多用表,簡稱DMM〔DigtialMultimeter〕。它是采用數字化測量技術,把連續的模擬量轉換成不連續的、離散的數字形式并加以顯示的儀表。傳統的指針萬用表功能單精度低,不能滿足數字化時代的需求,采用單片機的數字萬用表,精度高、抗干擾能力強,可擴展尾強,集成方便,目前,由各種單片機芯片構成的數字電萬用表,已經被廣泛應用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,顯示出強大的生命力。與傳統儀表相比數字萬用表具有具有以優點:〔1〕顯示清晰直觀,計數準確為了提高觀察清晰度,新型的手持式數字萬用表〔HDMM〕已普遍采用字高為26mm的大屏幕LCD〔液晶顯示器〕。有些數字萬用表還增加了背光源,以便于夜間觀察讀數。〔2〕顯示位數數字萬用表的顯示位數通常為3位半到8位半。〔3〕準確度高準確度是測量結果中系統誤差與隨機誤差的綜合。他表示測量結果與真值的一致程度,也反映了測量誤差的大小,準確度越高,測量誤差越小。數字萬用表的準確度遠遠優于指針萬用表。〔4〕分辨力高數字萬用用表在最低電壓量程上末位1個字所代表的電壓值,稱作儀表的分辨力,宏觀世界反映了儀表靈敏度的上下。分辨力隨著顯示位數的增加而提高。〔5〕測試功能強數字萬用表不僅可以測量直流電壓〔DCV〕、交流電壓〔ACV〕、直流電流〔DCA〕、交流電流〔ACA〕、電阻〔Ω〕、二極管正向壓降〔Uf〕等等。新型數字萬用表太多增加了下述測試功能:讀數保持〔HOLD〕、邏輯測試〔LOGIC〕測試等等。〔6〕測量范圍寬數字萬用表可滿足常規電子測量需要。智能數字萬用表的測量范圍范圍更寬。〔7〕測量速率快數字萬用表在每秒鐘內對被測電壓的測量次數叫測量速率,單位是“次/秒〞。它主要取決于A/D轉換器上的速率。一般數字萬用表的測量速率為2~5次/秒。有的能到達20次/秒以上,另有的一些比這個還要高的多。數字萬用表可以滿足不同用戶對測量速率的需要。〔8〕輸入阻抗高數字萬用表電壓檔具有很高的輸入阻抗,通常為10~10000MΩ,從被測電路上吸取的電流小,不會影響被測信號源的工作狀態,能減小由信號源內阻引起的測量誤差。〔9〕集成高,微功耗新型數字萬用表普遍采用CMOS大規模集成電路的A/D轉換器,整機功耗很小,3位半,4位半手持式數字萬用表的整機功耗僅僅幾十毫瓦,可用9V疊層電池供電。〔10〕保護功能完善,抗干擾能力強數字萬用表具有比擬完善的保護電路,過載能力強新型數字萬用表還增加了高壓保護器件,能防止浪涌電壓。正是基于以上優點本設計就是基于這個根基設計一個基于單片機的數字萬用表。該設備具有直觀簡單的優點。并且能夠深入說明萬用表的測量原理。能直觀的了解萬用表各個局部的構造和測試原理。數字萬用表是當前電子、電工、儀器、儀表、和測量領域領域大量使用的一種根本測量,已被廣泛利用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測試領域,展示出其強大的生命力。隨著時代科技的進步,數字萬用表的功能越來越強大,把電量和非電量的測量技術提高到嶄新的水平。其主要特點是顯示直觀、讀數準確、精度高、分辨率強、功能完善、性能穩定、過載能力強、耗電省、體積小、便于攜帶。1.2研究現狀及開展趨勢近年來我國對智能儀器的研究到了一個新的層次,無論是在生產還是科研方面都取得了很大的成就[1-3]。隨著微電子技術的高速開展,單片機的功能集成化,智能儀器也開展到一個新的階段。隨著單片機技術的廣泛應用,數字萬用表得到迅速開展,無論是便攜式萬用表,還是臺式萬用表在精度、功能和性能上都有較大的提高。進入21世紀以來\t"://xueshu.baidu/_blank"基于DSP的高精度數字萬用表研究、\t"://xueshu.baidu/_blank"PXI高精度數字萬用表的設計與實現以及出現了一些新的特點及新的技術[4-5]。研究現狀也出現了一些新的瓶頸和難點,比方財力人力的大量浪費、新技術開發難度大和研發瓶頸等。電子領域以后的開展勢必是更加系統的集成化以及大量核心技術的運用,比方像萬用表一類的產品將會出現功能更加強大,構造更加簡單,更易攜帶和性能更加穩定等特點。由于電子設備的速度越來越快,容量越來越大,本錢越來越低,全球電子產品設計朝著人工智能、無線互聯、集成化、娛樂化的方向開展。人工智能徜徉在國際消費電子展,隨處可見人工智能在產品設計中的各種應用。1.3主要研究內容本次研究探討了數字萬用表的目的和意義,以STC89C52單片機作為主控制芯片,結合電壓檢測電路、電流檢測電路、電阻檢測電路、數碼管驅動電路、復位電路、震蕩電路、52單片機最小系統、顯示局部、A/D轉換和控制局部電路以及ADC0832數據轉換芯片和數碼顯示裝置,實現了數字萬用表的設計[6-7]。本設計重點要解決的問題是對不同量程的各種測量的轉換,還有就是各局部電路組合成一個完整的數字萬用表,所設計的萬用表能夠測量電壓值、電流值以及電阻值,并且以四位數碼顯示。而難點解決的問題就是程序的設計,要保證其可行性從而保證設計的正確性[7-8]。利用A/D模數轉換器將連續的模擬信號、模擬量轉換成離散的、不連續的數字量,通過程序利用相應的對應關系顯示出簡單易懂的數字量,從而完成數字萬用表的功能。2設計方案2.1根本原理數字萬用表的最根本功能是能夠測量電壓,電流以及電阻,其原理框圖如圖2.1所示:圖2.1數字萬用表的各局部組成各模塊功能如下:〔1〕模數〔A/D〕轉換與數字顯示常見的物理量都是幅值〔大小〕變化的模擬量〔模擬信號〕。指針式的儀表可以直接對模擬信號〔電壓、電流〕進展顯示。而對于數字式儀表,需要把數字信號轉換成模擬電信號〔通常是電壓信號〕,再進展顯示和處理〔如存儲、傳輸、打印、運算等〕。數字信號與模擬信號不通,其幅值〔大小〕是不連續的。這種情況被稱為“量化的〞。假設最小量化單位〔量化臺階〕是Δ,則數字信號的大小一定是Δ的整數倍,該整數可以用二進制數碼表示。但為了能直觀地讀出信號大小的數值,需經過數碼變換〔譯碼〕后由數碼管或液晶屏顯示出來。例如,設Δ=0.1mV,我們把被測量電壓U與Δ比擬,看U是Δ的多少倍,并把結果進展四舍五入取整數N〔二進制〕。一般情況下,N≥1000即可滿足測量精度要求〔量化誤差≤1/1000=0.1%〕。最為常見。最常見的數字表頭的最大數為1999,被稱為三位半數字表。對于上述情況,我們我們把小數點定在最末尾之前,顯示出來的就是以mV為單位的被測電壓大小。如:U是Δ〔0.1mV〕的1234倍,即N=1234,顯示結果為123.4〔mV〕。這樣的數字表頭,再加上電壓極性判別顯示電路,就可以顯示-199.9~+199.9mV的電壓,顯示精度為0.1mV。由此可見,數字測量儀表的核心是模數〔A/D〕轉換、譯碼顯示電路[9]。A/D轉換一般又可以分為量化和編碼兩個步驟。〔2〕多量程數字電壓表原理在基準數字電壓表頭前面加一級分壓電路〔分壓器〕,可擴展直流電電壓測量的量程。如圖2.2所示。U0為電壓表頭的量程〔如200mV〕,r為其內阻〔如10MΩ〕,r1、r2為分壓電阻,U10為擴展后的量程。由于r>>r1,所以分壓比方式2.1所示:〔2.1〕擴展后的量程如式2.1所示:〔2.2〕圖2.2分壓電路原理圖2.3多量程分壓器原理多量程分壓器原理電路圖見圖2.3所示,5檔量程的分壓比分別是1、0.1、0.01、0.001和0.0001,對應的量程分別為2000V、200V、20V、2V和200mV。采用圖2.3的分壓電路雖然可以拓展電壓表的量程,但在小量程檔明顯降低了電壓表的輸入阻抗,這在實際使用中是所不希望的。所以,實際數字萬用表的直流電壓檔電路為圖2.4所示,它能在不降低輸入阻抗的情況下,到達同樣的分壓效果。圖2.4直流分壓電路例如:其中200V檔的分壓比為,如式2.3計算:〔2.3〕其余各檔的分壓比可以同樣算出。實際設計時根據各擋的分壓和總電阻來確定分壓電阻的。如先確定R總:〔2.4〕再計算2000V檔的電阻,即為:〔2.5〕再逐檔計算出R4,R5,R2,R1。盡管上述最高量程檔是2000V,但通常的數字萬用表出于耐壓和安全考慮,規定最高電壓量限為1000V。換量程時,多刀量程轉換開關可以根據檔位自動調整小數點的顯示,使用者可方便地直接讀出測量結果。〔3〕多量程數字電流表原理測量電流的原理是:根據歐姆定律,用適宜的取樣電阻把待測電流轉換為相應的電壓,再進展測量,如圖2.5所示。圖2.5電流測原理圖2.6多量程分流器電路由于r>>R,取樣電阻R上的電壓降為:〔2.6〕即被測電流為:〔2.7〕假設數字表頭的電壓量程為U0,欲使電流檔量程為I0,則該檔的取樣電阻〔也稱為分流電阻〕為:〔2.8〕如U0=200mV,則I0=200mA檔的分流電阻為R=1Ω。多量程分流器原理電路見圖2.6。圖2.6中的分流器在實際應用中有一個缺點,就是當換擋開關接觸不良時,被測電路的電壓可能使數字表頭過載,所以實際數字萬用表的直流電流檔電路為圖2.7所示。圖2.7中各檔分流電阻的阻值是這樣計算的:先計算最大電流檔的分流電阻R5〔2.9〕再計算下一檔的R4:〔2.10〕因此可以依次計算出R3,R2,R1。圖中BX是2A保險絲管,電流過大時會快速熔斷,超過流保護作用。兩只反向連接且與分流電阻并聯的二極管D1、D2為塑封硅整流二極管,他們起雙向限幅過壓保護作用。正常測量時,輸入電壓小于硅二極管的正向導通壓降,二極管截止,對測量是毫無影響的。一旦輸入電壓大于0.7V,二極管立即導通,兩端電壓被限制住〔小于0.7V〕,保護儀表不被損壞。圖2.7實用分流器電路圖2.8AC-DC交換器原理簡圖〔4〕交流電壓電流測量處理數字萬用表中交流電壓,交流電流測量電路是在直流電壓、直流電流測量的根基之上,在分壓器或者分流器后參加了一級交流—直流〔AC—DC〕變換器,圖2.8為其原理簡圖。該AC—DC變換器的主要組成局部有:集成運算放大器、RC濾波器以及整流二極管等組成。它還包括了一個電位器,這個電位器的功能是能夠很好地調節輸出電壓的上下,它可以用來對交流電壓檔進展校準。調接該電位器可以使數字表頭的顯示值等于被測交流電壓的有效值。與直流電壓檔原理相似,考慮到耐壓和安全方面,我們通常把交流電壓最高檔的限量限定為其有效值,即為700V。〔5〕電阻測量原理在萬用表中,電阻的測量方法是采用比例測量法,它的原理電路圖為圖2.9。圖2.9電阻測量測量的基準電壓是由穩壓管ZD提供的,而流過標準電阻R0和被測電阻Rx的電流是根本相等的〔數字表頭的輸入阻抗很高,其取用的電流根本上可以忽略不計〕。所以A/D轉換器的參考電壓URFE和輸入電壓UIN有如下關系:〔2.11〕即有:〔2.12〕根據所用的A/D轉換器的特性可知,數字顯示的是UIN和URFE的比值,當UIN與URFE相等的時候,則顯示的數是“1000〞。當URFE=2UIN時,顯示的數是“500〞,由此類推。所以,當Rx與R0相等時表頭顯示的數是“1000〞。當R0=2Rx時,表頭顯示的數是“500〞。把此稱作是比例讀數特性。因此,只要我們選取不同的標準測量電阻并且對小數點進展適當的定位,便可以得到不同的電阻測量檔。如對于200Ω檔位時,假設取R01=100Ω時,小數點就定在十位上。如果當RX=100Ω時,這時表頭就會顯示出100.0Ω。當RX變化時,顯示值就會作出相應的變化,那么就可以從0.1Ω測到199.9Ω。有如對2KΩ檔,取R02=1KΩ,小數點就定到了千位上。當RX變化時,顯示值就發生相應的變化,可以從0.001KΩ測到1.999KΩ。其余各檔的情況可以以此類推。在實際應用中電阻測量運用的也是分壓分流原理,根據相應的原理進展分析便可以得到不同量程的電阻測量檔位,由于和前面的分壓原理相似所以在此不做相應的介紹。2.2硬件系統設計總體框架圖如圖2.11所示,本萬用表由以下幾個局部功能組成:電流測量電路、電壓測量電路、電流測量電路、復位電路、震蕩電路、A/D轉換、被測量顯示以及輸入(ADC)。復位電路用來清零,進展下一次的測量;振蕩電路用來消除一些外來干擾,使電路工作更加穩定;ADC輸入將是將輸入量進展A\D轉換;測量顯示就是顯示測量的數值。圖2.11數字萬用表硬件電路組成2.3硬件電路設計方案及芯片2.3.1設計方案用單片機STC89S52與ADC0832設計一個數字萬用表,運用電阻的分壓分流,形成電壓測試電路、電流測試電路和電阻測試電路,并且運用四位數碼顯示。為了設計簡單和硬件的易于實現以及可操作性,利于滑動變阻器做分壓分流,但是這樣做的后果就是使萬用表的量程變小。那么實現電壓測量的測量范圍是0~20V,實現電流測量的范圍是0~200mA,實現電阻測量的范圍是0~1K。在實際生產工作中這樣的量程顯然是不能滿足我們的實際需要的,但是在畢業設計中為了表達原理和實際操作的可實現性使用本方法。2.3.2芯片選擇主控芯片的選擇及方案比照方案1:選用專用電壓轉換芯片INC7107實現電壓的測量和現實。缺點是精度比擬低,且內部電壓轉換和控制局部不可控制。優點是價格低廉。方案2:選用單片機AT89S52和A/D轉換芯片ADC0832實現電壓的轉換和控制,用液晶顯示出最后的轉換電壓結果。缺點是價格稍貴。優點是轉換精度高,且轉換的過程和控制、顯示局部可以控制。基于課程設計的要求,優先選用了:方案2。顯示部件的選擇及方案比照方案1:選用4個單體的共陽數碼管,將a—h全部連接起來,然后接到單片機口的I/O上進展控制。缺點是焊接時比擬麻煩,容易出錯。優點是價格比擬廉價。方案2:選用譯碼芯片74LS47和74LS138配合一個四聯的共陽數碼管顯示。缺點是價格較貴,焊接麻煩,單片機控制時比擬麻煩。優點是有效的節約了單片機的I/O口資源,適用于單片機I/O口不夠用的情況下。方案3:方案三:采用LCD液晶顯示器顯示。而LCD液晶顯示則耗能少,能夠顯示萬用表、電壓、電流、電阻等漢字,在顯示方面更加靈活,而且改變顯示時只要改變軟件設計就可以,不用改變硬件電路的設計,易于電路的功能擴展。電路的軟件設計也很簡單。另外,這種設計硬件更加簡潔。采用LCD液晶顯示方案的缺點是在顯示位數比擬少時,價格略顯昂貴。基于現有的元器件和設計應用的可操作性,以及以上方案的要求,優先選用了:方案1。1.STC89C52單片機介紹和概述STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。使用STC公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。圖2.12STC89S52STC89C52單片機是宏晶科技生產的單時鐘、機器周期為1T的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051單片機,而且速度快8~12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D,應用于電機控制,抗干擾能力強的場合。STC89C52的主要特點:〔1〕機器周期為1T,指令代碼完全兼容傳統8051單片機;〔2〕STC89C52系列的工作電壓:5V;〔3〕工作頻率范圍:0~35MHz;〔4〕片上集成1280字節RAM,用戶應用程序空間60K字節;〔5〕無需專用編程器或專用仿真器,可通過串口〔P3.0和P3.1〕直接下載用戶程序,數秒即可完成;〔6〕有EEPROM功能用于存儲;〔7〕看門狗;〔8〕四個16位定時器;〔9〕7路外部中斷,下降沿或低電平觸發中斷,并新增支持上升沿中斷的PCA模塊,PowerDown模式可由外部中斷喚醒,INT0〔P3.2〕,INT1〔P3.3〕,T0〔P3.4〕,T1〔P3.5〕,;〔10〕工作溫度范圍:-40~+85℃(工業級),0~75℃(商業級);〔11〕8路10位精度的A/D轉換,轉換速度可達250K/S(每秒鐘25萬次)。STC89C52管腳圖如圖2.13所示。圖2.13STC89S52管腳構造VCC:供電電壓。GND:接地。P0口:P0口是一個8位漏極開路的雙向I/O口。當作為輸出用時,每位能驅動8個TTL邏輯電平。向P0口寫入命令“1〞時,引腳呈現高阻狀態輸入。當需要訪問數據存儲器和外部程序時,P0口也可以復用為低8位的地址/數據線。當處于該種模式下時,P0口具有內上拉電阻。P1口:P1口是一個8位雙向I/O口且其具有內上拉電阻,該口能同時驅動4個TTL邏輯電平。對P1口寫入命令“1〞時,內上拉電阻將端口拉高,即可作為輸入端口來使用。當其為輸入口時,外部被拉低的引腳由于內阻的原因,將會輸出一定的電流。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1〞時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進展存取時,P2口輸出地址的高八位。在給出地址“1〞時,它利用內部上拉優勢,當對外部八位地址數據存儲器進展讀寫時,P2口輸出其特殊功能存放器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1〞后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。P3口作為STC89C52的一些特殊功能口,如表2.1所示:表2.1STC89C52單片機一些特殊功能引腳號 備選功能P3.0RXD〔串行輸入口〕P3.1TXD〔串行輸出口〕P3.2/INT0〔外部中斷0〕P3.3/INT1〔外部中斷1〕P3.4T0 〔記時器0外部輸入〕P3.5T1〔記時器1外部輸入〕P3.6/WR〔外部數據存儲器寫選通〕P3.7/RD〔外部數據存儲器讀選通〕2.ADC0832A/D轉換模塊的介紹ADC0832是\t"://baike.baidu/_blank"美國國家半導體公司生產的一種8\t"://baike.baidu/_blank"位分辨率、雙通道A/D轉換芯片。由于它體積小,兼容性,性價比高而深受單片機愛好者及企業歡送,其目前已經有很高的普及率。學習并使用ADC0832可使我們了解\t"://baike.baidu/_blank"A/D轉換器的原理,有助于我們單片機技術水平的提高。ADC0832的主要特點是:〔1〕輸入輸出電平與TTL/CMOS相兼容;〔2〕5V電源供電時輸入電壓在0~5V之間;〔3〕工作頻率為250KHZ,轉換時間為32μS;〔4〕一般功耗僅為15mW;〔5〕8P、14P—DIP〔雙列直插〕、PICC多種封裝;〔6〕商用級芯片溫寬為0°C~+70°C,工業級芯片溫寬為?40°C~+85°C;ADC0832A/D轉換模塊的管腳圖如圖2.14所示。其各個管腳的功能如下:2.14ADC0832A/D轉換管腳圖CS_:片選使能,低電平芯片使能。CH0:模擬輸入通道0,或作為IN+/-使用。CH1:模擬輸入通道1,或作為IN+/-使用。GND:芯片參考0電位〔地〕。DI:數據信號輸入,選擇通道控制。DO:數據信號輸出,轉換\t"://baike.baidu/_blank"數據輸出。CLK:芯片時鐘輸入。Vcc/REF:電源輸入及參考電壓輸入〔復用〕。ADC0832為8\t"://baike.baidu/_blank"位分辨率A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉換時間僅為32μS,據有雙數據輸出可作為\t"://baike.baidu/_blank"數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數據輸入端,可以輕易的實現通道功能的選擇。3硬件設計3.1電路模塊1.單片機最小系統單片機最小系統電路實現對采集數據的處理和輸出顯示的控制,主控電路由STC89C52單片機、晶振電路、復位電路三局部組成,各局部作用如下所述,由其三局部構成的單片機最小系統電路如圖2.15所示[10]。圖3.1單片機最小系統2.電源局部由于高壓分流電會對弱電系統產生干擾,影響系統的穩定性。為了本次設計簡單實用性,以及可操作性采用電池盒構成電池組進展供電,所以本次設計采用外部電池組供電,這樣做的目的就是為了方便簡單,但是采用電池吃電源存在維護的不方便和電壓電流衰減等缺點。當然也可以采用外部穩壓電源,這樣做使得輸出穩定,電壓電流衰減對其影響較小,但是在設計電路的時候以及硬件設計時增加電路復雜性。綜上所述,采用電池組供電。在用到電池組供電時用到鏈接電院和電腦的連接線,在連接線上使用DC電源插口。DC電源插口的原理圖如圖2.16所示。電源插口的外接電路如圖2.17所示,其中CON2為電源插針,其中S1為一個開關。圖3.2DC電源插口的原理圖圖3.3電源插口的外接電路3.輸入端為了設計簡單,沒有設計保護裝置所以輸入端直接為紅黑表筆,如圖2.18所示。在使用中黑表筆為接地端,根據不同的測量要求〔電壓、電流、電阻〕選擇不同的檔位進展測量。圖3.4萬用表輸入端4.電壓測量電路由前面的萬用表的原理可知,利用電阻的分壓原理便可以得到不同測量量程。但是我們設計的電壓測量范圍是0~20V,對量程要求小所以其原理圖如圖2.19所示。在實際我們可以采用滑動變阻器來保護電路,通過改變劃片位置來實現分壓,這樣做的目的就是為了是電路設計簡單的同時起到保護作用。圖3.5電壓測量電路5.電流測量電路利用前面的萬用表原理,電阻的分流作用就可以得到不同量程的電流測量范圍。本次設計的測量范圍是0~200mA,所以直接串聯電阻如圖2.20所示。在實際設計仿真中往往參加滑動變阻器,滑動變阻器在電路中的作用就是調節和保護作用。圖3.6電流測量電路6.電阻測量電路電阻測量電路如圖2.21所示。利用電阻的分壓和分流作用可以設計出不同的測量量程,由于本次設計要求電阻測量范圍是0~1K,所以直接在測量輸入端串聯電阻,這個電阻起到保護電路和分壓作用。在通常設計仿真時在輸入端串聯一個滑動變阻器,其作用和電壓測量電路以及電流測量電路的作用一樣。圖3.7電阻測量電路7.顯示電路模塊如圖3.8所示,本次設計采用4位數碼管顯示。8.數碼管驅動電路本次設計顯示模塊沒用采用液晶顯示,而是采用了簡單數碼顯示。數碼顯示的驅動電路是由四個三極管和電阻串聯而成的,電路設計如圖2.23所示。圖3.8數碼管顯示模塊圖3.9數碼管驅動電路9.ADC0832A/D轉換模塊本次設計的A/D轉換模塊采用的是ADC0832,其電路設計如圖3.10所示。圖3.10ADC0832電路圖10.震蕩電路晶振有一個重要的參數,那就是負載電容值,選擇與負載電容值相等的并聯電容,就可以得到晶振標稱的諧振頻率。一般的晶振振蕩電路都是在一個反相放大器〔注意是放大器不是反相器〕的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯的容量值就應該等于負載電容,請注意一般IC的引腳都有等效輸入電容,這個不能忽略。本次設計的震蕩電路如圖3.11所示。圖3.11震蕩電路11.復位電路單片機需要正常工作,以及系統中的硬件電路可以可靠的工作,復位模塊電路是必須的組成局部,復位電路最重要的是上電復位。由于微機電路的構成均是時序電路且是數字電路,它需要一致的時鐘脈沖,因此在電源剛上電時,只有當VCC到達標準電壓時以及在晶振穩工作在穩定狀態之后,復位信號才被撤除,單片機的各局部電路開場正常工作。其次,復位電路還需要在單片機出現異常或者需要手動重置單片機程序時,可以通過按鍵等進展強行復位單片機的電路,并且復位的優先級會是最高的。本次設計的復位電路如圖3.12所示。圖3.12復位電路3.2硬件電路數字萬用表整體硬件構造圖。圖3.13硬件構造圖4軟件仿真4.1軟件介紹Proteus軟件是英國LabCenterElectronics公司出版的\t"://baike.baidu/view/_blank"EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比擬好的仿真單片機及外圍器件的工具。Proteus是世界上著名的EDA工具(\t"://baike.baidu/view/_blank"仿真軟件),從\t"://baike.baidu/view/_blank"原理圖布圖、代碼調試到\t"://baike.baidu/view/_blank"單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將\t"://baike.baidu/view/_blank"電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種\t"://baike.baidu/view/_blank"編譯器[11]。4.2流程圖圖4.1軟件仿真流程圖4.3仿真圖圖4.2仿真圖4.4仿真結果4.4.1電壓檔仿真結果在仿真時當將電壓檔開關翻開,仿真結果如圖3.1所示。改變滑動變阻器相當于改變紅黑表筆接的不同回路進展電壓測量〔可以在重新測量之前按下復位鍵進展復位后在進展測量〕。通過R2,R3進展分壓,設測得的電壓U,則實際電壓U1=(U/R3)*R2;注:所測電壓大于20V講燒壞AD轉換器。圖4.3電壓檔仿真仿真結果4.4.2電流檔仿真結果在進展電流測量時首先進展電流檔復位待顯示清零后在進展電流檔仿真,改變滑動變阻器相當于改變紅黑表筆接的不同回路進展電流測量。如圖4.4所示,在測量中假設設測得的電壓為U:則電路中的電流為I=〔U/5〕*1000(MA);注:電流過大則會燒壞電阻R4;圖4.4電流檔仿真結果4.4.3電阻檔位仿真結果在進展電阻檔位仿真時首先進展復位鍵進展復位,待顯示清零以后再進展測量仿真,在仿真過程中改變滑動變阻器的位置相當于改變了紅黑表筆所接的不同阻值的電阻。如圖4.5所示,設測的電壓為U,則電路中電流I=(5-U)/100所測電阻R=U/I=U/((5-U)/100),注:電阻過大,則會造成測量不準確。圖4.5電阻檔位仿真結果5結語通過這次的畢業設計,是我對測量原理有了更深的認識,從理論和實踐上都得到了很大的提高,所以這次任務的完成使我學到了很多東西。首先豐富了自己的知識面,學到了以前沒有學通的東西,具體了解了怎樣去完成一個電路設計:從模塊功能圖、電路圖、焊接電路板、檢查電路板、調試分析到最后數據的測量一整套東西。幾個月的畢業設計就要完畢了,回想整個畢業設計過程,覺得受益匪淺。通過這次畢業設計,使我對萬用表的設計有了更進一步的了解,也加深了對大學四年中所學的根基知識的理解。畢業設計是理論聯系實際的有效方法。在具體設計過程中,必須考慮到方方面面的問題,通過畢業設計不但加深了對書本知識的理解,同時還學到了書本上學不到的知識,那就是實際設計中所獲得的經歷。理論與實際總是存在差距,在理論上準確無誤的設計,在實際中往往存在各種問題。這樣,在設計時就必須考慮,系統在實際運用中能否正常工作。畢業設計使我學會了從實際出發設計系統,而不僅僅考慮理論上的可行性。致謝本論文是在黃朝軍教師的親切關心和悉心指導下完成的,他嚴肅的科學態度,嚴謹的治學精神,精益求精的工作作風,深深地感染和鼓勵著我。黃教師不僅在學業上給我以精心指導,同時還在思想、生活上給我以無微不至的關心,在此謹向王教師致以誠摯的謝意和崇高的敬意。我還要感謝在一起愉快的度過畢業論文小組的同學們,正是由于你們的幫助和支持,我才能抑制一個一個的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開場進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請承受我誠摯的謝意!最后,再次對關心、幫助我的教師和同學表示衷心地感謝!參考文獻[1]秦輝,韓冰,馬術才,劉鈺,馬艷麗.智能數字萬用表研制[J],實驗技術與管理,2010,27(7):64-67.[2]徐見煒.基于C8051F340的智能萬用表[J],電氣與自動化,2012,41(4):189-192.[3]劉洋,王厚軍,戴志堅.PXI高精度數字萬用表的設計與實現[J],電子測量技術,2011,34(10):69-71.[4]白雨微,薛巨峰,魯志軍.六位半數字多功能萬用表設計[J],林業機械與木工設備,2010,38(12):41-43.[5]楊桂林.基于SPCE0612A的智能數字萬用表[J],海南大學學報自然科學版,2013,31(3):249-253.[6]湯莉莉,黃偉.基于MSP430單片機的多功能數字萬用表設計[J],科技創新導報,2012,26:41-42.[7]祝鳳金.基于單片機的萬用表設計[J],電子技術,2011,38(1):50-51.[8]周艷.基于單片機的萬用表設計[J],科技視界,2015,117-118.[9]丁元杰.單片微機原理及應用[M].機械工業出版社.2005.07.[10]童詩白.模擬電子技術根基[M].高等教育出版社.2005.01.[11]張偉,王力.protel2004入門與提高[M].人民郵電出版社.2005.11.[12]WangLei-gao,WangChun-ping,LiMing.DesignofDigitalMultimeterModuleBasedonARM[J],2010[13]InternationalConferenceonComputer,Mechatronics,ControlandElectronicEngineering(CMCE)[J],2010:110-112.附錄A附錄B110uf直插電解電容1230P直插瓷片電容23F5461BH2.54間距,0.56寸4位共陽數碼管14Header4排針4-Pin25POWERDC電源插座16S9012PNP三極管47100R/2W色環電阻185R/2W192.2K41030K11110K212SW-PB按鍵6X6X5MM113SWITCH自鎖開關414ADC0832AD轉換器115STC89C51/5251單片機11612MHZ晶振1附錄C附件D#include<reg52.h>//包含頭文件,一般情況不需要改動,頭文件包含特殊功能存放器的定義#include"intrins.h" #defineu8 unsignedchar#defineu16 unsignedint#defineuchar unsignedchar#defineuint unsignedint//按鍵sbitKey_V=P3^0; //電壓模式鍵sbitKey_R=P1^4; //電阻模式鍵sbitKey_I=P3^5; //電流模式鍵#defineKEY_V 1 //電壓模式#defineKEY_R 2 //電阻模式#defineKEY_I 3 //電流模式/***********************************************************************************************************數碼管顯示相關函數***********************************************************************************************************/#defineSMG_NUM4u8codeDisplayNum[16]={0xc0, //00xf9, //10xa4, //20xb0, //30x99, //40x92, //50x82, //60xf8, //70x80, //80x90, //90x88, //A0x83, //b0xc6, //C0xa1, //d0x86, //E0x8e //F};//u8codeDisplayOther[]={0xff, //0 空0x7f, //1 "."0xbf, //2 "-"0xa7 //3 c};voiddelay_ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<110;j++);}//數碼管位選定義sbitsmg_we1=P2^0; //東西數碼管2sbitsmg_we2=P2^1; //東西數碼管1sbitsmg_we3=P2^2; //南北數碼管2sbitsmg_we4=P2^3; //南北數碼管1voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<110;j++);}#defineLED_a 0 //數碼管段選的a段接在段選IO口的第0位#defineLED_b 2#defineLED_c 6#defineLED_d 4#defineLED_e 3#defineLED_f 1#defineLED_g 7#defineLED_dp 5u8ChangeFor(u8dat){ u8temp=0; if(dat&0x01) //判斷數據的第一位是否為1 temp|=0x01<<LED_a;//如果為1,放到控制數碼管a段的位置 if(dat&0x02) temp|=0x01<<LED_b; if(dat&0x04) temp|=0x01<<LED_c; if(dat&0x08) temp|=0x01<<LED_d; if(dat&0x10) temp|=0x01<<LED_e; if(dat&0x20) temp|=0x01<<LED_f; if(dat&0x40) temp|=0x01<<LED_g; if(dat&0x80) temp|=0x01<<LED_dp; returntemp;}uchardis_smg[SMG_NUM]; //顯示緩存數組voidDisplayScan(){ staticuchari; P0=0xff; //消隱 smg_we_switch(i); //位選 P0= ChangeFor(dis_smg[i]); //段選 i++; if(i>=SMG_NUM) i=0;}/***********************************************************************************************************ADC0832相關函數***********************************************************************************************************/sbitADCS =P1^2;//ADC0832片選sbitADCLK=P1^0;//ADC0832時鐘sbitADDI =P1^1;//ADC0832數據輸入 /*因為單片機的管腳是雙向的,且ADC0832的數據輸入輸出不同時進展,sbitADDO =P1^1;//ADC0832數據輸出 /*為節省單片機引腳,簡化電路所以輸入輸出連接在同一個引腳上unsignedintAdc0832(unsignedcharchannel){ uchari=0; ucharj; uintdat=0; ucharndat=0; ucharVot=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;//拉低CS端 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿1 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿2 _nop_(); _nop_(); ADCLK=1;//拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令完畢 _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO;//收數據 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時鐘脈沖 _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO;//收數據 ADCLK=1; _nop_(); _nop_(); ADCLK=0;//形成一次時鐘脈沖 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1;//拉低CS端 ADCLK=0;//拉低CLK端 ADDO=1;//拉高數據端,回到初始狀態 dat<<=8; dat|=ndat; return(dat);//returnaddata}/***********************************************************************************************************主函數***********************************************************************************************************/voidmain(void){ u8Mode; ucharRead_AD; //用于讀取ADC數據 ucharVIN; //電壓值變量 u16RIN; //電阻值變量 u16IIN; //電流值變量 u16i=0;; while(1) //主循環 { if(Key_V==0) //電壓按鍵按下 { Key_V=1; //去除按下標記 if((Key_R==0)||(Key_I==0))//電阻電流按鍵也有按下 { Key_I=1; Key_R=1; Key_V=1; Mode=4; //標記為錯誤模式 } else //

溫馨提示

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

評論

0/150

提交評論