




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PAGE39 / NUMPAGES44 畢業設計(論文) 基于單片機的RLC測試儀設計Design of RLC Instrument Based on SCM : 孟 松 : 電氣與信息學院 : 電子信息工程 : 0441 : 張 學 敏 : 講 師 : 2008年 6月 20日 學生XX所在院系所學專業所在班級指導教師教師職稱完成時間長 春 工 程 學 院摘 要隨著電子技術的發展,產品智能化、數字化已成為人們追求的一種趨勢,尤其對電子設備的精密度和穩定度最為關注。現在使用的RLC測試儀大都是硬件電路往往比較復雜,體積比較龐大,不便攜帶,而且價格比較昂貴,而且對初學者來說很不方便。所以本設
2、計設計了基于AT89S51單片機控制的RLC測試儀。利用單片機的運算和控制功能,方便地實現對R、L、C的參數的測量。可在硬件結構不變的情況下,同時用軟件程序代替一些硬件測量電路。能夠很好的完成對RLC參數的測量。本設計通過插值算法使測量結果精度得到了有效的提高,同時通過數字慣性濾波法避免了讀數的跳動,使得讀取測量結果更加方便。本設計正是應社會發展的要求,研制出一種價格便宜和操作簡單、自動轉換量程、體積更小、功能強大、便于攜帶的RLC測試儀。關鍵詞單片機 RLC測試儀 插值算法 數字濾波AbstractWith the develop of electronic technology,the p
3、roductsintelligentize and digitized has become a trend which is pursued by human ,Especially for electronic equipment precision and stability .TheRLC testers now are used mostly hardware circuits ,which are complex, large volume comparison, inconvenience to carry, and price is more expensive and inc
4、onvenient for beginners.Therefore, the design of the RLC tester based on AT89C51 SCM is necessary. using the SCMs operation and control functions to realize the measure of the R, L, C parameters expediently.In the case of the hardware structure remain unchangable, using a software program to replace
5、 some hardware measuring circuit,which can complete the measure of RLC parameters very well.The design improves the resultsmeasuring accuracy by using the interpolation algorithm effectively, at the same time through a filtering method to avoid reading the beat, making it more convenient to read the
6、 measuring results. The design is conformed to the social development, developed a cheap and simple, automatic conversion range and smaller size, and portable RLC Tester.Key word:Single chip microRLC measuring meterInterpolation algorithmDigital filtering目 錄 TOC o 1-2 h z u HYPERLINK l _Toc170881564
7、1 引言1 1.HYPERLINK l _Toc1708815641 課題設計目的意義1HYPERLINK l _Toc1708815641.2 課題設計容1HYPERLINK l _Toc1708815641.3 技術要求1 1.4 擬解決關鍵問題2 1.5 課題的來源HYPERLINK l _Toc1708815722 1.6 課題的圍HYPERLINK l _Toc1708815722HYPERLINK l _Toc1708815652 總體方案設計2HYPERLINK l _Toc1708815652.1 方案一22.HYPERLINK l _Toc1708815722 方案二4HYP
8、ERLINK l _Toc1708815722.3 方案選擇4HYPERLINK l _Toc1708815722.4 系統原理框圖4HYPERLINK l _Toc1708815723 硬件設計5HYPERLINK l _Toc1708815723.1 測電阻Rx的RC振蕩電路53.2 測量電容Cx的RC振蕩電路HYPERLINK l _Toc1708815726HYPERLINK l _Toc1708815723.3 測量電感Lx的電容三點式振蕩電路7HYPERLINK l _Toc1708815723.4 模擬開關8HYPERLINK l _Toc1708815723.5 89C81單片
9、機113.6 LED數碼管顯示器HYPERLINK l _ToYPERLINK l _Toc1708815724 軟件設計21HYPERLINK l _Toc1708815724.1 主程序流程圖21HYPERLINK l _Toc1708815724.2 頻率的測量方法和誤差分析21HYPERLINK l _Toc1708815724.3 穩定讀數24HYPERLINK l _Toc1708815725 總結25HYPERLINK l _Toc170881572參考文獻26HYPERLINK l _Toc170881572致 27附 錄HYPERLINK l _To
10、c170881572281引言1.1 課題的目的和意義現在我們所使用過的RLC測試儀最典型的就是萬用表,但是萬用表在使用過程中如果操作不當非常容易產生誤差,隨著社會的發展測試儀的應用越來越廣泛,我們發現儀表模式的測試儀使用起來越來越不方便。隨著電子技術的發展,數字電路應用領域的擴展,軟件技術的高度發展與其在電子測量技術與儀器上的應用,新的測試理論、新的測試方法、新的測試領域以與新的儀器結構不斷出現,產品智能化、數字化已成為人們追求的一種趨勢,設備的性能,價格,發展空間等備受人們的關注,尤其對電子設備的精密度和穩定度最為關注。在許多方面已經沖破了傳統儀器的概念,電子測量儀器的功能和作用發生了質的
11、變化。當今社會,對RLC的測試雖然已經很成熟了,但是價格和操作簡單特別是智能方面有待發展,價格便宜和操作簡單、智能化的儀表開發和應用存在巨大的發展空間,本設計正是應社會發展的要求,研制出一種價格便宜和操作簡單、自動轉換量程、體積更小、功能強大、便于攜帶的RLC測試儀,充分利用現代單片機技術,研究了基于單片機的智能RLC測試儀,人機界面友好、操作方便的智能RLC測試儀,具有十分重要的意義。本設計是用振蕩電路把RLC的參數轉換成頻率,再用單片機計算頻率,然后對其值進行補償后再顯示RLC的值,所以用起來非常方便而且價格便宜、精確度高,測量誤差保持在5%以。本設計是基于8051單片機控制的智能RLC測
12、試儀,利用單片機對R、L、C的參數進行測量,可以充分利用單片機的運算和控制功能,方便地實現測量,使測量精度得到提高。同時用軟件程序代替一些硬件測量電路。能夠很好的完成對RLC參數的測量,以滿足現代測控系統的需要。本儀表通過插值算法使測量結果精度得到了有效的提高,同時通過數字慣性濾波法避免了讀數的跳動,使得讀取測量結果更加方便。1.2 課題設計容設計一個帶數字顯示的電阻,電容和電感測試儀。采用89C51單片機為主要控制環節,通過振蕩電路把參數轉換成頻率信號,再由模擬開關控制輸入信號,并通過單片機對輸入的信號進行計數和運算,最后在LED數碼顯示管上顯示出被測原件的大小。并通過發光二極管指示出原件的
13、類別和單位。1.3 技術要求測量圍:電阻100歐姆到1M歐姆,電容100pF到10000pF,電感100uH到10mH。測量精度:+5%用4位數碼顯示器,顯示測量數值,并用發光二極管分別指示所測原件的類別和單位。測量量程能夠自動轉換。有設計方案比較,理論分析和計算,測試結果分析。1.4 擬解決關鍵問題對RC震蕩和LC三點式振蕩的振蕩器的設計和相關計算。在設計中要把電子元件的集中參數R、C、L轉換成頻率信號,而實現這一轉換的原理分別是RC震蕩和LC三點式振蕩。所以要對振蕩器進行設計。只有實現了轉換才能進行下面的工作。8051單片機的軟件程序的設計和調試。經過轉換后的信號要經過計數和運算才能得到我
14、們所需要的數值,這就需要我們根據需要利用8051單片機進行編程,同時這個程序對整個系統也起著控制作用。這是一個重要的環節,要經過反復的編寫程序和調試。測量量程的自動轉換減小測量的誤差。1.5 課題的來源隨著社會發展的需求,測試儀應用的廣發,老式的測試儀越來越不能滿足社會的需求,基于這這一觸發點需要完成一套智能型的適應需求的RLC測試儀。1.6 課題的圍依據不同的劃分依據,可以將課題的圍劃分為如下幾種:以課題涵蓋的知識分類來說,課題涉與到模擬電子學、數字電子學、單片機等學科,各學科的交織在一起,各自完成著各自的功能,再有機的整各在一起,就形成了一個完整的具備RLC測試功能的系統。以課題設計電路的
15、類別來說,包涵硬件電路和軟件電路。現時代的各種先進儀器設備,均具備一樣的一個特點,那就是軟硬件電路的整合。傳統意義上的硬件電路已經不能滿足當今社會日益發展的功能要求,而只有兩者相互結合的設計,各取所長,才能滿足設計的要求。以課題設計的用途來說,精度高,穩定性好,體積小、隨身攜帶性強、重量輕巧的系統更適用于各領域測試的需求。2總體方案設計2.1方案一RLC參數的測量方法主要有電橋法、諧振法和伏安法2.11 電橋法 電橋法是能同時測量電器元件R、L、C最典型的方法,如圖1所示。電阻R可用直流電橋測量,電感L、電容C可用交流電橋測量。電橋平衡的條件為GZ1Z2ZxZn圖2-1 RLC測量電橋通過調節
16、阻抗Z1、Z2使電橋平衡,這時電表讀數為零。根據平衡條件與一些已知的電路參數就可以求出被測參數。用這種測量方法,參數的值還要通過聯立方程求解,調節電阻值一般只能手動,電橋平衡的判別亦難以用簡單的電路實現。這樣,電橋法不易實現自動測量。2.12諧振法諧振法可以用來測量L、C值,如圖2所示。它可以在工作頻率上進行測量,使測量的條件更接近使用情況。但是,這種測量方法要求的頻率連續可調,直至諧振。因此它對震蕩器要求較高,另外,和電橋法一樣,調節和平衡判斷很難實現智能化。圖2-2 諧振法測量L、C原理圖2.13 伏安法 伏安法是測量電阻的最基本方法,如圖2-3所示。分別用電流表和電壓表測出通過電阻的電流
17、和電壓,根據公式R=U/I求得電阻。這種測量方法要同時測出兩個模擬量,不易實現自動化。而指針式萬用表歐姆擋是把被測電阻與標準電阻與電池串聯,用電流表測出電流,由于被測電阻與電流一一對應,由此就可讀出被測電阻阻值,如圖2-4所示。這種測量的方法的精度變化大,若要較高的精度,必須較多的量程,電路復雜。AVRx圖2-3 伏安法測量電阻原理圖圖2-4 萬用表測量電阻原理圖以上各種方法都難以實現智能化,因此沒有被本設計采用。很多測試儀都是把較難測量的物理量轉變精度較高且較容易測量的物理量。基于此思路,我們把電子元件的集中參數R、C、L轉換成頻率信號f,然后用單片機計數后再運算求出R、C、L的值 ,并顯示
18、,轉換的原理分別是RC震蕩和LC三點式振蕩。其實,這種轉換就是把模擬量近似地轉化為數字量,另一方面也避免了由指針讀數引起的誤差。2.2方案二利用振蕩器把電子元件的集中參數R、C、L轉換成頻率信號,通過模擬開關輸入,然后通過單片機的計數和運算求出RLC的值,最終在顯示器上顯示出來。2.3方案選擇方案二與方案一相比較,方案二的產品比方案一的產品體積小,操作簡單,應用更加廣泛。而且成本也較低,功能強大、便于攜帶。且精度高,適應儀器發展的需求。基于以上,我們選擇第二種方案。2.4系統原理框圖系統原理框圖如圖2-5所示。單片機模擬開關頻率功能選擇按鍵LED顯示器RC振蕩器RC振蕩器電容三點式振蕩器被測電
19、阻被測電容被測電感圖2-5 系統原理框圖3 硬件設計3.1測電阻Rx的RC振蕩電路圖6是一由555電路構成的多諧振蕩電路。它的振蕩周期為即 (1)式中,。為了避免直接采用式(1)來計算時由于某種原因引起的非線性誤差,本設計引入了直線插值算法,做法如下:用本設計去測量標準電阻R0、R1Rn,記下測得相應的周期T0、T1Tn,得到基準點(R0,T0)、(R1,T1)(Rn,Tn),則有(i=0,1,n)測量未知電阻Rx時,測得的周期為T,若,則聯立以上三式,得(2)用式(2)計算Rx時,結果與電路中的元件參數無關,這樣可以避免電路元件帶來的誤差。通過選用高精度的基準電阻和增加基準點的個數,便可使測
20、量結果的誤差在允許的圍。圖3-1 測電阻Rx的RC振蕩電路3.2 測量電容Cx的RC振蕩電路如圖7所示,測量Cx的RC振蕩電路與測Rx的振蕩電路完全一樣。取R1=R2,則式中。與測量電阻的過程相似,通過標準電容的測量可以得到基準點,當測量未知電容得到相應的脈沖周期為T時,有 (3)圖3-2 測量電容Cx的RC振蕩電路3.3 測量電感Lx的電容三點式振蕩電路 如圖8所示,在電容三點振蕩電路中,C1、C2分別采用1000pF和2200pF的獨石電容,其電容值遠大于晶體管極間電容,可以把極間電容忽略。這樣根據振蕩頻率公式: (4)其中對于10uH的電感由于單片采用12MHz晶振晶,最快只能計幾百kH
21、z的頻率,因此在測電感這一檔時,應分頻后再送單片機計數。由式(4)得,其中通過對一些標準電感的測量,可得到一些基準點,,當測量未知電容得到相應的脈沖周期的平方為時,由直線插值法可得(5)圖3-3 測量電感Lx的電容三點式振蕩電路3.4 模擬開關模擬開關是一種三穩態電路,它可以根據選通端的電平,決定輸人端與輸出端的狀態。當選通端處在選通狀態時,輸出端的狀態取決于輸人端的狀態;當選通端處于截止狀態時,則不管輸人端電平如何,輸出端都呈高阻狀態。模擬開關在電子設備中主要起接通信號或斷開信號的作用。由于模擬開關具有功耗低、速度快、無機械觸點、體積小和使用壽命長等特點,因而,在自動控制系統和計算機中得到了
22、廣泛應用。3.41模擬開關的電路組成與工作原理 圖3-4 模擬開關的電路組成模擬開關電路由兩個或非門、兩個場效應管與一個非門組成,如圖一所示。模擬開關的真值表如下表3-1 模擬開關的真值表EAB10011100高阻狀態01高用狀態模擬開關的工作原理如下: 當選通端和輸人端同為1時,則S2端為,1端為,這時1導通,2截止,輸出端輸出為,=,相當于輸入端和輸出端接通。 當選通為0時,而輸人端為時,則S2端為1,S1端為,這時1截止,VT2導通,輸出端為,也相當于輸人端和輸出端接通。 當選通端為時,這時1和2均為截止狀態,電路輸出呈高阻狀態。 從上面的分析可以看出,只有當選通端為高電平時,模擬開關才
23、會被接通,此時可從向傳送信息;當輸人端為低電平時,模擬開關關閉,停止傳送信息。 3.42 常用的CMOS模擬開關集成電路 根據電路的特性和集成度的不同,模擬開關集成電路可分為很多種類。現將常用的模擬開關集成電路的型號、名稱與特性列入表3-2中。表3-2 常用的模擬開關類別型號名稱特點模擬開關CD4066四雙向模擬開關四組獨立開關,雙向傳輸多路模擬開關CD40518選1模擬開關電平位移,雙向傳輸,地址選擇CD4052雙4選1模擬開關電平位移,雙向傳輸,地址選擇CD4053三路2組雙向模擬開關電平位移,雙向傳輸,地址選擇CD4067單16通道模擬開關電平位移,雙向傳輸,地址選擇CD4097雙8通道
24、電路模擬開關電平位移,雙向傳輸,地址選擇CD4529雙四路或單八路模擬開關電平位移,雙向傳輸,地址選擇3.43單八路模擬開關CD4051根據設計需求我們選用的是CD4051模擬開關圖3-5 CD4051CD4051相當于一個單刀八擲開關,開關接通哪一通道,由輸入的3位地址碼ABC來決定。其真值表見表1。“INH”是禁止端,當 “INH”=1時,各通道均不接通。此外,CD4051還設有另外一個電源端VEE,以作為電平位移時使用,從而使得通常在單組電源供電條件下工作的 CMOS電路所提供的數字信號能直接控制這種多路開關,并使這種多路開關可傳輸峰峰值達15V的交流信號。例如,若模擬開關的供電電源VD
25、D=5V, VSS=0V,當VEE=5V時,只要對此模擬開關施加05V的數字控制信號,就可控制幅度圍為5V5V的模擬信號。 表3-3 輸入狀態與接通通道輸入狀態INH000000001C000001111B00110011A01010101接通通道01234567均不接通在設計中我們只需用3個通道即可。3.5 89C51單片機3.51單片機綜述微處理器CPU微處理器是微型電子計算機的心臟或指揮中心,所以人們又稱這個關鍵部件叫中央處理器,簡稱為CPU。現在人們可以把CPU、存儲器、I/O接口等功能部件都集成到,一塊芯片上。這神芯片能夠完成微機相應部分的功能,人們稱它為單片微型計算機,簡稱單片機。
26、單片機目前還沒有一個確切的定義。普遍以為單片機是將CPU,RAM,ROM、定時器/計數器以與輸入/輸出(I/O)接口電路等計算機主要部件集成在一塊芯片上,這樣所組成的芯片級微型計算機稱為單片微型計算機(Single Chip Microcomputer),簡稱為單片機微型機或單片機。由于單片機的硬件結構與指令系統都是按工業控制要求設計的,常用于工業的檢測、控制裝置中、因而也稱為微控制器(Micro-Cotroller)或嵌入式控制器(Ebeddsed-Controller)。AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片含4k bytes的可反復擦寫的Flash只
27、讀程序存儲器和128 bytes的隨機存取數據存儲器(RAM ),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C51單片機可提供許多高性價比的應用場合,可靈活應用于各種控制領域。本設計選用的單片機是Intel 公司生產的AT89C51,其具備微型化、低功耗、高速化、集成資源多、性能優異而且價格便宜等優點。在本設計中利用單片機主要目的是為了,實現廣告燈的智能閃爍,從而實現多種花樣顯示,同時也用于控制固態繼電器的開通與關斷。利用單片機實現的有利條件是價格便宜,而且容易實現便于修改。3.52
28、 AT89C51單片機功能特性概述AT89C51提供以下標準功能:4k字節Flash閃速存儲器,128字節部RAM,32個I/O口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片振蕩器與時鐘電路。同時,AT89C51可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口與中斷系統繼續工作。掉電方式保存RAM中的容,但振蕩器停工作并禁止其它所有部件工作直到下一個硬件復位。AT89C51單片機引腳圖3.3如下所示:圖3-6 AT89C51單片機引腳圖AT89C51單片機引腳功能說明:Vcc:電源電壓
29、GND:地P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活部上拉電阻。在Flash編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。Pl口:P1是一個帶部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過部的上拉電阻時把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為部存在上拉電阻
30、,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,P1接收低8位地址。P2口:P2是一個帶有部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口“1”,通過部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執行MOVX DPTR指令)時,P2口送出高8位地址數據。在訪問8位地址的外部數據存儲器(如執行MOVX RI指令) 時,P2口線上的容(也即特殊功能寄存器(SFR )區中R2寄存
31、器的容),在整個訪問期間不改變Flash編程或校驗時,P2亦接收高位地址和其它控制信號。P3口:P3口是一組帶有部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電陽輸出電流(IIL)。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表3-4所示:表3-4 P3引腳的第二功能表P3.0 RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外中斷0)P3.3(外中斷1)P3.4T0(定時/計數器0)P3.5T1(定時計數器1)P3.6
32、(外部數據存儲器寫選通)P3.7(外部數據存儲器讀選通)RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。ALE/:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(FRZG)如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位,可禁ALE操作。該位置位后,只有一條MOVX和MOV
33、C指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE無效。:程序儲存允許()輸出是外部程序存儲器的讀選通信號,當 AT89C51由外部程序存儲器取指令(或數據)時,每個機器周期兩次T觸發下有效,即輸出兩個脈沖。在此期間,訪問外部數據存儲器,這兩次有效的信號不出現。EA/VPP:外部訪問允許。欲使CPU僅訪問外程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時部會鎖存EA端狀態。如EA端為高電平(接VCC端),CPU則執行部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源
34、Vpp,,當然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放人器的與部時鐘發生器的輸入端。XTAL2:振蕩器反相放人器的輸出端3.53 部分模塊介紹(1)時鐘振蕩器:AT89051中有一個用于構成部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或瓷諧振器一起構成自激振蕩器,振蕩電路參見圖3.7。外接石英晶體(或瓷諧振器)與電容C1, C2接在放人器的反饋回路中構成并聯振蕩電路。對外接電容C1, C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩定性、起振的難易程序與
35、溫度穩定性,如果使用石英晶體,推薦電容使用30pF10pF,而如使用瓷諧振器建議選擇40pFl0F。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖3.7右圖所示。這種情況下,外部時鐘脈沖接到XTAL1端,即部時鐘,發生器的輸入端,XTAL.2則懸空。 部振蕩電路 外部振蕩電路 石英晶體時:C1,C2=30pF10pF 瓷諧振器:C1,C2=40pF10pF圖3-7振蕩器電路圖由于外部時鐘信號是通過一個2分頻觸發器后作為部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續時間和最大的低電平持續時間應符合產品技術條件的要求。(2)空閑節電模式:AT89C51有兩種可用軟件編程的省
36、電模式,它們是空閑模式和掉電工作模式。這兩種方式是控制專用寄存器PCON(即電源控制寄存器)中的即(PCON. 1)和IDL. (PCON.0)位來實現的。即是掉電模式,當PD=1時,激活掉電工作模式,單片機進入掉電工作狀態。IDL.是空閑等待方式,當IDI=1,激活空閑工作模式,單片機進入睡眠狀態。如需同時進入兩種工作模式,即PD和IDL同時為1,則先激活掉電模式。在空閑工作模式狀態,CPU保持睡眠狀態而所有片的外設仍保持激活狀態,這種方式由軟件產生。此時,片RAM和所有特殊功能寄存器的容保持不變。空閑模式可由任何允許的中斷請求或硬件復負位終止。(3)終止:空閑工作模式的方法有兩種,其一是任
37、何一條被允許中斷的事件被激活,IDL. ( PCON. 0)被硬件清除,即刻終止空閑工作模式。程序會首先響應中斷,進入中斷服務程序,執行完中斷服務程序并緊隨RETI,(中斷返回)指令后,下一條要執行的指令就是使單片機進入空閑模式那條指令后而的一條指令。其二是通過硬件復位也可將空閑工作模式終止需要注意的是,當硬件復位來終止空閑工作模式時,CPU通常是從激活空閑模式那條指令的下一條指令開始繼續執行程序的,要完成部復位操作,硬件復位脈沖要保持兩個機器周期(24個時鐘周期)有效,在這種情況下,部禁止CPU訪問片RAM,而允許訪問其它端口。為了避免可能對端口產生意外寫入,激活空閑模式的那條指令后一條指令
38、不應是一條對端口或外部存儲器的寫入指令。(4)掉電模式: 在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執行的指令,片RAM和特殊功能寄存器的容在終止掉電模式前被凍結。退出掉電模式的唯一方法是硬件負位,復位后將重新定義全部特殊功能寄存器但不改變RAM中的容,在Vcc恢復到正常工作電平前,復位應無效,且必須保持一定時間以使振蕩器重啟動并穩定工作。空閑和掉電模式外部引腳狀態如下表3-5所示:表3-5 空閑和掉電模式外部引腳狀態模 式程序存儲器ALEP0P1P2P3空閑模式部11數據數據數據數據空閑模式外部11浮空數據地址數據掉電模式部00數據數據數據數據掉電模式外部00浮空數據數據數
39、據(5) 定時/計數器在單片機應用系統中,常需要對外部脈沖進行計數或者每隔特定時間執行某一操作,因此定時/計數器是單片機控制系統重要的外設部件之一,幾乎所有的單片機控制系統均有一個到數個定時/計數器。51系列單片機置了三個16位的定時/計數器,分別稱為T0,T1,T2。 定時/計數器的核心部件是一個加法(或減法)計數器,可工作在定時方式或計數方式,因此稱為定時/計數器。不過這兩種工作方式沒有本質的區別,只是計數脈沖來源不同而已:如果計數脈沖是頻率相對穩定的系統時鐘信號(一般是系統時鐘的分頻信號)時,則稱為定時方式;反之,當計數脈沖取自CPU I/O引腳的外部信號時,稱為計數方式。單片機定時/計
40、數器屬于可編程部件,除了加法計數器(部分單片機芯片采用減法計數器 )外,尚有工作方式控制寄存器,一般具有如下特點:工作方式寄存器。定時/計數器有多種定時或計數方式,使用前必須初始化工作方式寄存器,設置定時/計數器的工作方式(定時還是計數;硬件啟動還是軟件啟動;計數長度即作為16計數器使用還是8位計數器使用等)可以從0開始計數,也可以從特定值開始計數,因此定時/計數器是一個可讀寫的寄存器,使用前一般需要設置定時/計數器的初值。對于每來一個脈沖加1的定時/計數器,當計數器溢出時,可向CPU發出中斷請求(定時時間到),以便CPU處理。(6) 寄存器 通用寄存器 R0R7,分成四組,共占據32個單元(
41、片RAM),由程序狀態字PSW的第4、第3位選擇。表3-6 RS1、RS0對工作寄存器的選擇RS1、RS0R0R7 組號地址00100H07H01208H0FH10310H17H11418H1FH 專用寄存器SFR累加器A(Accumulator):地址EOH,運算指令的目標寄存器,存放操作數和運算結果:也是用于訪問外部存儲器的唯一寄存器。B寄存器(B Register):地址FOH,專用于乘除法指令,存儲數據、乘/除數;亦用作通用寄存器。程序狀態字PSW:又稱為標志寄存器,地址DOH,可位尋址。定義為:Cy: 進位標志:有進/借位時,Cy=1.亦為位操作累加器。Ac:半進位標志。FO: 用戶
42、標志,由用戶自行設置,在程序運行中標識某種狀態。OV: 溢出標志:指示是否溢出,用于判斷A中運算結果是否正確。最高進位CP=0,次高位進位CS=1,OV=CPCS=1,溢出(D7=1為負數,于事實不符) P: 奇偶標志(標識Acc中當前奇偶狀態,為A中1的個數之和,P1為奇)。RS1、RS0:當前工作寄存器組編號值,可在程序中設定。F0,RS1,RS0均由用戶設定。復位后PSW0。若執行前F0=0,RS1=0,RS0=0,則上例PSW(CyACF0RS1RS0OVP)=0100 0100B(d) 堆棧指針SP(Stack Pointer ):地址81H。復位后SP07H,占用了通用寄存器堆Rn
43、的位置。主要作用,保存斷點地址。注意:數據壓棧前SPSP1,先入后出。PUSH ACC;SP=SP+1, (SP)ACC。表3-7 MCS-51堆棧特點堆棧特性MCS-518086部/外部部外部堆棧指針位數8位16位操作方式單字節操作字操作堆棧方向上堆式 入棧SP+1,出棧SP-1下推式 入棧SP-2,出棧SP+2棧指針復位狀態07H(建議設置為60H)(e) 數據指針DPTR(Data Pointer):16位寄存器,由兩個八位寄存器DPH(82H)和DPL(83H)組成。作用:保存訪問外部數據存儲器或I/O端口的地址。DPH與DPL可作為通用寄存器使用。程序計數器PC(Program Co
44、unter):又稱程序指針。16位寄存器,為CPU提供當前待取指令的地址。CPU每讀取一個字節的指令容,PC即自動加1(PCPC+1)。復位后PC0。不能在程序中直接讀或修改PC的容。端口03鎖存器(P0P3): 地址:80H,90H,AOH,BOH.串口數據緩沖器SBUF(Serial Data Buffer):地址:99H其它控制寄存器:中斷優先IP,中斷允許IE,定時器方式TMOD,定時器控制TCON,串口控制SCON,電源控制PCON等6個。MCS51 時序 時鐘(主頻)振蕩器產生的方波脈沖信號,是CPU工作時序中最小的時間單位。標準頻率為12MHz,即T0。083S。 機器周期實現特
45、定功能(如一條指令)所需時間。一個機器周期12個時鐘(振蕩)周期,分成6個狀態( S1S6),每個狀態分成P1、P2兩拍:S1P1,S1P2,S6P1,S6P2; 指令周期執行一條指令所需時間,隨指令不同而變。如單周期指令,雙周期指令等。上圖為單字節單周期讀指令波形示意圖。 指令時序單字節單周期指令時序:一個機器周期完成一條指令,讀一次操作碼。雙字節單周期指令時序:一個機器周期完成一條指令,讀兩次。單字節雙周期指令時序:兩個機器周期完成一條指令,讀一次。訪問片外ROM/RAM時序:讀片外ROM時序MOVC A, A+DPTR準備(無效狀態),操作碼地址送P0、P2口,鎖存低8位地址,CPU讀指
46、令碼,譯碼,發控制命令,操作數地址送P0、P2口,鎖存低8位地址,讀操作數,送至A。讀片外RAMMOVX A, DPTR操作碼(MOVX)地址送P0、P2口,鎖存低8位地址;CPU讀指令碼,譯碼,發控制命令;操作數地址(存于DPTR中)送P0、P2口,鎖存低8位地址;讀RAM中操作數(低有效),送至A。3.6 LED數碼管顯示器LED數碼管是單片機控制系統中最常用的顯示器件之一,LED數碼管在單片機系統中的地位類似于CRT(陰極射線管)顯示器在臺式微機系統中的地位。在單片機系統中,常用一只到數只,甚至十幾只LED數碼管現實CPU的處理結果、輸入/輸出的狀態或大小。LED數碼管的外觀、引腳與筆段
47、排列如圖13(a)所示,其中a到g段用于顯示數字、字符的筆畫,dp顯示小數點,而3、8引腳連通,作為公共端。一英寸以下的LED數碼管,每一筆段含有一只LED發光二極管,導通壓降為1.2到2.5V;而一英寸與以上LED數碼管的每一筆段由多個LED發光二極管以串、并聯方式連接而成,筆段導通電壓與筆段包含的LED發光二極管的數目和連接方式有關。在串聯方式中,確定電源電壓VCC時,每個LED工作電壓通常以2.0V計算,根據LED數碼管各筆段LED發光二極管的連接方式,可以將LED數碼管分為共陰極個共陽極兩大類。在共陰極LED數碼管中,所有筆段的LED發光二極管的負極連在一起,而在共陽極LED數碼管中,
48、所有筆段的LED發光二極管的正極連在一起。如圖3.8(b)(c)依據顯示驅動方式的不同,可將LED數碼顯示電路分為靜態顯示方式和動態顯示方式。(a)(b)(c)圖3-8 數碼顯示管4 軟件設計4.1 主程序流程圖圖4-1 主程序流程圖不管是電阻、電容還是電感,都是轉為頻率后再測量的,因此頻率或周期的測量是本軟件的核心,其精度會直接影響到本測試儀的精度。頻率或周期的測量可以利用單片的計時和計數功能來實現。4.2 頻率的測量方法和誤差分析設在時間t檢測到n個脈沖,則脈沖周期 (6)T對t和n的全微分 (7)T的相對誤差 (8) 測量脈沖周期的測量,有定時計數和定數計時兩種方法,利用AT89C51單
49、片機里的T0和T1兩個定時器/計數器可以實現,下面分別討論這兩種方法的測量精度。4.21 定時計數法 定時計數法的具體做法是:將T0設為定時器,T1設為計數器。設定T0的定時中斷時間t并允許中斷,將T1清0。同時啟動T0和T1,等待T0中斷。在T0的中斷服務子程序中讀出T1的計數值n。將t和n代入式(6)求出脈沖周期T。采用定時計數法時,計時誤差t可忽略,可認為dt=0,最大計數誤差為一個脈沖,即,代入式(8)得, (9)若要保證其相對誤差不超過0.1%,即,則有或 (10)若T0設為50ms中斷,則由式(6)得或 (11) 上式表明,定時計數法宜用在被測頻率較高的場合。4.22 定數計時法將
50、T0設為定時器,T1設為計數器。設定T1的計數中斷次數n并允許中斷,將T0清0。同時啟動T0和T1,等待T1中斷。在T1的中斷服務子程序中讀出T0的計時值t。將t和n代入式(6)求出脈沖周期T。采用定數計時法時,計數誤差dn=0,最大計時誤差為一個機器周期,本系統采用了12M晶振,機器周期為1us,故us,代入式(8)得, (12)若要保證其相對誤差不超過0.1%,即,則有或us=1ms (13)由式(6)得(ms)或(KHz) (14)上式表明,定數計時法宜用在被測頻率較低的場合。為了增大本設計的測量圍,應盡量增大頻率的測量圍,本設計將頻率測量圍定在1Hz-200KHz。為保證測量精度和縮短
51、測量時間,應將頻率測量圍進行分量程,在不同的量程采用不同的測量方法。根據式(11)和式(14),可將頻率測量的圍分為以下幾量程量程1:1Hz-1KHz,采用1次定數計時法測量量程2:1KHz-20KHz,采用20次次定數計時法測量量程3:20KHz-200KHz,采用50ms定時計數法測量頻率的測量主要由T0中斷和T1中斷來完成,其流程圖分別如圖4-2和圖4-3所示。圖4-2 T0中斷子程序流程圖 圖4-3 T1中斷子程序流程圖量程自動轉換原理:單片機在某次測量頻率后,若發現頻率不在本次測量的量程,就根據所測量到的頻率所在的圍選擇相應的測量方法,達到自動轉換量程的目的。4.3 穩定讀數要使振蕩
52、器輸出的頻率絕對不變是很難做到的,這將會使在測量的過程中讀數不停地跳動而影響讀數,待別是在某個整數附近跳動時(比如在5000跳動時,讀數就會在4999至5001中不停地跳動,每一位數字都是在變化的)讀數就更難看清楚了,因此很有需要去使讀數穩定下來。在模擬電路中,用RC低通濾波電路可以使輸出信號的波動減小,若用軟件的方法模擬RC低通濾波電路,同樣可以使輸出的數值變得穩定一些,這就是數字慣性濾波法。RC低通濾波電路如圖4-4所示,為輸入信號,為輸出信號。圖4-4 RC低通濾波電路建立圖4-4的微分方程得,將上式離散化,得或令得 (15)由上式可知,越大,就越平穩,但響應時間會增大。在本設計中,若采
53、用式(15)進行穩定讀數,仍會存在一些問題。為了使讀數足夠穩定,應選擇較大的值,這必然會增大了讀數的時間。為了克服這個問題,可將式(15)進行如下改進(16)式(16)用流程圖描述如圖13所示。當系統測量到了一個精度高、穩定性好的頻率值后,利用相應的公式即可準確地求出待測元件的值。圖4-5 穩定讀數子程序流程圖5、總結在這次設計的過程中,我們深切體會到,實踐是理論運用的最好檢驗。本次設計是對我們四年所學知識的一次綜合性檢測和考驗,無論是動手能力還是理論知識運用能力都得到了提高,同時加深了我們對網絡資源認識,大大提高了查閱資料的效率,使我們有充足的時間投入到電路設計當中。本設計主要應用到了模擬電
54、子技術、數字電子技術、單片機控制技術、電子工藝等多方面的知識,本設計達預期的要求,操作方便、價格便宜、精確度高,誤差保持在%5以。同時此系統通過軟件設計,減少誤差的存在,大大提高了系統的精度。本次設計,為我們提供了展示自我能力的舞臺,也使我們深切認識到自身知識能力尚存在許多不足,更讓我們體會到了電子技術與設計的趣味,以與其強大深遠的實用性。今后,我們將更加努力學習,提高自己,為社會貢獻自己的一份力量。由于我自身在電子設計方面以與單片機方面的知識和經驗的欠缺,此設計還存在一些錯誤和漏洞,望各位老師多指點,希望通過老師的指點和我以后的努力能過對它進行完善。參考文獻1 曾喆昭,文卉.數值計算(第二版
55、).M :清華大學,2006,2 高吉祥.模擬電子技術.M :電子工業,2005,3守義單片機應用技術.M:電子科技大學,2002,4王福瑞單片微機測控系統設計大全M :航空航天大學,1998,5義府模擬電子技術基礎M :國防科技大學,2004,6全國大學生電子設計競賽組委會。M 全國大學生電子設計競賽獲獎作品選編1999,理工大學。2000,7全國大學生電子設計組委會。第一屆(1994)第六屆(2003)全國大學生電子設計競賽題目M,8 高吉祥,黃智偉,丁文霞,數字電子技術,M ;電子工業,2003,9 吳金戌,慶陽,郭庭吉 8051單片機實踐與應用。M清華大學,2002,10 康華光.數字
56、電子技術. M 高等教育,11 亮、候過銳.單片機C語言編程與實例. M:人民郵電,2003.9,12 何立民.單片機應用技術選編(1). M:航空航天大學,1998,13 何立民.單片機應用技術選編(2). M:航空航天大學,1999,14 胡燁,鵬翼,明等 Protel99SE原理圖與PCB設計教程。M 機械工業,2006 ,15 熊偉,侯傳教,梁清,孟濤。 Multisim7電路設計與仿真應用。M : 清華大學,2005 ,16 曾喆昭,文卉。數值計算(第二版)。M :清華大學,2006,17 樓然苗,光飛。51系列單片機設計實例(第二版)。M : 白凈航空航天大學,2006。致 時光飛
57、逝,大學四年的生活伴隨著畢業設計的完成也即將結束了,這次設計的完成,我要感學敏老師在論文選題以與整個設計過程中對我的細心指導和幫助,使我在設計中少走了不少彎路,此外,感林海波副教授、谷樹忠教授、周文良副教授、于新副教授、學敏老師、航老師、丹老師、呂曉麗老師對我學業的幫助。同時感函,磊,長江等同學對我平時的幫助,在設計中遇到很多困難和問題,感他們給以我與時幫助個解答。附錄一、部分程序#include xdata unsigned char PA _at_ 0 x8800; xdata unsigned char PB _at_ 0 x8801; xdata unsigned char PC _a
58、t_ 0 x8802; xdata unsigned char PCT _at_ 0 x8803; unsigned char LEDBuf; unsigned char mode=0; void delay10ms() unsigned char i; for(i=0 xff;i0;i-);unsigned char kbscan() unsigned char sccode,recode; P1=0 xf0; /發全“0”行掃描,列線輸入 if(P1&0 xf0)!=0 xf0) /有鍵按下 delay10ms(); /延時去抖動 if(P1&0 xf0)!=0 xf0) sccode =
59、0 xf0; /逐行掃描初值 while(sccode&0 x10)!=0) P1=sccode; /輸出行掃描碼 if(P1&0XF0)!=0XF0) /本行有鍵按下 recode=(P1&0 xf0)|0 xf0; return(sccode)+(recode) ; /返回特征碼 else sccode=(sccode1)|0 x01; /行掃描碼左移一位 return 0; /無鍵按下,返回0 void interrupt0() interrupt 0 /中斷函數 unsigned char key; key=0; key=kbscan(); /鍵盤掃描函數 delay10ms(); /
60、健消除抖動的延時函數 mode=key; void delay() unsigned char i,j; i = 50;j = 20; do do while(-j !=0);while( -i != 0 ); void delay1() unsigned char i,j; i = 25;j = 20; do do while(-j !=0);while( -i != 0 ); void rest() PA=0;PB=0;PC=0; void List1(void) / 從右到左逐點加 unsigned char i,j; PCT=0 x80; j=0 x80; for(i=0;i8;i+)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東輕工職業技術學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 2025年安徽醫學高等專科學校高職單招職業適應性測試歷年(2019-2024年)真題考點試卷含答案解析
- 2025年天津城市職業學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 腦血管的護理查房
- 幼兒園游戲課程
- Excel基礎知識課件下載
- 服裝簡筆畫課件
- 貴州省畢節市梁才學校2025屆下學期高三生物試題第三次調研考試試卷含解析
- 江西農業工程職業學院《數據分析》2023-2024學年第一學期期末試卷
- 江西服裝學院《彈性力學與有限元分析》2023-2024學年第二學期期末試卷
- 幼兒園環境衛生檢查通報制度
- 《愿望的實現》原文
- 園林景觀規劃設計計費指導意見
- 35kV及以下電力電纜使用維護手冊
- 2022年青海大學醫學院附屬藏醫院醫護人員招聘筆試模擬試題及答案解析
- 英語四級仔細閱讀講解及技巧
- 城市地理學-第八章城市空間分布體系
- 3,5-二甲基吡唑生產工藝規程
- 拆除工程安全的應急預案工程應急預案
- A4橫線稿紙模板(可直接打印)
- 四線制方向電路
評論
0/150
提交評論