基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計_第1頁
基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計_第2頁
基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計_第3頁
基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計_第4頁
基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的電流電壓測量系統(tǒng)設(shè)計目錄1前言21.1電子測量概述21.2數(shù)字電壓表的特點(diǎn)31.3單片機(jī)的概述32系統(tǒng)方案的選擇與論證42.1功能要求42.2系統(tǒng)的總體方案規(guī)劃52.3各模塊方案選擇與論證52.3.1控制模塊52.3.2量程自動轉(zhuǎn)換模塊62.3.3A/D轉(zhuǎn)換模塊62.3.4顯示模塊62.3.5通信模塊73系統(tǒng)的硬件電路設(shè)計與實現(xiàn)73.1系統(tǒng)的硬件組成局部73.2主要單元電路設(shè)計83.2.1中央控制模塊83.2.2量程自動轉(zhuǎn)換模塊93.2.3A/D模數(shù)轉(zhuǎn)換模塊133.2.4顯示模塊153.2.5通信模塊153.2.6電源局部164系統(tǒng)的軟件設(shè)計174.1軟件的總體設(shè)計原理174.1.1A/D轉(zhuǎn)換程序設(shè)計184.1.2數(shù)字濾波程序設(shè)計184.1.3量程自動轉(zhuǎn)換的程序設(shè)計205系統(tǒng)調(diào)試及性能分析225.1調(diào)試與測試225.2性能分析226結(jié)束語236.1設(shè)計總結(jié)236.2設(shè)計的心得237致謝詞24附錄25附錄1參考文獻(xiàn)25附錄2系統(tǒng)總電路圖26附錄3源程序271前言1.1電子測量概述從廣義上講,但凡利用電子技術(shù)來進(jìn)行的測量都可以說是電子測量;從狹義上來說,電子測量是在電子學(xué)中測量有關(guān)電量的量值。與其他一些測量相比,電子測量具有以下幾個明顯的特點(diǎn):①測量頻率范圍極寬,這就使它的應(yīng)用范圍很廣;②量程很廣;③測量準(zhǔn)確度高;④測量速度快;⑤易于實現(xiàn)遙測和長期不間斷的測量,顯示方式又可以做到清晰,直觀;⑥易于利用計算機(jī),形成電子測量與計算技術(shù)的緊密結(jié)合。隨著科學(xué)技術(shù)和生產(chǎn)的開展,測量任務(wù)越來越復(fù)雜,工作量加大,測量速度測量準(zhǔn)確度要求越來越高,這些都對測量儀器和測試系統(tǒng)提出了更高的要求。微機(jī)的出現(xiàn)為解決上述問題提供了條件。利用微機(jī)的記憶,存儲,數(shù)學(xué)運(yùn)算,邏輯判斷和命令識別等能力,開展了微機(jī)化和自動測試系統(tǒng)。近年來微機(jī)和大規(guī)模集成電路開展很快,價格大幅下降,同時在測試系統(tǒng)中還解決了通用接口母線標(biāo)準(zhǔn)化問題,使微機(jī)化儀器和自動測試系統(tǒng)得到了很大開展,正改變著電子測量的面貌。1.2數(shù)字電壓表的特點(diǎn)1.讀數(shù)直觀、準(zhǔn)確電壓表的數(shù)字化,是將連續(xù)的模擬量(如直流電壓)轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示。這有別于傳統(tǒng)的以指針與刻度盤進(jìn)行讀數(shù)的方法,防止了讀數(shù)的視差和視覺疲勞。2.顯示范圍寬、分辮力高指針表的分辮力,是由刻度盤的細(xì)度表達(dá)的,刻度盤在一定條件下無法分得很細(xì),太細(xì)了視覺分辮也很困難,而數(shù)字顯示的電壓表,目前可以做到從2〔1/2〕到10〔1/2〕。3.輸入阻抗數(shù)字電壓表的輸入阻抗可高達(dá)(1~10000)M。輸入阻抗越高,所吸收被測信號的電流就越小,所帶來的附加誤差極小,可以忽略。4.集成度高、功耗小、抗干擾能力強(qiáng)由于CMOS技術(shù)的開展,集成電路的功耗變得很小,即發(fā)熱量很小,這樣就可以在同一塊芯片上集成更多的元件,形成大規(guī)模或超大規(guī)模集成電路。這給制造業(yè)帶來了飛躍,不僅儀表小巧而功能齊全,其他如、袖珍電腦等也得以誕生。目前雙積分或多重積分的A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,由于在積分過程中可將干擾信號局部或全部抵消掉,其串模抑制比可達(dá)100分貝,共模抑制比可達(dá)120分貝。5.可擴(kuò)展能力強(qiáng)直流數(shù)字電壓表本身可以擴(kuò)展成交流電壓表、交直電流表、峰值表、功率表等,還可以附加智能化。例如:計算、保持、比擬數(shù)字、設(shè)定時間,設(shè)定上、下量限及自動控制等多種功能。1.3單片機(jī)的概述單片機(jī)就是在一塊半導(dǎo)體硅片上集成了微處理器〔CPU〕、存儲器〔ROM、RAM、EPROM〕和各種輸入、輸出接口,這樣一塊集成電路芯片上具有一臺計算機(jī)的屬性,因而被稱為單片微型計算機(jī),簡稱單片機(jī)。單片機(jī)根據(jù)其根本操作處理的位數(shù)可分為:1位單片機(jī)、4位單片機(jī)、8位單片機(jī)、16位單片機(jī)和32位單片機(jī)。并且其開展歷史可分為以下四個階段:第一階段:單片機(jī)初級階段。因工藝限制,單片機(jī)采用雙片的形勢而且功能比擬簡單。例如,仙童公司生產(chǎn)的F8單片機(jī),實際上只包括了8為CPU,64BRAM和2個并行口。因此,還需加一塊3851才能組成一臺完整的計算機(jī)。第二階段:低性能單片機(jī)階段。以Intel公司制造的MCS-48單片機(jī)為代表,這種單片機(jī)片內(nèi)集成有8位CPU、并行I/O口、8位定時器/計數(shù)器、RAM和ROM等,但是缺乏之處是無串行口,中斷處理比擬簡單,片內(nèi)RAM和ROM容量較小且尋址范圍不大于4KB。第三階段:高性能單片機(jī)階段。這個階段推出的單片機(jī)普遍帶有I/O口,多級中斷系統(tǒng),16位定時器/計數(shù)器,片內(nèi)ROM、RAM容量加大,且尋址范圍可達(dá)64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。這類單片機(jī)的典型代表是:Intel公司的MCS-51系列、Motorola公司的6801和Zilog公司的Z8等。由于這類單片機(jī)的性能價格比高,所以仍被廣泛應(yīng)用,是目前應(yīng)用數(shù)量較多的單片機(jī)。第四階段:8位單片機(jī)穩(wěn)固開展及16位單片機(jī)、32位單片機(jī)推出階段。此階段的主要特征是一方面開展16位單片機(jī)、32位單片機(jī)及專用型單片機(jī);另一方面不斷完善高檔8位單片機(jī),改善其結(jié)構(gòu),以滿足不同的用戶需要。2系統(tǒng)方案的選擇與論證2.1功能要求使用AD/DC模數(shù)轉(zhuǎn)換模塊把模擬量轉(zhuǎn)換成數(shù)字量,再采用AT89C52單片機(jī)進(jìn)行電壓、電流表的計算和顯示,并將數(shù)據(jù)發(fā)送給PC機(jī),要求進(jìn)行硬件,軟件系統(tǒng)設(shè)計。1、4位電壓、電流顯示2、8個檔位自動調(diào)節(jié)3、電壓范圍0——1000V4、電流范圍0——5A5、能串口發(fā)送給計算機(jī),并以適時波形顯示2.2系統(tǒng)的總體方案規(guī)劃本設(shè)計主要由五大模塊組成:量程自動轉(zhuǎn)換模塊、A/D模數(shù)轉(zhuǎn)換模塊、單片機(jī)控制模塊、顯示模塊和通信模塊。按系統(tǒng)功能實現(xiàn)要求,控制模塊采用AT89C52單片機(jī),通過程序來進(jìn)行電壓、電流的計算等數(shù)據(jù)處理,及其功能控制;量程自動轉(zhuǎn)換模塊包括電壓衰減和8個檔位自動換檔,采用純硬件搭建;A/D轉(zhuǎn)換模塊采用ADC0809芯片;顯示模塊采用四個LED數(shù)碼管靜態(tài)顯示電壓、電流值。通信模塊采用串口通信將數(shù)據(jù)發(fā)送給PC機(jī)。使用MAX232芯片,實現(xiàn)電平轉(zhuǎn)換功能,使單片機(jī)的TTL電平與RS232的電平實現(xiàn)匹配。如圖2.1所示:圖2.1系統(tǒng)總體框圖2.3各模塊方案選擇與論證2.3.1控制模塊中央控制器為整個系統(tǒng)的核心,通過接受外部信息,按照控制算法驅(qū)動執(zhí)行機(jī)構(gòu)。對中央處理器的選擇多種多樣,本設(shè)計采用ATMEL公司生產(chǎn)的AT89S52系列的單片機(jī)作為主控制器。它支持ISP在線可編程寫入技術(shù)!串行寫入、其頻率高達(dá)33MHz,故其速度更快、內(nèi)部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。穩(wěn)定性更好。AT89S52高性能8位單片機(jī)是一個低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S52具有如下特點(diǎn):40個引腳,8kBytesFlash片內(nèi)程序存儲器,256bytes的隨機(jī)存取數(shù)據(jù)存儲器〔RAM〕,32個外部雙向輸入/輸出〔I/O〕口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗〔WDT〕電路,片內(nèi)時鐘振蕩器。此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。2.3.2量程自動轉(zhuǎn)換模塊方案一、采用軟件編程技術(shù)。特點(diǎn):硬件簡單,但編程復(fù)雜。方案二、采用純硬件搭建技術(shù)。利用一些廉價的元器件組成量程自動轉(zhuǎn)換電路,特點(diǎn):所用硬件多,但本錢低,且不需要復(fù)雜的軟件編程及調(diào)試??紤]到本次設(shè)計所需硬件較少,且所用元器件容易購置,本錢低。故采用方案二2.3.3A/D轉(zhuǎn)換模塊方案一、采用雙積分A/D轉(zhuǎn)換技術(shù)。特點(diǎn)是:精度高,抗干擾能力強(qiáng)。但高精度的雙積分A/D芯片,價格較貴,增加了單片機(jī)系統(tǒng)的本錢。方案二、采用比擬型A/D轉(zhuǎn)換器〔ADC1210〕。特點(diǎn)是:測量速度快〔最高可達(dá)每秒100萬次以上〕,電路比擬簡單,但抗干擾能力差。方案三、采用逐次逼近型A/D轉(zhuǎn)換器〔ADC0809〕。特點(diǎn)是:價格廉價,容易購置,但精度較低。ADC0809是8位逐次逼近型A/D轉(zhuǎn)換器。帶8個模擬量輸入通道,有通道地址譯碼鎖存器。考慮到本錢低,因而選用方案三。2.3.4顯示模塊方案一、采用LCD顯示。特點(diǎn):顯示內(nèi)容豐富,采用數(shù)字式接口,體積小、重量輕,功率消耗小,但編程復(fù)雜,且本錢相對LED較高。方案二、采用LED并行動態(tài)顯示。即一位一位地輪流點(diǎn)亮各位顯示器。對每一位顯示器而言,每隔一段時間點(diǎn)亮一次。其硬件電路簡單,但同樣的功率驅(qū)動下,顯示亮度不及靜態(tài)顯示,且占用I/O口較多。方案三、采用LED串行靜態(tài)顯示。即顯示某一字符時,相應(yīng)的發(fā)光二極管恒定導(dǎo)通或截止,這種方式每一個顯示位都需要一個8位輸出口控制,占用硬件較多,但僅占用控制器串口的兩個I/O口,軟件實現(xiàn)簡單,顯示亮度高,本錢低。LED數(shù)碼管顯示器由7個發(fā)光二極管組成,因此也稱之為7段LED顯示器,因為LED數(shù)碼管顯示本錢較低,外加一個驅(qū)動芯片,所需單片機(jī)接口較少,且程序容易實現(xiàn)。故考慮到本次設(shè)計的需要,只要顯示4位電壓、電流值,采用方案三,使用4個共陽數(shù)碼管及4個驅(qū)動芯片74LS164。2.3.5通信模塊方案一、采用并行通信方式。所傳送的各位同時發(fā)送或接收。一個并行數(shù)據(jù)占多少位二進(jìn)制數(shù),就要多少根傳輸線,這種方式的特點(diǎn):通信速度快,但傳輸線多,價格較貴,適合近距離傳輸。方案二、采用串行通信方式。所傳送的數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。這種方式的特點(diǎn):由于它每次只能傳送一位,所以傳送速度較慢。但它僅需要一到兩根傳輸線,故傳輸數(shù)據(jù)時比擬經(jīng)濟(jì),且所占I/O口少。本次設(shè)計是單片機(jī)與PC機(jī)的通信,要采用MAX232電平轉(zhuǎn)換電路,可將單片機(jī)的TTL電平轉(zhuǎn)換為PC機(jī)的串口電平。使單片機(jī)的TTL電平與RS232的電平實現(xiàn)匹配。故采用方案二。經(jīng)過仔細(xì)分析和論證,決定了系統(tǒng)各模塊的最終方案如下:〔1〕控制器模塊:采用單片機(jī)AT89S52控制?!?〕量程自動轉(zhuǎn)換模塊:采用純硬件搭建?!?〕A/D轉(zhuǎn)換模塊:采用逐次逼近式ADC0809轉(zhuǎn)換器?!?〕顯示模塊:采用LED串行靜態(tài)顯示?!?〕通信模塊:采用串口通信。3系統(tǒng)的硬件電路設(shè)計與實現(xiàn)3.1系統(tǒng)的硬件組成局部系統(tǒng)硬件主要由中央控制模塊、量程自動轉(zhuǎn)換模塊、A/D轉(zhuǎn)換模塊、顯示模塊和通信模塊組成。總原理圖如圖3.1所示:圖3.1系統(tǒng)總體原理圖3.2主要單元電路設(shè)計3.2.1中央控制模塊本設(shè)計主要以AT89S52單片機(jī)最小系統(tǒng)為核心。其P1口為電壓信號通過A/D轉(zhuǎn)換后所得數(shù)字量的輸入端,P2.6、P2.7為單片機(jī)的模擬串口,分別連接74LS164的RXD和TXD端。是CPU送數(shù)據(jù)到LED顯示的接口;P0.0、P0.1、P0.2分別接一個發(fā)光二極管,三個二極管亮滅的不同組合對應(yīng)不同的量程。同時P0.3也接一發(fā)光二極管,當(dāng)二極管亮?xí)r,說明待測信號超過了量程范圍。ALE端口經(jīng)芯片二分頻接至ADC0809的CLK端。P3.7接ADC0809的啟動控制輸入端口STAR和地址鎖存控制信號端口ALE,P3.6、P3.5分別連接ADC0809的輸出允許控制端口OE、轉(zhuǎn)換結(jié)束信號脈沖輸出端口。P3.0,P3.1口連接串口通信模塊。其原理圖如圖3.2所示:圖3.2中央控制器原理圖3.2.2量程自動轉(zhuǎn)換模塊量程自動轉(zhuǎn)換電路框圖如圖4所示.被測量程判斷器判斷出被測量的范圍,相應(yīng)的量程信號輸入到檔位選擇器。檔位選擇器根據(jù)量程信號將檔位自動調(diào)至適當(dāng)?shù)牧砍蹋⑤斎胫底詣拥剡x擇適宜的增益或衰減處理后送至A/D轉(zhuǎn)換器,實現(xiàn)整個量程的自動轉(zhuǎn)換功能。如圖4.3所示圖3.3量程自動轉(zhuǎn)換框圖〔1〕電路設(shè)計的總體要求電路設(shè)計的根本要求是在不降低測量精度的條件下實現(xiàn)量程的自動轉(zhuǎn)換。因此在設(shè)計電路時需要考慮以下幾方面的要求:1)輸入值量程判斷器的阻抗。要求在進(jìn)行電壓測量時具有高阻抗,進(jìn)行電流測時具有低阻抗。2)輸入值量程判斷器應(yīng)具備對最大量程的上限和最小量程的下限的判斷力。由于被測范圍較大,因此既要求在高待測量值輸入時不對小量程電路造成沖擊,又要求在超量程值時對檔位轉(zhuǎn)換電路進(jìn)行關(guān)斷。當(dāng)輸入量低于表內(nèi)的測量精度時,也要求將檔位選擇器關(guān)斷。否那么,當(dāng)測量儀表斷開時,沒有輸入量,而輸入值量程判斷器那么認(rèn)為此時的輸入量在最小量程的檔位上,當(dāng)儀表接通待測量時,待測量大于最小量程檔位的范圍時,檔位選擇電路及其后級電路必定受到較大的沖擊。所以,輸入值量程判斷器不僅對是否超過最大量程能夠判斷,對是否小于最小量程的精度也有判斷能力。3)電路平安要求。在本設(shè)計中,利用傳輸?shù)难訒r,對檔位進(jìn)行從關(guān)斷測量到最大量程檔位向低量程檔位逐級下降直至到適當(dāng)檔位的轉(zhuǎn)換,這樣就使得電路在測量完高待測后就能順利地進(jìn)行對最低待測量的測量。4)本錢及功耗問題。由于輸入值判斷器所判斷出的值不是用來測量,而是用于轉(zhuǎn)換量程檔位,所轉(zhuǎn)換出的數(shù)值不需要十分精確,故其電路功耗可按儀表需要選擇適當(dāng)?shù)男酒!?〕電路設(shè)計的實現(xiàn)1〕量程判斷電路的設(shè)計。量程判斷電路框圖如圖3.4所示。輸入的被測量經(jīng)分壓電路分壓,并經(jīng)隔離電路后輸入電壓判斷電路,再至檔位選擇器。圖3.4量程判斷電路框圖單量程的量程判斷實現(xiàn)電路如圖3.5所示:圖3.5單量程判斷實現(xiàn)電路電路中Uin代表被測信號,電阻R1、R2組成分壓電路。運(yùn)放A1組成隔離電路。電壓判斷電路由電壓源UEF2和運(yùn)放A3組成的單限電壓比擬器實現(xiàn)。該電壓比擬器的閾值電壓為UT為:UT=-〔R3/R4〕*UREF(1)電路下半局部與上半局部的結(jié)構(gòu)和工作原理相似。不過,比擬電壓由A4的反相端輸入。由(1)式可知,當(dāng)跟隨器A1的輸出大于0.2V時,比擬器A3輸出高電平;當(dāng)跟隨器A2的輸出小于-0.2V時,比擬器A4輸出高電平;當(dāng)-0.2V<Uin<0.2V時,輸出為低電平。電路構(gòu)成了一個窗口比擬器。量程判斷器的總電路如圖3.6所示。每個運(yùn)放的輸入端都接有穩(wěn)壓管進(jìn)行限壓,以保護(hù)運(yùn)放。圖中上半局部為檔位選擇電路,正負(fù)電壓都可由整流橋整流后送分壓電阻分壓,下半局部為輸入電壓的最小值判斷電路,對輸入被測量的有和無進(jìn)行直接判斷。根據(jù)前級的分壓比可以求得,當(dāng)被測的電壓值大于0.2V或者小于-0.2V時,輸出端INH才輸出高電平。2〕檔位選擇器輸入值判斷器已經(jīng)把電壓信號分檔并轉(zhuǎn)換為上下電平的數(shù)字輸出值輸出.檔位選擇器可根據(jù)輸入值判斷器所得結(jié)果來設(shè)計.輸入值判斷器的輸入端電壓與輸出端的真值表如表1所示。表1中,1表示高電平,0表示低電平。由真值表的特性可知,檔位選擇可以用一個8選1模擬開關(guān)CD4051完成。CD4051主要由8路CMOS開關(guān),譯碼電路和電平轉(zhuǎn)換電路3局部組成,其工作原理是主要由控制端A、B、C的不同的組合狀態(tài)來選通哪一路輸入作為輸出。其譯碼表如表2所示。對照表1和表2,可得出譯碼電路對各量程選擇的輸出端,從小到大分別為:Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7。圖3.6量程判斷器的總電路表3.1真值表Ui輸出(-0.2~0.2V)(0.2~2V)(2~20V)(20~100V)(100~200V)(200~400V)(400~600V)(600~800V)(800~1000V)>1000VA1111100000B1110011000C1101010100INH1000000001檔位狀態(tài)截止0.2~2V2~20V20~100V100~200V200~400V400~600V600~800V800~1000V截止表3.2譯碼表輸入值輸出值A(chǔ)BCINHY0Y1Y2Y3Y4Y5Y6Y7111100000000111000000001110000000010101000000100100000001000011000010000010000100000001001000000000010000000000100000000根據(jù)芯片輸入、輸出的引腳特性,其電路接線圖如圖3.7所示。輸入信號分壓等變換后送入CD4051的X0-X7,8個通道。其中1個控制引腳:INH是4051的禁止端,為低電平開啟,INH=1模擬開關(guān)被禁止工作,INH=0時,由A、B、C上的信號來控制某一路的選通。電路引腳中,假設(shè)A、B、C無輸入或懸空時,Y0輸出1,控制檔位在最高量程電壓檔位上,起到保護(hù)電路的作用。圖3.7檔位判斷電路3〕量程自動選擇總電路根據(jù)上述研究,可得量程自動轉(zhuǎn)換電路如圖3.8所示。路中所用的基準(zhǔn)電壓都是2V,可用同一直流電源提供。穩(wěn)壓管均采用2.8V工作電壓的穩(wěn)壓管。圖3.8量程自動選擇總電路3.2.3A/D模數(shù)轉(zhuǎn)換模塊采用ADC0809轉(zhuǎn)換芯片,采集信號由INT0輸入;數(shù)字量輸出接至CPU的P1口;其START與ALE引腳接至CPU的P3.7,OE引腳接至CPU的P3.6,EOC引腳接至CPU的P3.5腳;A、B、C三位地址線共同接地,表示對INT0的輸入信號進(jìn)行模數(shù)轉(zhuǎn)換。在INT0的輸入端口接一選擇開關(guān)電路,用以判斷對電壓測量還是對電流測量。ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比擬器。START上升沿將逐次逼近存放器復(fù)位。下降沿啟動A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門翻開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。主要特性1〕8路8位A/D轉(zhuǎn)換器,即分辨率8位。

2〕具有轉(zhuǎn)換起??刂贫?。3〕轉(zhuǎn)換時間為100μs。

4〕單個+5V電源供電。

5〕模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。

6〕工作溫度范圍為-40~+85攝氏度。

7〕低功耗,約15mW。外部特性〔引腳功能〕ADC0809芯片有28個引腳,采用雙列直插式封裝,各引腳功能如下:IN0-IN7:8路模擬量輸入端。D0-D7:8位數(shù)字量輸出端。

ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路。ALE:地址鎖存允許信號。高電平時,把三位地址信號送入地址鎖存器,經(jīng)譯碼選擇相應(yīng)的模擬輸入通道,使用時,該信號可以和STARE信號連在一起,以便同時鎖存通道地址和啟動A/D轉(zhuǎn)換。高電平有效。START:A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。EOC:A/D轉(zhuǎn)換結(jié)束信號輸出端口,轉(zhuǎn)換期間一直為低電平。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平〔有效〕。OE:數(shù)據(jù)輸出允許信號輸入端口,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能翻開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。

REF〔+〕、REF〔-〕:基準(zhǔn)電壓。

Vcc:電源,單一+5V。

GND:地。3.2.4顯示模塊〔1〕數(shù)碼管的選取LED〔發(fā)光二極管〕,它是一種由某些特殊的半導(dǎo)體材料制作成的PN結(jié)。其發(fā)光強(qiáng)度與其正向壓降VF和電流IF的乘積有關(guān),其乘積越大,那么發(fā)光強(qiáng)度越大。工作電流一般在5MA~20MA。從系統(tǒng)整體考慮,選用的是LDS-5101BH型七段LED數(shù)碼管?!?〕驅(qū)動芯片選用74LS164芯片。74LS164是串行輸入/8位并行輸出的移位存放器。每片74LS164有兩個串行數(shù)據(jù)輸入端和一個同步移位脈沖輸入端,以及8個并行輸出口。時鐘CLK端上每一個上升沿都會使該芯片的8位數(shù)據(jù)輸出右移一位。顯示模塊總體原理圖如圖3.9所示:圖3.9顯示模塊原理圖3.2.5通信模塊〔1〕單片機(jī)與PC機(jī)通信的概述在實際應(yīng)用中,因為單片機(jī)功能有限,因而在較大的測控系統(tǒng)中,常常把單片機(jī)應(yīng)用系統(tǒng)作為前端機(jī)〔也稱為下位機(jī)或從機(jī)〕直接用于控制對象的數(shù)據(jù)采集與控制,而把PC機(jī)作為中央處理機(jī)〔也稱為上位機(jī)或主機(jī)〕用于數(shù)據(jù)處理和對下位機(jī)的監(jiān)控管理。它們之間的信息交換主要是采用串行通信,此時單片機(jī)可直接采用串行接口,而PC機(jī)可利用其配置的8250或8251、16450等可編程串行接口芯片。實現(xiàn)單片機(jī)與PC機(jī)串行通信的關(guān)鍵是在通信協(xié)議的約定上要一致,例如,應(yīng)設(shè)定相同的波特率及幀格式等。在正式工作之前,雙方應(yīng)先互發(fā)聯(lián)絡(luò)信號,以確保通信收發(fā)數(shù)據(jù)的準(zhǔn)確性。〔2〕本設(shè)計的通信串行通信采用MAX232電平轉(zhuǎn)換電路,可將單片機(jī)的TTL電平轉(zhuǎn)換為PC機(jī)的串口電平。使單片機(jī)的TTL電平與RS232的電平實現(xiàn)匹配。RS232使用-3~-25V,表示數(shù)字1;3~25V表示數(shù)字0。RS232在空閑時處于邏輯“1〞狀態(tài),在開始傳送時,首先產(chǎn)生一個起始位,起始位為一個寬度的邏輯“0〞,緊隨其后的為所需要傳送的數(shù)據(jù),所要傳送的數(shù)據(jù)由最低位開始依次送出,并以一個結(jié)束位標(biāo)志該字節(jié)傳送結(jié)束,結(jié)束位為一個寬度的邏輯“1〞狀態(tài)。單片機(jī)與PC機(jī)的通信連接圖如圖3.10所示,下位機(jī)〔單片機(jī)〕將接收的數(shù)據(jù)從串行口P3.0、P3.1輸出,上位機(jī)接收到數(shù)據(jù)后在屏幕上進(jìn)行顯示。圖3.10單片機(jī)與PC機(jī)通信連接圖3.2.6電源局部單片機(jī)電源采用自制+5V電源供電。其原理圖如圖3.11所示圖3.11電源電路圖4系統(tǒng)的軟件設(shè)計4.1軟件的總體設(shè)計原理系統(tǒng)上電后,初始化程序包括對各種參數(shù)進(jìn)行初始化、清零以及一些端口屬性的設(shè)定,開始進(jìn)行量程判斷,再調(diào)用A/D轉(zhuǎn)換子程序,對輸入信號進(jìn)行A/D模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束,為提高測量精度,系統(tǒng)對輸入電壓連續(xù)采集10次進(jìn)行滑動平均值濾波處理,其結(jié)果作為對應(yīng)的電壓值。再調(diào)用LED顯示子程序,顯示所測量的電壓或電流值,最后調(diào)用通信子程序?qū)崿F(xiàn)串口通信。系統(tǒng)總流程圖如圖4.1所示:圖4.1系統(tǒng)總流程圖4.1.1A/D轉(zhuǎn)換程序設(shè)計系統(tǒng)上電后,初始化各參量。開啟A/D轉(zhuǎn)換,調(diào)用延時程序,接著判斷A/D轉(zhuǎn)換是否結(jié)束,結(jié)束那么清標(biāo)志位、取數(shù)據(jù),否那么再延時,繼續(xù)判斷A/D是否結(jié)束。總程序結(jié)束。流程圖如圖4.2所示:圖4.2A/D轉(zhuǎn)換程序流程圖4.1.2數(shù)字濾波程序設(shè)計〔1〕數(shù)字濾波概述數(shù)字濾波,即在數(shù)據(jù)采集系統(tǒng)里,由于數(shù)據(jù)采集環(huán)境的電磁干擾,傳感器和放大器自身的影響,往往會含有多種頻率成分的噪聲信號,嚴(yán)重時,這種噪聲信號會淹沒待提取的輸入信號,使測試系統(tǒng)無法獲取被測信號。在這種情況下,為了濾除干擾需要采取濾波措施,抑制不需要的雜散信號,使系統(tǒng)的信噪比增加。如果對模擬信號進(jìn)行離散采樣,通過軟件算法對采樣信號進(jìn)行平滑加工,增強(qiáng)有效信號,消除或減少噪聲,從而到達(dá)濾波的目的,這種濾波方法稱為數(shù)字濾波方法。數(shù)字濾波完成的功能是將一組輸入數(shù)字序列按照一定的算法轉(zhuǎn)化為一組輸出數(shù)字序列,經(jīng)過數(shù)字濾波后的輸出序列比輸入序列更平滑和易于處理。與此對應(yīng)的就是模擬濾波,模擬濾波主要有無源濾波〔直接用電阻、電容、電感等不外接電源的元件組成的〕與有源濾波〔如運(yùn)算放大器等需要外接電源組成的〕,其目的是將信號中的噪音和干擾濾去或者將希望得到的頻率信號濾出為系統(tǒng)所用。數(shù)字濾波的出現(xiàn)克服了模擬濾波的很多缺乏,具有以下優(yōu)點(diǎn):A.是用程序?qū)崿F(xiàn)的,不需要增加硬設(shè)備,所以可靠性高,穩(wěn)定性好。B.可以對頻率很低的信號實現(xiàn)濾波,克服了模擬濾波的缺陷。C.可以根據(jù)信號的不同,采用不同的濾波方法或參數(shù),具有靈活、方便、功能強(qiáng)的特點(diǎn)?!?〕數(shù)字濾波的方法數(shù)字濾波的方法有很多種,常用的數(shù)字濾波方法有:算術(shù)平均值濾波、加權(quán)平均值濾波、滑動平均值濾波、中值濾波等,可以根據(jù)不同的測量參數(shù)進(jìn)行選擇。1〕算術(shù)平均值濾波算術(shù)平均法是對一點(diǎn)屢次采樣,然后取其平均值,并用平均值作為該點(diǎn)的采樣結(jié)果。該方法適用于對具有隨機(jī)干擾的信號進(jìn)行濾波。這種濾波的效果與采樣數(shù)目有較大的關(guān)系,當(dāng)樣本增多時,信號會變得更平滑,但可能會掩蓋某些變化;假設(shè)樣本較少,信號的平滑度降低,但對數(shù)據(jù)的變化較為敏感。實際中采樣數(shù)目就具體情況而定,對于非常平穩(wěn)的信號,可以將樣本數(shù)增大,但對于變化頻繁的信號,那么應(yīng)將樣本數(shù)減至3~4。這種濾波方法對周期性的干擾有良好的抑制作用。N的取值取決于平滑度和靈敏度的要求,N增大那么平滑度提高,靈敏度減小。2〕加權(quán)平均值濾波算術(shù)平均濾波法存在平滑性和靈敏度的矛盾。采樣次數(shù)太少,平滑效果差;次數(shù)太多,靈敏度下降,對參數(shù)的變化趨勢不敏感。為協(xié)調(diào)兩者關(guān)系,可采用加權(quán)平均濾波。對連續(xù)N次采樣值,分別乘上不同的加權(quán)系數(shù)之后再求累加和,加權(quán)系數(shù)一般先小后大,以突出后面假設(shè)干采樣的效果,加強(qiáng)系統(tǒng)對參數(shù)變化趨勢的區(qū)分。各個加權(quán)系數(shù)均為小于1的小數(shù),且滿足總和等于1的約束條件。這樣,加權(quán)運(yùn)算之后的累加和即為有效采樣值。滑動平均值濾波滑動平均值濾波是把連續(xù)取N個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數(shù)據(jù)放入隊尾,并扔掉原來隊首的一次數(shù)據(jù).(先進(jìn)先出原那么),把隊列中的N個數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,就可獲得新的濾波結(jié)果。算術(shù)平均值法和加權(quán)平均值濾波,都需要連續(xù)采樣N個數(shù)據(jù),然后求平均值或加權(quán)平均值。需要時間較長,故檢測速度較慢。因此可以采用滑動平均值濾波,其主要用于實時性比擬強(qiáng)的系統(tǒng)。在這些系統(tǒng)中,需要對A/D采樣值進(jìn)行平均值濾波,而沒有足夠的時間允許A/D進(jìn)行連續(xù)的屢次采樣,這時采用滑動平均值濾波,可以到達(dá)濾波效果?;瑒悠骄鶠V波算法只采樣一次,將這一次采樣值和過去的假設(shè)干次采樣值一起求平均值,得到的有效采樣值即可投入使用。如果取N個采樣值求平均,RAM中必須開辟N個數(shù)據(jù)的暫存區(qū)。每次新采集一個數(shù)據(jù)便存入暫存區(qū),同時去掉一個最老的數(shù)據(jù),保持這N個數(shù)據(jù)始終是最近的數(shù)據(jù),而后求包括新數(shù)據(jù)在內(nèi)的N個數(shù)據(jù)的算術(shù)平均值或加權(quán)平均值。這樣,每進(jìn)行一次采樣,就可以算出一個新的平均值,從而大大加快了數(shù)據(jù)處理的速度。這種濾波方法兼容了另兩種濾波算法的優(yōu)點(diǎn),既能有效的抑制脈沖干擾和周期性干擾,又能提高濾波算法的靈敏度。本設(shè)計采用滑動平均值濾波,先初始化,再讀入電壓值Vi,設(shè)滑動平均濾波隊列長度為N,當(dāng)判斷i是否大于N,是那么刪除隊首的數(shù)據(jù);求新隊列的平均值;否那么使i=i+1,繼續(xù)讀入電壓值,直至i>N。其流程圖如圖4.3所示:圖4.3滑動平均濾波流程4.1.3量程自動轉(zhuǎn)換的程序設(shè)計程序開始后先初始化,首先設(shè)置量程最大檔,接著存儲采樣值i,并將其與最大量程進(jìn)行比擬,假設(shè)超出量程范圍,那么有溢出顯示,系統(tǒng)結(jié)束,否那么進(jìn)行下一輪的比擬,直到選擇出適宜的檔位。軟件實現(xiàn)流程圖如圖4.4所示圖4.4量程自動轉(zhuǎn)換流程圖5系統(tǒng)調(diào)試及性能分析5.1調(diào)試與測試采用Keil軟件進(jìn)行源程序編譯,用Proteus軟件對其進(jìn)行仿真。同時進(jìn)行硬件電路板的設(shè)計制作。燒好程序后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓、電流的比照測試.5.2性能分析由于單片機(jī)為8位處理器,當(dāng)輸入電壓為5V時,輸出數(shù)據(jù)值為255〔FFH〕。因此單片機(jī)最大的數(shù)值分辨率為0.0196V〔5/255〕。這就決定了該電壓表、電流表的最大分辨率〔精度〕只能到達(dá)0.0196V。測試時電壓/電流數(shù)值的變化一般以0.02的幅度變化。如果要想獲得更高的精度,應(yīng)采用12位、13位的A/D轉(zhuǎn)換器。6結(jié)束語6.1設(shè)計總結(jié)本次設(shè)計的課題是《基于單片機(jī)的電壓電流測量系統(tǒng)》,首先從課題中我們可以看出,這次設(shè)計主要涉及到的是關(guān)于單片機(jī)的知識。而之所以使用單片機(jī)作為本次設(shè)計的核心,就個人理解而言,單片機(jī)現(xiàn)在是社會上應(yīng)用比擬廣泛的器件,并且能在設(shè)計的同時鍛煉大家的語言編程能力,養(yǎng)成良好的語言編程風(fēng)格。6.2設(shè)計的心得課程設(shè)計是一個綜合性的實踐課程,是將理論聯(lián)系到實際中的實驗過程,是考察學(xué)生就最近知識以及綜合知識掌握能力,同時也能讓同學(xué)更好的理解甚至于學(xué)習(xí)相關(guān)內(nèi)容。從拿到本次設(shè)計任務(wù)后,開始查閱資料,對課設(shè)計課題進(jìn)行論證,到設(shè)計電路,軟件上的程序編寫到仿真、調(diào)試,硬件上元器件確定、選型及電路搭建,軟硬件聯(lián)調(diào),直到論文文本的撰寫。最終完成所設(shè)計工程數(shù)字電壓、電流表的設(shè)計,這一過程鍛煉了我們對單片機(jī)應(yīng)用系統(tǒng)的設(shè)計及動手能力。近兩周的課程設(shè)計實踐,使我深深的體會到理論結(jié)合實際的重要性,在設(shè)計過程中要特別細(xì)心,在軟件中可能是一個標(biāo)點(diǎn)或一個字母的問題,而導(dǎo)致運(yùn)行錯誤;在硬件搭建中更是如此,焊接、連線的牢固性,還要防止短路和斷路。所以每一個環(huán)節(jié)都是不可大意的。另外,大家在一起討論,互相學(xué)習(xí),讓我更深地體會到同學(xué)間互相幫助的作用。在軟、硬件調(diào)試過程中,真的培養(yǎng)了我的耐心。軟件的調(diào)試——修改——再調(diào)試,如此反復(fù),最終完成了設(shè)計的局部任務(wù),但設(shè)計還存在很多問題,沒有完全到達(dá)設(shè)計要求。而且精度也存在問題,有待改良。在不斷的學(xué)習(xí)與討論中,我對單片機(jī)知識有了更為深刻的認(rèn)識與體會。在收獲的同時,我也受益非淺深感自身理論知識的欠缺與動手能力的缺乏,在以后的學(xué)習(xí)及設(shè)計中,還要不斷的努力。由于時間的緊缺和許多課業(yè)的繁忙,此次設(shè)計沒有很好的完成。但是,從根底而言,我們還沒有放棄。相信以后我們會以更加積極地太對對待我們的畢業(yè)設(shè)計,甚至于今后的人生。7致謝詞本次課程設(shè)計結(jié)束了,首先要感謝此次給與指導(dǎo)的王勝老師。由于設(shè)計時間的匆忙性,本次設(shè)計并沒有要求大家以實物為設(shè)計結(jié)點(diǎn)。所以有很多問題存在,甚至于是很大的課題謬論,但王勝老師給與的指導(dǎo)都能很好的解決此類問題。他總是耐心地和我們一起探討、分析,再讓我們自己解決。這樣,我們不但解決了問題,還從中學(xué)到了更多知識。王老師淵博的知識、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)、以及友善的態(tài)度是我以后學(xué)習(xí)和生活上的典范。同時,我要感謝我們班的幾位同學(xué),當(dāng)我遇到一些措手不及又難以解決的問題時,是在他們的熱心幫助下,才一一得以解決。最后,要感謝我們系里給我們這次理論結(jié)合實踐的時機(jī),一次作為電子系學(xué)生的最有意義的作業(yè)。本次設(shè)計結(jié)束的同時也意味著一次良好的知識學(xué)習(xí)時機(jī)也隨之而逝,并且在接下來的大學(xué)課程中,都不會有此類的時機(jī)留于我們。附錄附錄1參考文獻(xiàn)[1]《單片機(jī)原理及接口技術(shù)》余錫存曹國華西安電子科技大學(xué)2000.7[2]《單片機(jī)典型模塊設(shè)計實例導(dǎo)航》求是科技人民郵電出版社2005.6[3]《MCS-51單片機(jī)應(yīng)用開發(fā)實用子程序》邊春遠(yuǎn)人民郵電出版社2005.9[4]《單片機(jī)在電子電路設(shè)計中的應(yīng)用》赫建國等清華大學(xué)出版社2006.5[5]《電子技術(shù)根底數(shù)字局部》康華光高等教育出版社2004.4[6]《單片機(jī)C語言編程與例如》趙亮等人民郵電出版社2003.9[7]《C程序設(shè)計〔第二版〕》譚浩強(qiáng)清華大學(xué)出版社1999.12[8]《電子技術(shù)根底模擬局部》康華光高等教育出版社2004.7[9]《單片機(jī)原理及應(yīng)用技術(shù)》胡輝、王曉等中國水利水電出版社2005.7[10]《電子測量技術(shù)根底》楊永瑞、劉振起等西安電子科技大學(xué)出版社2006.1[11]《智能電壓表中量程自動轉(zhuǎn)換電路研究》張國恒等西北師范大學(xué)學(xué)報2006.4[12]《電路.模擬.A/D轉(zhuǎn)換及D/A轉(zhuǎn)換》童永承、顧家林等科學(xué)出版社2004.7[13]《單片機(jī)原理與應(yīng)用技術(shù)》魏立峰、王寶興北京大學(xué)出版社2006.8[14]《8051單片機(jī)根底教程》陳明熒北京:科學(xué)出版社2003[15]《單片機(jī)應(yīng)用系統(tǒng)設(shè)計與產(chǎn)品開發(fā)》馮建華、趙亮人民郵電出版社2004.11[16]《新編MCS-51單片機(jī)應(yīng)用技術(shù)》張毅剛等哈爾濱工業(yè)大學(xué)出版社2003.7[17]《單片機(jī)應(yīng)用開發(fā)實例》劉文濤清華大學(xué)出版社2005.9[18]《單片機(jī)語言C51程序設(shè)計》趙文博等人民郵電出版社2005.。10[19]《51單片機(jī)應(yīng)用程序開發(fā)典型實例》戴佳、苗龍等中國電力出版社2005.9[20]《精通8051程序設(shè)計》[美]MykePredko人民郵電出版社2006.3附錄2系統(tǒng)總電路圖附錄3源程序#include<reg52.h>#include<intrins.h#defineByteunsignedchar#defineWordunsignedintsbitDisClk=P2^7;sbitDisDat=P2^6;sbitA1=P0^0;sbitB1=P0^1;sbitC1=P0^2;sbitD1=P0^3;/*功能:ADC0809接口程序目標(biāo)芯片:AT89S52單片機(jī)占用資源:采集到的數(shù)字量接P1口、MCUADC0809變量名稱P3.7START/ALEADC_STP3.5EOCADC_EOCP3.6OEADC_OEALECLK〔經(jīng)二分頻〕無用戶接口函數(shù):ByteADC0809(void)*/#defineAdcDataP1 //ADC輸出的數(shù)字量接單片機(jī)P1口#defineN10 //滑動平均濾波隊列長度ByteValueBuf[N]; //滑動平均濾波隊列ByteFilterCnt=0; //隊列指針sbitADC_ST=P3^7; //START&ALEsbitADC_EOC=P3^5; //EOCsbitADC_OE=P3^6; //OUTPUTENABLE--OEByteADC0809(void){Bytei;ADC_ST=1; //啟動ADC0809,鎖存轉(zhuǎn)換通道地址,開始轉(zhuǎn)換for(i=10;i>0;i--) ; //微秒級延時,保持高電平一段時間ADC_ST=0;while(!ADC_EOC) ; //等待ADC0809轉(zhuǎn)換結(jié)束ADC_OE=1; //使能ADC0809輸出i=AdcData; //MCU采集ADC0809的數(shù)字量ADC_OE=0; //關(guān)ADC0809輸出使能return(i); //返回采集到的數(shù)字量}BytePingFilter(void) //滑動平均值濾波//==========================================================================={intCount;intSum; ValueBuf[FilterCnt++]=ADC0809(); if(FilterCnt==N) { FilterCnt=0; } for(Count=0;Count<N;Count++) { Sum+=ValueBuf[Count]; } re

溫馨提示

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

最新文檔

評論

0/150

提交評論