智能儀器課程設計基于單片機的電流電壓測量系統(tǒng)設計_第1頁
智能儀器課程設計基于單片機的電流電壓測量系統(tǒng)設計_第2頁
智能儀器課程設計基于單片機的電流電壓測量系統(tǒng)設計_第3頁
智能儀器課程設計基于單片機的電流電壓測量系統(tǒng)設計_第4頁
智能儀器課程設計基于單片機的電流電壓測量系統(tǒng)設計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的電流電壓測量系統(tǒng)設計摘 要:本次設計所提供的是基于單片機的電壓電流測量系統(tǒng)軟硬件的設計。電學參量測量技術設計范圍廣,能應用的領域也十分廣泛。隨著電子技術的發(fā)展,在數(shù)字化、智能化、科技化為主的今天,數(shù)字電壓、電流表以成為電壓、電流表設計的主要方向,并且有非常重要的地位。關鍵詞:單片機,應用領域,設計abstract: the design is provided by scm-based voltage and current measurement system hardware and software design. electrical parameter measureme

2、nt techniques designed a wide range of application areas can be very extensive. with the development of electronic technology, in digital, intelligent, technology-based today, the digital voltage meter to a voltage, current meter design of the main direction, and there is a very important position.k

3、eywords: microcontroller unit, applications, devise目錄1 前言21.1 電子測量概述21.2 數(shù)字電壓表的特點31.3 單片機的概述32 系統(tǒng)方案的選擇與論證42.1 功能要求42.2 系統(tǒng)的總體方案規(guī)劃52.3 各模塊方案選擇與論證52.3.1 控制模塊52.3.2 量程自動轉換模塊62.3.3 a/d轉換模塊62.3.4 顯示模塊62.3.5 通信模塊73 系統(tǒng)的硬件電路設計與實現(xiàn)73.1 系統(tǒng)的硬件組成部分73.2 主要單元電路設計83.2.1 中央控制模塊83.2.2 量程自動轉換模塊93.2.3 a/d模數(shù)轉換模塊133.2.4 顯

4、示模塊153.2.5 通信模塊153.2.6 電源部分164 系統(tǒng)的軟件設計174.1 軟件的總體設計原理174.1.1 a/d轉換程序設計184.1.2 數(shù)字濾波程序設計184.1.3 量程自動轉換的程序設計205 系統(tǒng)調試及性能分析225.1 調試與測試225.2 性能分析226 結束語236.1 設計總結236.2 設計的心得237 致謝詞24附錄25附錄1 參考文獻25附錄2 系統(tǒng)總電路圖26附錄3 源程序271 前言1.1 電子測量概述從廣義上講,凡是利用電子技術來進行的測量都可以說是電子測量;從狹義上來說,電子測量是在電子學中測量有關電量的量值。與其他一些測量相比,電子測量具有以下

5、幾個明顯的特點:測量頻率范圍極寬,這就使它的應用范圍很廣;量程很廣;測量準確度高;測量速度快;易于實現(xiàn)遙測和長期不間斷的測量,顯示方式又可以做到清晰,直觀;易于利用計算機,形成電子測量與計算技術的緊密結合。 隨著科學技術和生產的發(fā)展,測量任務越來越復雜,工作量加大,測量速度測量準確度要求越來越高,這些都對測量儀器和測試系統(tǒng)提出了更高的要求。微機的出現(xiàn)為解決上述問題提供了條件。利用微機的記憶,存儲,數(shù)學運算,邏輯判斷和命令識別等能力,發(fā)展了微機化和自動測試系統(tǒng)。近年來微機和大規(guī)模集成電路發(fā)展很快,價格大幅下降,同時在測試系統(tǒng)中還解決了通用接口母線標準化問題,使微機化儀器和自動測試系統(tǒng)得到了很大發(fā)

6、展,正改變著電子測量的面貌。1.2 數(shù)字電壓表的特點1.讀數(shù)直觀、準確電壓表的數(shù)字化,是將連續(xù)的模擬量(如直流電壓)轉換成不連續(xù)的離散的數(shù)字形式并加以顯示。這有別于傳統(tǒng)的以指針與刻度盤進行讀數(shù)的方法,避免了讀數(shù)的視差和視覺疲勞。2.顯示范圍寬、分辮力高指針表的分辮力,是由刻度盤的細度表達的,刻度盤在一定條件下無法分得很細,太細了視覺分辮也很困難,而數(shù)字顯示的電壓表,目前可以做到從2(1/2)到10(1/2)。3.輸入阻抗數(shù)字電壓表的輸入阻抗可高達(110000)m。輸入阻抗越高,所吸收被測信號的電流就越小,所帶來的附加誤差極小,可以忽略。4.集成度高、功耗小、抗干擾能力強由于cmos技術的發(fā)展

7、,集成電路的功耗變得很小,即發(fā)熱量很小,這樣就可以在同一塊芯片上集成更多的元件,形成大規(guī)?;虺笠?guī)模集成電路。這給制造業(yè)帶來了飛躍,不僅儀表小巧而功能齊全,其他如手機、袖珍電腦等也得以誕生。目前雙積分或多重積分的a/d轉換器構成的數(shù)字電壓表,由于在積分過程中可將干擾信號部分或全部抵消掉,其串模抑制比可達100分貝,共模抑制比可達120分貝。5.可擴展能力強直流數(shù)字電壓表本身可以擴展成交流電壓表、交直電流表、峰值表、功率表等,還可以附加智能化。例如:計算、保持、比較數(shù)字、設定時間,設定上、下量限及自動控制等多種功能。 1.3 單片機的概述單片機就是在一塊半導體硅片上集成了微處理器(cpu)、存儲

8、器(rom、ram、eprom)和各種輸入、輸出接口,這樣一塊集成電路芯片上具有一臺計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。單片機根據(jù)其基本操作處理的位數(shù)可分為:1位單片機、4位單片機、8位單片機、16位單片機和32位單片機。并且其發(fā)展歷史可分為以下四個階段:第一階段:單片機初級階段。因工藝限制,單片機采用雙片的形勢而且功能比較簡單。例如,仙童公司生產的f8單片機,實際上只包括了8為cpu,64 b ram和2個并行口。因此,還需加一塊3851才能組成一臺完整的計算機。第二階段:低性能單片機階段。以intel公司制造的mcs-48單片機為代表,這種單片機片內集成有8位cpu、并行i

9、/o口、8位定時器/計數(shù)器、ram和rom等,但是不足之處是無串行口,中斷處理比較簡單,片內ram和rom容量較小且尋址范圍不大于4kb。第三階段:高性能單片機階段。這個階段推出的單片機普遍帶有i/o口,多級中斷系統(tǒng),16位定時器/計數(shù)器,片內rom、ram容量加大,且尋址范圍可達64kb,有的片內還帶有a/d轉換器。這類單片機的典型代表是:intel公司的mcs-51系列、motorola公司的6801和zilog公司的z8等。由于這類單片機的性能價格比高,所以仍被廣泛應用,是目前應用數(shù)量較多的單片機。第四階段:8位單片機鞏固發(fā)展及16位單片機、32位單片機推出階段。此階段的主要特征是一方面

10、發(fā)展16位單片機、32位單片機及專用型單片機;另一方面不斷完善高檔8位單片機,改善其結構,以滿足不同的用戶需要。2 系統(tǒng)方案的選擇與論證2.1 功能要求使用ad/dc模數(shù)轉換模塊把模擬量轉換成數(shù)字量,再采用at89c52單片機進行電壓、電流表的計算和顯示,并將數(shù)據(jù)發(fā)送給pc機,要求進行硬件,軟件系統(tǒng)設計。1、4位電壓、電流顯示2、8個檔位自動調節(jié)3、電壓范圍01000v4、電流范圍05a5、能串口發(fā)送給計算機,并以適時波形顯示2.2 系統(tǒng)的總體方案規(guī)劃本設計主要由五大模塊組成:量程自動轉換模塊、a/d模數(shù)轉換模塊、單片機控制模塊、顯示模塊和通信模塊。按系統(tǒng)功能實現(xiàn)要求,控制模塊采用at89c5

11、2單片機,通過程序來進行電壓、電流的計算等數(shù)據(jù)處理,及其功能控制;量程自動轉換模塊包括電壓衰減和8個檔位自動換檔,采用純硬件搭建;a/d轉換模塊采用adc0809芯片;顯示模塊采用四個led數(shù)碼管靜態(tài)顯示電壓、電流值。通信模塊采用串口通信將數(shù)據(jù)發(fā)送給pc機。使用max232芯片,實現(xiàn)電平轉換功能,使單片機的ttl電平與rs232的電平實現(xiàn)匹配。如圖2.1所示:圖2.1 系統(tǒng)總體框圖2.3 各模塊方案選擇與論證2.3.1 控制模塊中央控制器為整個系統(tǒng)的核心,通過接受外部信息,按照控制算法驅動執(zhí)行機構。對中央處理器的選擇多種多樣,本設計采用atmel公司生產的at89s52系列的單片機作為主控制器

12、。它支持isp在線可編程寫入技術!串行寫入、其頻率高達33mhz,故其速度更快、內部集成看門狗計時器,不再需要像89c51那樣外接看門狗計時器單元電路。穩(wěn)定性更好。at89s52 高性能8位單片機是一個低功耗,高性能cmos 8位單片機,片內含8k bytes isp(in-system programmable)的可反復擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術制造,兼容標準mcs-51指令系統(tǒng)及80c51引腳結構,芯片內集成了通用8位中央處理器和isp flash存儲單元,功能強大的微型計算機的at89s52可為許多嵌入式控制應用系統(tǒng)提供高性

13、價比的解決方案。 at89s52具有如下特點:40個引腳,8k bytes flash片內程序存儲器,256 bytes的隨機存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(wdt)電路,片內時鐘振蕩器。 此外,at89s52設計和配置了振蕩頻率可為0hz并可通過軟件設置省電模式。空閑模式下,cpu暫停工作,而ram定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有pdip、tqfp和plcc等三種封裝

14、形式,以適應不同產品的需求。 2.3.2 量程自動轉換模塊方案一、采用軟件編程技術。特點:硬件簡單,但編程復雜。方案二、采用純硬件搭建技術。利用一些廉價的元器件組成量程自動轉換電路,特點:所用硬件多,但成本低,且不需要復雜的軟件編程及調試。考慮到本次設計所需硬件較少,且所用元器件容易購買,成本低。故采用方案二2.3.3 a/d轉換模塊方案一、采用雙積分a/d轉換技術。特點是:精度高,抗干擾能力強。但高精度的雙積分a/d芯片,價格較貴,增加了單片機系統(tǒng)的成本。方案二、采用比較型a/d轉換器(adc1210)。特點是:測量速度快(最高可達每秒100萬次以上),電路比較簡單,但抗干擾能力差。方案三、

15、采用逐次逼近型a/d轉換器(adc0809)。特點是:價格便宜,容易購買,但精度較低。adc0809是8位逐次逼近型a/d轉換器。帶8個模擬量輸入通道,有通道地址譯碼鎖存器??紤]到成本低,因而選用方案三。2.3.4 顯示模塊方案一、采用lcd顯示。特點:顯示內容豐富,采用數(shù)字式接口,體積小、重量輕,功率消耗小,但編程復雜,且成本相對led較高。方案二、采用led并行動態(tài)顯示。即一位一位地輪流點亮各位顯示器。對每一位顯示器而言,每隔一段時間點亮一次。其硬件電路簡單,但同樣的功率驅動下,顯示亮度不及靜態(tài)顯示,且占用i/o口較多。方案三、采用led串行靜態(tài)顯示。即顯示某一字符時,相應的發(fā)光二極管恒定

16、導通或截止,這種方式每一個顯示位都需要一個8位輸出口控制,占用硬件較多,但僅占用控制器串口的兩個i/o口,軟件實現(xiàn)簡單,顯示亮度高,成本低。led數(shù)碼管顯示器由7個發(fā)光二極管組成,因此也稱之為7段led顯示器,因為led數(shù)碼管顯示成本較低,外加一個驅動芯片,所需單片機接口較少,且程序容易實現(xiàn)。故考慮到本次設計的需要,只要顯示4位電壓、電流值,采用方案三,使用4個共陽數(shù)碼管及4個驅動芯片74ls164。2.3.5 通信模塊 方案一、采用并行通信方式。所傳送的各位同時發(fā)送或接收。一個并行數(shù)據(jù)占多少位二進制數(shù),就要多少根傳輸線,這種方式的特點:通信速度快,但傳輸線多,價格較貴,適合近距離傳輸。方案二

17、、采用串行通信方式。所傳送的數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。這種方式的特點:由于它每次只能傳送一位,所以傳送速度較慢。但它僅需要一到兩根傳輸線,故傳輸數(shù)據(jù)時比較經濟,且所占i/o口少。本次設計是單片機與pc機的通信,要采用max232電平轉換電路,可將單片機的ttl電平轉換為pc機的串口電平。使單片機的ttl電平與rs232的電平實現(xiàn)匹配。故采用方案二。經過仔細分析和論證,決定了系統(tǒng)各模塊的最終方案如下:(1)控制器模塊:采用單片機at89s52控制。(2)量程自動轉換模塊:采用純硬件搭建。(3)a/d轉換模塊:采用逐次逼近式adc0809轉換器。(4)顯示模塊:采用led串行靜態(tài)顯示。

18、(5)通信模塊:采用串口通信。 3 系統(tǒng)的硬件電路設計與實現(xiàn)3.1 系統(tǒng)的硬件組成部分 系統(tǒng)硬件主要由中央控制模塊、量程自動轉換模塊、a/d轉換模塊、顯示模塊和通信模塊組成。總原理圖如圖3.1所示: 圖3.1 系統(tǒng)總體原理圖3.2 主要單元電路設計3.2.1 中央控制模塊本設計主要以at89s52單片機最小系統(tǒng)為核心。其p1口為電壓信號通過a/d轉換后所得數(shù)字量的輸入端, p2.6、p2.7為單片機的模擬串口,分別連接74ls164的rxd和txd端。是cpu送數(shù)據(jù)到led顯示的接口;p0.0、p0.1、p0.2分別接一個發(fā)光二極管,三個二極管亮滅的不同組合對應不同的量程。同時p0.3也接一發(fā)

19、光二極管,當二極管亮時,表明待測信號超過了量程范圍。 ale端口經芯片二分頻接至adc0809的clk端。p3.7接adc0809的啟動控制輸入端口star和地址鎖存控制信號端口ale,p3.6、p3.5分別連接adc0809的輸出允許控制端口oe、轉換結束信號脈沖輸出端口。p3.0 ,p3.1口連接串口通信模塊。其原理圖如圖3.2所示: 圖3.2 中央控制器原理圖3.2.2 量程自動轉換模塊量程自動轉換電路框圖如圖4所示被測量程判斷器判斷出被測量的范圍,相應的量程信號輸入到檔位選擇器。 檔位選擇器根據(jù)量程信號將檔位自動調至適當?shù)牧砍滩⑤斎胫底詣拥剡x擇合適的增益或衰減處理后送至a/d轉換器,

20、實現(xiàn)整個量程的自動轉換功能。如圖4.3所示 圖3.3 量程自動轉換框圖(1) 電路設計的總體要求電路設計的基本要求是在不降低測量精度的條件下實現(xiàn)量程的自動轉換。 因此在設計電路時需要考慮以下幾方面的要求:1)輸入值量程判斷器的阻抗。要求在進行電壓測量時具有高阻抗,進行電流測時具有低阻抗。2)輸入值量程判斷器應具備對最大量程的上限和最小量程的下限的判斷力。由于被測范圍較大,因此既要求在高待測量值輸入時不對小量程電路造成沖擊,又要求在超量程值時對檔位轉換電路進行關斷。當輸入量低于表內的測量精度時,也要求將檔位選擇器關斷。否則,當測量儀表斷開時,沒有輸入量,而輸入值量程判斷器則認為此時的輸入量在最小

21、量程的檔位上,當儀表接通待測量時,待測量大于最小量程檔位的范圍時,檔位選擇電路及其后級電路必定受到較大的沖擊。所以,輸入值量程判斷器不僅對是否超過最大量程能夠判斷,對是否小于最小量程的精度也有判斷能力。3)電路安全要求。在本設計中,利用傳輸?shù)难訒r,對檔位進行從關斷測量到最大量程檔位向低量程檔位逐級下降直至到適當檔位的轉換,這樣就使得電路在測量完高待測后就能順利地進行對最低待測量的測量。4)成本及功耗問題。由于輸入值判斷器所判斷出的值不是用來測量,而是用于轉換量程檔位,所轉換出的數(shù)值不需要十分精確,故其電路功耗可按儀表需要選擇適當?shù)男酒?。?) 電路設計的實現(xiàn)1)量程判斷電路的設計 。量程判斷電

22、路框圖如圖3.4所示。輸入的被測量經分壓電路分壓,并經隔離電路后輸入電壓判斷電路,再至檔位選擇器。圖3.4 量程判斷電路框圖單量程的量程判斷實現(xiàn)電路如圖3.5所示:圖3.5 單量程判斷實現(xiàn)電路電路中uin代表被測信號,電阻r1、r2 組成分壓電路。運放a1組成隔離電路。電壓判斷電路由電壓源uef2和運放a3組成的單限電壓比較器實現(xiàn)。該電壓比較器的閾值電壓 為ut為: ut = -(r3/r4)* uref (1)電路下半部分與上半部分的結構和工作原理相似。不過,比較電壓由a4 的反相端輸入。由(1)式可知,當跟隨器a1的輸出大于0.2 v 時,比較器a3輸出高電平;當跟隨器a2 的輸出小于-0

23、.2v時,比較器a4 輸出高電平;當-0.2v<uin <0.2 v時,輸出為低電平。電路構成了一個窗口比較器。量程判斷器的總電路如圖3.6所示。每個運放的輸入端都接有穩(wěn)壓管進行限壓,以保護運放。 圖中上半部分為檔位選擇電路,正負電壓都可由整流橋整流后送分壓電阻分壓, 下半部分為輸入電壓的最小值判斷電路,對輸入被測量的有和無進行直接判斷。根據(jù)前級的分壓比可以求得,當被測的電壓值大于0.2v或者小于-0.2 v時,輸出端inh才輸出高電平。2)檔位選擇器 輸入值判斷器已經把電壓信號分檔并轉換為高低電平的數(shù)字輸出值輸出 檔位選擇器可根據(jù)輸入值判斷器所得結果來設計輸入值判斷器的輸入端電壓

24、與輸出端的真值表如表1所示。表1中,1表示高電平,0表示低電平。由真值表的特性可知,檔位選擇可以用一個8選1模擬開關cd4051完成。cd4051主要由8路cmos開關,譯碼電路和電平轉換電路3部分組成,其工作原理是主要由控制端a、b、c的不同的組合狀態(tài)來選通哪一路輸入作為輸出。其譯碼表如表2所示。對照表1和表2,可得出譯碼電路對各量程選擇的輸出端,從小到大分別為:y0、y1、y2、y3、y4、y5、y6、y7。圖3.6 量程判斷器的總電路表3.1 真值表 ui輸出(-0.20.2v)(0.22v)(220v)(20100v)(100200v)(200400v)(400600v)(600800

25、v)(8001000v)>1000v a1111100000 b1110011000 c1101010100 inh1000000001檔位狀態(tài)截止0.22v220v20100v100200v200400v400600v600800v8001000v截止表3.2 譯碼表 輸入值 輸出值abcinhy0y1y2y3y4y5y6y7111100000000111000000001110000000010101000000100100000001000011000010000010000100000001001000000000010000000000100000000 根據(jù)芯片輸入、輸出的引

26、腳特性,其電路接線圖如圖3.7所示。輸入信號分壓等變換后送入cd4051的x0-x7,8個通道。其中1個控制引腳:inh是4051的禁止端,為低電平開啟,inh=1模擬開關被禁止工作,inh=0時,由a、b、c上的信號來控制某一路的選通。 電路引腳中,若a、b、c無輸入或懸空時,y0輸出1,控制檔位在最高量程電壓檔位上,起到保護電路的作用。圖3.7 檔位判斷電路3)量程自動選擇總電路根據(jù)上述研究,可得量程自動轉換電路如圖3.8所示。路中所用的基準電壓都是2 v,可用同一直流電源提供。穩(wěn)壓管均采用28 v工作電壓的穩(wěn)壓管。圖3.8 量程自動選擇總電路3.2.3 a/d模數(shù)轉換模塊采用adc080

27、9轉換芯片,采集信號由int0輸入;數(shù)字量輸出接至cpu的p1口;其start與ale引腳接至cpu的p3.7,oe引腳接至cpu的p3.6,eoc引腳接至cpu的p3.5腳;a、b、c三位地址線共同接地,表示對int0的輸入信號進行模數(shù)轉換。在int0的輸入端口接一選擇開關電路,用以判斷對電壓測量還是對電流測量。adc0809的工作過程是:首先輸入3位地址,并使ale=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復位。下降沿啟動 a/d轉換,之后eoc輸出信號變低,指示轉換正在進行。直到a/d轉換完成,eoc變?yōu)楦唠娖?,指示a/d轉換

28、結束,結果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當oe輸入高電平時,輸出三態(tài)門打開,轉換結果的數(shù)字量輸出到數(shù)據(jù)總線上。主要特性1)8路8位a/d轉換器,即分辨率8位。 2)具有轉換起??刂贫?。3)轉換時間為100s。4)單個5v電源供電。5)模擬輸入電壓范圍05v,不需零點和滿刻度校準。 6)工作溫度范圍為-4085攝氏度。7)低功耗,約15mw。外部特性(引腳功能) adc0809芯片有28個引腳,采用雙列直插式封裝,各引腳功能如下:in0-in7:8路模擬量輸入端。d0-d7:8位數(shù)字量輸出端。adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路。ale:地址鎖存

29、允許信號。高電平時,把三位地址信號送入地址鎖存器,經譯碼選擇相應的模擬輸入通道,使用時,該信號可以和stare信號連在一起,以便同時鎖存通道地址和啟動a/d轉換。高電平有效。 start: a/d轉換啟動信號,輸入,高電平有效。 eoc: a/d轉換結束信號輸出端口,轉換期間一直為低電平。當a/d轉換結束時,此端輸出一個高電平(有效)。 oe:數(shù)據(jù)輸出允許信號輸入端口,高電平有效。當a/d轉換結束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。 ref(+)、ref(-):基準電壓。 vcc:電源,單一5v。 gnd:地。3.2.

30、4 顯示模塊(1) 數(shù)碼管的選取led(發(fā)光二極管),它是一種由某些特殊的半導體材料制作成的pn結。其發(fā)光強度與其正向壓降vf和電流if的乘積有關,其乘積越大,則發(fā)光強度越大。工作電流一般在5ma20ma。從系統(tǒng)整體考慮,選用的是lds-5101bh型七段led數(shù)碼管。(2) 驅動芯片選用74ls164芯片。74ls164是串行輸入/8位并行輸出的移位寄存器。每片74ls164有兩個串行數(shù)據(jù)輸入端和一個同步移位脈沖輸入端,以及8個并行輸出口。時鐘clk端上每一個上升沿都會使該芯片的8位數(shù)據(jù)輸出右移一位。顯示模塊總體原理圖如圖3.9所示:圖3.9 顯示模塊原理圖3.2.5 通信模塊(1) 單片機

31、與pc機通信的概述在實際應用中,因為單片機功能有限,因而在較大的測控系統(tǒng)中,常常把單片機應用系統(tǒng)作為前端機(也稱為下位機或從機)直接用于控制對象的數(shù)據(jù)采集與控制,而把pc機作為中央處理機(也稱為上位機或主機)用于數(shù)據(jù)處理和對下位機的監(jiān)控管理。它們之間的信息交換主要是采用串行通信,此時單片機可直接采用串行接口,而pc機可利用其配置的8250或8251、16450等可編程串行接口芯片。實現(xiàn)單片機與pc機串行通信的關鍵是在通信協(xié)議的約定上要一致,例如,應設定相同的波特率及幀格式等。在正式工作之前,雙方應先互發(fā)聯(lián)絡信號,以確保通信收發(fā)數(shù)據(jù)的準確性。(2) 本設計的通信串行通信采用max232電平轉換電

32、路,可將單片機的ttl電平轉換為pc機的串口電平。使單片機的ttl電平與rs232的電平實現(xiàn)匹配。rs232使用-3-25v,表示數(shù)字1;325v表示數(shù)字0。rs232在空閑時處于邏輯“1”狀態(tài),在開始傳送時,首先產生一個起始位,起始位為一個寬度的邏輯“0”,緊隨其后的為所需要傳送的數(shù)據(jù),所要傳送的數(shù)據(jù)由最低位開始依次送出,并以一個結束位標志該字節(jié)傳送結束,結束位為一個寬度的邏輯“1”狀態(tài)。單片機與pc機的通信連接圖如圖3.10所示,下位機(單片機)將接收的數(shù)據(jù)從串行口p3.0、p3.1輸出,上位機接收到數(shù)據(jù)后在屏幕上進行顯示。圖3.10 單片機與pc機通信連接圖3.2.6 電源部分單片機電源

33、采用自制+5v電源供電。其原理圖如圖3.11所示圖3.11 電源電路圖4 系統(tǒng)的軟件設計4.1 軟件的總體設計原理 系統(tǒng)上電后,初始化程序包括對各種參數(shù)進行初始化、清零以及一些端口屬性的設定,開始進行量程判斷,再調用a/d轉換子程序,對輸入信號進行a/d模數(shù)轉換,轉換結束,為提高測量精度,系統(tǒng)對輸入電壓連續(xù)采集10次進行滑動平均值濾波處理,其結果作為對應的電壓值。再調用led顯示子程序,顯示所測量的電壓或電流值,最后調用通信子程序實現(xiàn)串口通信。系統(tǒng)總流程圖如圖4.1所示:圖4.1系統(tǒng)總流程圖4.1.1 a/d轉換程序設計系統(tǒng)上電后,初始化各參量。開啟a/d轉換,調用延時程序,接著判斷a/d轉換

34、是否結束,結束則清標志位、取數(shù)據(jù),否則再延時,繼續(xù)判斷a/d是否結束。總程序結束。流程圖如圖4.2所示:圖4.2 a/d轉換程序流程圖4.1.2 數(shù)字濾波程序設計(1)數(shù)字濾波概述數(shù)字濾波,即在數(shù)據(jù)采集系統(tǒng)里,由于數(shù)據(jù)采集環(huán)境的電磁干擾,傳感器和放大器自身的影響,往往會含有多種頻率成分的噪聲信號,嚴重時,這種噪聲信號會淹沒待提取的輸入信號,使測試系統(tǒng)無法獲取被測信號。在這種情況下,為了濾除干擾需要采取濾波措施,抑制不需要的雜散信號,使系統(tǒng)的信噪比增加。如果對模擬信號進行離散采樣,通過軟件算法對采樣信號進行平滑加工,增強有效信號,消除或減少噪聲,從而達到濾波的目的,這種濾波方法稱為數(shù)字濾波方法。

35、數(shù)字濾波完成的功能是將一組輸入數(shù)字序列按照一定的算法轉化為一組輸出數(shù)字序列,經過數(shù)字濾波后的輸出序列比輸入序列更平滑和易于處理。與此對應的就是模擬濾波,模擬濾波主要有無源濾波(直接用電阻、電容、電感等不外接電源的元件組成的)與有源濾波(如運算放大器等需要外接電源組成的),其目的是將信號中的噪音和干擾濾去或者將希望得到的頻率信號濾出為系統(tǒng)所用。數(shù)字濾波的出現(xiàn)克服了模擬濾波的很多不足,具有以下優(yōu)點: a是用程序實現(xiàn)的,不需要增加硬設備,所以可靠性高,穩(wěn)定性好。 b可以對頻率很低的信號實現(xiàn)濾波,克服了模擬濾波的缺陷。 c可以根據(jù)信號的不同,采用不同的濾波方法或參數(shù),具有靈活、方便、功能強的特點。(2

36、)數(shù)字濾波的方法數(shù)字濾波的方法有很多種,常用的數(shù)字濾波方法有:算術平均值濾波、加權平均值濾波、滑動平均值濾波、中值濾波等,可以根據(jù)不同的測量參數(shù)進行選擇。1)算術平均值濾波算術平均法是對一點多次采樣,然后取其平均值,并用平均值作為該點的采樣結果。該方法適用于對具有隨機干擾的信號進行濾波。這種濾波的效果與采樣數(shù)目有較大的關系,當樣本增多時,信號會變得更平滑,但可能會掩蓋某些變化;若樣本較少,信號的平滑度降低,但對數(shù)據(jù)的變化較為敏感。實際中采樣數(shù)目就具體情況而定,對于非常平穩(wěn)的信號,可以將樣本數(shù)增大,但對于變化頻繁的信號,則應將樣本數(shù)減至34。這種濾波方法對周期性的干擾有良好的抑制作用。n的取值取

37、決于平滑度和靈敏度的要求,n 增大則平滑度提高,靈敏度減小。2)加權平均值濾波 算術平均濾波法存在平滑性和靈敏度的矛盾。采樣次數(shù)太少,平滑效果差;次數(shù)太多,靈敏度下降,對參數(shù)的變化趨勢不敏感。為協(xié)調兩者關系,可采用加權平均濾波。對連續(xù)n次采樣值,分別乘上不同的加權系數(shù)之后再求累加和,加權系數(shù)一般先小后大,以突出后面若干采樣的效果,加強系統(tǒng)對參數(shù)變化趨勢的辨別。各個加權系數(shù)均為小于1的小數(shù),且滿足總和等于1的約束條件。這樣,加權運算之后的累加和即為有效采樣值。3) 滑動平均值濾波滑動平均值濾波是把連續(xù)取n個采樣值看成一個隊列,隊列的長度固定為n,每次采樣到一個新數(shù)據(jù)放入隊尾,并扔掉原來隊首的一次

38、數(shù)據(jù).(先進先出原則),把隊列中的n個數(shù)據(jù)進行算術平均運算,就可獲得新的濾波結果。算術平均值法和加權平均值濾波,都需要連續(xù)采樣n個數(shù)據(jù),然后求平均值或加權平均值。需要時間較長,故檢測速度較慢。因此可以采用滑動平均值濾波,其主要用于實時性比較強的系統(tǒng)。在這些系統(tǒng)中,需要對a/d采樣值進行平均值濾波,而沒有足夠的時間允許a/d進行連續(xù)的多次采樣,這時采用滑動平均值濾波,可以達到濾波效果?;瑒悠骄鶠V波算法只采樣一次,將這一次采樣值和過去的若干次采樣值一起求平均值,得到的有效采樣值即可投入使用。如果取n個采樣值求平均,ram中必須開辟n個數(shù)據(jù)的暫存區(qū)。每次新采集一個數(shù)據(jù)便存入暫存區(qū),同時去掉一個最老的

39、數(shù)據(jù),保持這n個數(shù)據(jù)始終是最近的數(shù)據(jù),而后求包括新數(shù)據(jù)在內的n個數(shù)據(jù)的算術平均值或加權平均值。這樣,每進行一次采樣,就可以算出一個新的平均值,從而大大加快了數(shù)據(jù)處理的速度。這種濾波方法兼容了另兩種濾波算法的優(yōu)點,既能有效的抑制脈沖干擾和周期性干擾,又能提高濾波算法的靈敏度。本設計采用滑動平均值濾波,先初始化,再讀入電壓值vi,設滑動平均濾波隊列長度為n,當判斷i是否大于n,是則刪除隊首的數(shù)據(jù);求新隊列的平均值;否則使i=i+1,繼續(xù)讀入電壓值,直至i>n。其流程圖如圖4.3所示:圖4.3滑動平均濾波流程4.1.3 量程自動轉換的程序設計 程序開始后先初始化,首先設置量程最大檔,接著存儲采

40、樣值i,并將其與最大量程進行比較,若超出量程范圍,則有溢出顯示,系統(tǒng)結束,否則進行下一輪的比較,直到選擇出合適的檔位。軟件實現(xiàn)流程圖如圖4.4所示圖4.4 量程自動轉換流程圖5 系統(tǒng)調試及性能分析5.1 調試與測試采用keil軟件進行源程序編譯,用proteus軟件對其進行仿真。同時進行硬件電路板的設計制作。燒好程序后進行軟硬件聯(lián)調,最后進行端口電壓、電流的對比測試. 5.2 性能分析由于單片機為8位處理器,當輸入電壓為5v時,輸出數(shù)據(jù)值為255(ffh)。因此單片機最大的數(shù)值分辨率為0.0196v(5/255)。這就決定了該電壓表、電流表的最大分辨率(精度)只能達到0.0196v。測試時電壓

41、/電流數(shù)值的變化一般以0.02的幅度變化。如果要想獲得更高的精度,應采用12位、13位的a/d轉換器。6 結束語6.1 設計總結本次設計的課題是基于單片機的電壓電流測量系統(tǒng),首先從課題中我們可以看出,這次設計主要涉及到的是關于單片機的知識。而之所以使用單片機作為本次設計的核心,就個人理解而言,單片機現(xiàn)在是社會上應用比較廣泛的器件,并且能在設計的同時鍛煉大家的語言編程能力,養(yǎng)成良好的語言編程風格。6.2 設計的心得課程設計是一個綜合性的實踐課程,是將理論聯(lián)系到實際中的實驗過程,是考察學生就最近知識以及綜合知識掌握能力,同時也能讓同學更好的理解甚至于學習相關內容。從拿到本次設計任務后,開始查閱資料

42、,對課設計課題進行論證,到設計電路,軟件上的程序編寫到仿真、調試,硬件上元器件確定、選型及電路搭建,軟硬件聯(lián)調,直到論文文本的撰寫。最終完成所設計項目數(shù)字電壓、電流表的設計,這一過程鍛煉了我們對單片機應用系統(tǒng)的設計及動手能力。近兩周的課程設計實踐,使我深深的體會到理論結合實際的重要性,在設計過程中要特別細心,在軟件中可能是一個標點或一個字母的問題,而導致運行錯誤;在硬件搭建中更是如此,焊接、連線的牢固性,還要防止短路和斷路。所以每一個環(huán)節(jié)都是不可大意的。另外,大家在一起討論,互相學習,讓我更深地體會到同學間互相幫助的作用。在軟、硬件調試過程中,真的培養(yǎng)了我的耐心。軟件的調試修改再調試,如此反復

43、,最終完成了設計的部分任務,但設計還存在很多問題,沒有完全達到設計要求。而且精度也存在問題,有待改進。在不斷的學習與討論中,我對單片機知識有了更為深刻的認識與體會。在收獲的同時,我也受益非淺深感自身理論知識的欠缺與動手能力的不足,在以后的學習及設計中,還要不斷的努力。由于時間的緊缺和許多課業(yè)的繁忙,此次設計沒有很好的完成。但是,從基礎而言,我們還沒有放棄。相信以后我們會以更加積極地太對對待我們的畢業(yè)設計,甚至于今后的人生。7 致謝詞 本次課程設計結束了,首先要感謝此次給與指導的王勝老師。由于設計時間的匆忙性,本次設計并沒有要求大家以實物為設計結點。所以有很多問題存在,甚至于是很大的課題謬論,但

44、王勝老師給與的指導都能很好的解決此類問題。他總是耐心地和我們一起探討、分析,再讓我們自己解決。這樣,我們不但解決了問題,還從中學到了更多知識。王老師淵博的知識、嚴謹?shù)淖黠L、以及友善的態(tài)度是我以后學習和生活上的榜樣。同時,我要感謝我們班的幾位同學,當我遇到一些措手不及又難以解決的問題時,是在他們的熱心幫助下,才一一得以解決。最后,要感謝我們系里給我們這次理論結合實踐的機會,一次作為電子系學生的最有意義的作業(yè)。本次設計結束的同時也意味著一次良好的知識學習機會也隨之而逝,并且在接下來的大學課程中,都不會有此類的機會留于我們。附錄附錄1 參考文獻1 單片機原理及接口技術 余錫存 曹國華 西安電子科技大

45、學 2000.72 單片機典型模塊設計實例導航 求是科技 人民郵電出版社 2005.63 mcs-51單片機應用開發(fā)實用子程序 邊春遠 人民郵電出版社 2005.94 單片機在電子電路設計中的應用 赫建國等 清華大學出版社 2006.55 電子技術基礎 數(shù)字部分 康華光 高等教育出版社2004.46 單片機c語言編程與示例 趙亮等 人民郵電出版社 2003.97 程序設計(第二版)譚浩強清華大學出版社1999.128 電子技術基礎 模擬部分 康華光 高等教育出版社2004.7 9 單片機原理及應用技術 胡輝、王曉等 中國水利水電出版社 2005.7 10電子測量技術基礎 楊永瑞、劉振起等 西安

46、電子科技大學出版社 2006.1 11智能電壓表中量程自動轉換電路研究 張國恒等 西北師范大學學報 2006.4 12電路.模擬.a/d轉換及d/a轉換 童永承、顧家林等 科學出版社 2004.7 13單片機原理與應用技術 魏立峰、王寶興 北京大學出版社 2006.8 148051單片機基礎教程 陳明熒 北京:科學出版社 2003 15單片機應用系統(tǒng)設計與產品開發(fā) 馮建華、趙亮 人民郵電出版社 2004.11 16新編mcs-51單片機應用技術 張毅剛等 哈爾濱工業(yè)大學出版社 2003.7 17單片機應用開發(fā)實例 劉文濤 清華大學出版社 2005.9 18單片機語言c51程序設計 趙文博等 人

47、民郵電出版社 2005.。10 1951單片機應用程序開發(fā)典型實例 戴佳、苗龍等 中國電力出版社 2005.9 20精通8051程序設計 美 myke predko 人民郵電出版社 2006.3附錄2 系統(tǒng)總電路圖附錄3 源程序#include <reg52.h>#include <intrins.h#define byte unsigned char#define word unsigned intsbit disclk=p27;sbit disdat=p26;sbit a1=p00;sbit b1=p01;sbit c1=p02;sbit d1=p03;/*-功能:adc

48、0809接口程序目標芯片:at89s52單片機占用資源:采集到的數(shù)字量接p1口、 mcu adc0809 變量名稱 p3.7 start/ale adc_st p3.5 eoc adc_eoc p3.6 oe adc_oe ale clk(經二分頻) 無用戶接口函數(shù):byte adc0809(void)-*/#define adcdata p1/adc輸出的數(shù)字量接單片機p1口#define n 10 /滑動平均濾波隊列長度byte valuebufn;/滑動平均濾波隊列byte filtercnt=0;/隊列指針sbit adc_st=p37;/start & alesbit adc_eoc=p35;/eocsbit adc_oe=p36;/output enable -oebyte adc0809(void) byte i; adc_st=1;/啟動adc0809,鎖存轉換通道地址,開始轉換 for(i=10;i>0;i

溫馨提示

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

評論

0/150

提交評論