畢業(yè)設(shè)計(jì)(論文)基于89C52單片機(jī)的數(shù)字式工頻有效值多用表設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于89C52單片機(jī)的數(shù)字式工頻有效值多用表設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于89C52單片機(jī)的數(shù)字式工頻有效值多用表設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于89C52單片機(jī)的數(shù)字式工頻有效值多用表設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于89C52單片機(jī)的數(shù)字式工頻有效值多用表設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、徐州師范大學(xué)生畢業(yè)設(shè)計(jì) 數(shù)字式工頻有效值多用表目 錄摘要 abstract1 緒論1 1.1 數(shù)字式工頻有效值多用表的功能1 1.2 數(shù)字式工頻有效值多用表的研究背景1 1.3 數(shù)字式工頻有效值多用表開(kāi)發(fā)意義22 總體方案論證33 硬件設(shè)計(jì)5 3.1 放大電路設(shè)計(jì)5 3.2 數(shù)據(jù)采集電路設(shè)計(jì)8 3.3 相角測(cè)量電路設(shè)計(jì)13 3.4 鍵盤(pán)/顯示電路設(shè)計(jì)13 3.5 看門(mén)狗電路設(shè)計(jì)16 3.6 數(shù)字式工頻有效值多用表的工作原理18 3.7 單片機(jī)的選用194 軟件設(shè)計(jì)21 4.1 數(shù)字式工頻有效值多用表的總流程圖21 4.2 交流信號(hào)的相角測(cè)量22 4.3 交流信號(hào)的采集程序23 4.4 計(jì)算電壓

2、、電流有效值程序24 4.5 功率因數(shù)子程序-28 4.6 看門(mén)狗子程序29 4.7 鍵盤(pán)/顯示子程序30 4.8 數(shù)字式工頻有效值多用表的自檢32 4.9 數(shù)字式工頻有效值多用表的自動(dòng)量程轉(zhuǎn)換37結(jié)論39致謝40參考文獻(xiàn)41摘 要本次設(shè)計(jì)的數(shù)字式工頻有效值多用表采用 89c52單片機(jī)作為核心 ,充分利用其內(nèi)部的 8kb程序存儲(chǔ)器和 256b的數(shù)據(jù)存儲(chǔ)器來(lái)進(jìn)行數(shù)據(jù)的實(shí)時(shí)采樣與處理;外圍使用12位的a/d轉(zhuǎn)換器可使測(cè)量精度高;利用數(shù)字電位器實(shí)現(xiàn)增益自動(dòng)控制,從而滿(mǎn)足各種量程的測(cè)量精度。該表可測(cè)量電壓有效值、電流有效值、有功功率、無(wú)功功率、功率因數(shù)等參數(shù) 。本文首先介紹了數(shù)字式工頻有效值多用表的作

3、用,描述了系統(tǒng)的設(shè)計(jì)過(guò)程,給出了系統(tǒng)的組成框圖及各部分的原理圖;說(shuō)明了核心部件數(shù)字式電位器x9241的結(jié)構(gòu)、性能特點(diǎn);簡(jiǎn)述了交流采樣法的原理及實(shí)現(xiàn)過(guò)程;對(duì)系統(tǒng)的軟件設(shè)計(jì)也進(jìn)行了敘述,給出了部分軟件流程圖。該數(shù)字式工頻有效值多用在器件上盡量做到使硬件線路簡(jiǎn)單,充分利用軟件編程,彌補(bǔ)元器件的精度的不足。關(guān)鍵詞: 多用表 單片機(jī) 數(shù)字電位器 交流采樣 abstractthe design of power frequency rms dmm based on at89c52 microcomputer. data gathering and calculating only depend on th

4、e inner 8kb code-ram and 256b data-ram of 89c52.the exterior 12bit a/d and digital electric-device improve the precision, can measure effective value of voltage and effective value of electric current, active power, reactive power, power factor and so on.in this paper, the functions of digital alter

5、nating current parameter multi-function meter are introduced. the system design process is described. the constitute frame diagram and each part on-lines diagram are given. the construction and function characteristics of core digitally controllable variable resistors x9241 are elucidated. the princ

6、iple with realized process of ac sampling methods are described in brief. the software design of system is described also. the part software blocks are given.the digital dmm spent on devices do as much as a simple hardware circuits, and make full use of software programming, components make up for t

7、he lack of accuracy. due to limited, and there is a need to improve the design of the paper. for example, before using high precision components, and measurement algorithm further perfect. keywords : dmm single chip microcomputer digital potentiometer exchange sampling1 緒 論1.1 數(shù)字式工頻有效值多用表的功能本設(shè)計(jì)實(shí)現(xiàn)了一個(gè)

8、多功能的數(shù)字多用表。此表除了能測(cè)直流電壓,直流電流,還利用單片機(jī)的控制、運(yùn)算功能,根據(jù)離散積分公式,基于對(duì)電力系統(tǒng)參數(shù)進(jìn)行交流采樣的思想,實(shí)現(xiàn)了同時(shí)對(duì)一路工頻交流電的頻率、電壓有效值、電流有效值的測(cè)量。用軟件計(jì)算出有功功率、無(wú)功功率、功率因數(shù)、利用數(shù)字電位器,使系統(tǒng)具有自校準(zhǔn)、自動(dòng)量程轉(zhuǎn)換功能。系統(tǒng)充分發(fā)掘了單片機(jī)的運(yùn)算能力,以軟件代替硬件電路,使硬件電路大大簡(jiǎn)化。本系統(tǒng)利用了數(shù)字電位器調(diào)節(jié)準(zhǔn)確方便,使用壽命長(zhǎng),受外部環(huán)境影響小,性能穩(wěn)定等特點(diǎn)。1.2 數(shù)字式工頻有效值多用表的研究背景所謂數(shù)字式儀表,就是將被測(cè)對(duì)象離散化、數(shù)據(jù)處理后以數(shù)字式顯示的儀表。第一臺(tái)數(shù)字儀表出現(xiàn)于20世紀(jì)50年代初,之

9、后隨著電子技術(shù)的迅速發(fā)展,數(shù)字式儀表與數(shù)字化測(cè)量技術(shù)獲得了迅速的發(fā)展。目前國(guó)內(nèi)外已生產(chǎn)有許多種測(cè)量并具有很寬技術(shù)特性范圍的數(shù)字儀表,如電壓表、電流表、功率表、電能表、計(jì)數(shù)器、萬(wàn)用表、頻率計(jì)等。數(shù)字儀表與模擬式指示儀表相比具有很多優(yōu)點(diǎn)。比如:準(zhǔn)確度高、靈敏度高、輸入阻抗高、操作簡(jiǎn)單、測(cè)量速度快等。數(shù)字式儀表目前主要缺點(diǎn)是:結(jié)構(gòu)復(fù)雜、成本高、維修困難、觀察動(dòng)態(tài)過(guò)程不直觀。但是,隨著電子工業(yè)的發(fā)展,大規(guī)模集成電路工藝水平的提高,數(shù)字式儀表的上述缺點(diǎn)將越來(lái)越小。從模擬到數(shù)字,從單一通道到綜合多通道測(cè)量的發(fā)展,從單個(gè)儀表向測(cè)量信息系統(tǒng)過(guò)度,將各種電學(xué)量和非電學(xué)量變換成統(tǒng)一量(時(shí)間、頻率、直流電壓)后進(jìn)行

10、測(cè)量等,是近十年來(lái)測(cè)量技術(shù)發(fā)展的主要趨勢(shì)。按儀器出現(xiàn)的先后順序和先進(jìn)性,可將儀器儀表劃分為三大類(lèi)產(chǎn)品。第一類(lèi)產(chǎn)品是模擬式儀器儀表。這種儀表至今仍在廣泛地使用著。比如指針式的電壓表、電流表、功率表等。第二類(lèi)產(chǎn)品是數(shù)字肢儀器儀表,它在準(zhǔn)確度和靈敏度等方面都遠(yuǎn)遠(yuǎn)優(yōu)于模擬式儀表。這類(lèi)儀器儀表的基本工作原理是將模擬量變?yōu)閿?shù)字量,采用邏輯運(yùn)算硬件電路實(shí)現(xiàn)測(cè)量功能。這類(lèi)儀器儀表的發(fā)展很快,目前正在各個(gè)領(lǐng)域被廣泛地使用。第三類(lèi)產(chǎn)品是智能儀器儀表,它的基本原理是借助計(jì)算機(jī)(pc)采用軟件替代部分硬件實(shí)現(xiàn)邏輯運(yùn)算與數(shù)據(jù)傳輸、存儲(chǔ)等功能,所以也被稱(chēng)之為微機(jī)化儀器儀表。它具有數(shù)據(jù)采集、顯示數(shù)字處理及優(yōu)化和控制功能。智

11、能儀器儀表將朝著開(kāi)放儀器的體系結(jié)構(gòu)(pc儀器系統(tǒng))和虛擬儀器方向發(fā)展,是今后一個(gè)時(shí)期儀器儀表發(fā)展的一個(gè)重要方向。1.3 數(shù)字式工頻有效值多用表的開(kāi)發(fā)意義與普通的模擬多用表相比,數(shù)字式多用表的測(cè)量功能較多,它不但能測(cè)量直流電壓、直流電流等參數(shù),而且能測(cè)量交流電壓、交流電流、功率、功率因數(shù)等。除測(cè)量功能外,還有自動(dòng)量程轉(zhuǎn)換、自檢等功能。普通多用表具有電路簡(jiǎn)單、成本低、測(cè)量、使用方便等特點(diǎn)。但測(cè)量精度較差,它的使用和發(fā)展受到了一定的限制。而數(shù)字式多用表具有很高的靈敏度和準(zhǔn)確度,顯示清晰直觀、功能齊全、性能穩(wěn)定、可靠性好、省電、小巧輕便等優(yōu)點(diǎn)。由于數(shù)字式多用表具有很多優(yōu)點(diǎn),因此,得到了迅速發(fā)展和普及,

12、具有開(kāi)發(fā)的意義。2 總體方案論證方案一:系統(tǒng)采用對(duì)電壓、電流信號(hào)分別測(cè)量,測(cè)量功率時(shí)則將電壓、電流信號(hào)取出,然后進(jìn)行功率計(jì)算,原理框圖如圖2-1所示。整個(gè)系統(tǒng)是采用模擬控制方式,硬件電路實(shí)現(xiàn)復(fù)雜,功率因數(shù)測(cè)量難以實(shí)現(xiàn),系統(tǒng)還不能實(shí)現(xiàn)復(fù)雜的控制算法。圖2-1 方案一原理框圖方案二:采用89c52單片機(jī)來(lái)實(shí)現(xiàn)。單片機(jī)軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種控制算法和邏輯控制。 多用表的組成框圖如圖2-2所示。由四組開(kāi)關(guān)來(lái)決定直流電壓,直流電流,交流電壓,交流電流的輸入.直流部分,直流電壓,直流電流經(jīng)過(guò)分壓后經(jīng)a/d轉(zhuǎn)換后送入單片機(jī),由單片機(jī)計(jì)算電壓,電流的有效值以及功率.交流部分,交流信號(hào)放大

13、后,一方面由過(guò)零比較電路轉(zhuǎn)為方波信號(hào),由單片機(jī)計(jì)數(shù)器測(cè)量出信號(hào)周期和測(cè)量出電壓、電流之間的相位差;同時(shí)電壓、電流信號(hào)經(jīng)a/d采樣轉(zhuǎn)換后送入單片機(jī)。單片機(jī)系統(tǒng)在每個(gè)信號(hào)周期內(nèi)分別采樣n個(gè)電壓、電流值,根據(jù)離散積分公式計(jì)算出電壓、電流的有效值以及有功功率、無(wú)功功率、功率因數(shù)。在測(cè)量過(guò)程中,單片機(jī)系統(tǒng)根據(jù)不同的信號(hào)有效值,自動(dòng)改變數(shù)字電位器的參數(shù),以改變信號(hào)放大倍數(shù),使系統(tǒng)對(duì)信號(hào)采樣保持在最佳線性狀態(tài),保證了測(cè)量的精度。比較以上兩種方案,方案一是模擬控制方式,而模擬控制系統(tǒng)難以實(shí)現(xiàn)復(fù)雜控制和計(jì)算,控制方案的改善也較麻煩。方案二是采用以89c52為控制核心的單片機(jī)控制系統(tǒng),可以實(shí)現(xiàn)顯示、打印、與微機(jī)通

14、訊等功能,大大提高了系統(tǒng)的智能化,并且系統(tǒng)所測(cè)結(jié)果的精度有很大提高。故經(jīng)過(guò)對(duì)兩種方案的比較,本設(shè)計(jì)及制作采用了方案二。圖2-2 多用表的組成框圖3 硬件設(shè)計(jì)3.1 放大電路設(shè)計(jì)3.1.1 放大電路的方案比較方案一:采用集成運(yùn)放芯片op07對(duì)電壓、電流信號(hào)進(jìn)行放大處理,如圖3-1所示:圖3-1 信號(hào)放大電路可根據(jù)理論公式進(jìn)行計(jì)算選擇不同的阻值就可以選擇不同的放大倍數(shù)。r1選用4k,r2選用1k,r3選用0.8k時(shí),放大倍數(shù)可以達(dá)到5倍,但是由于系統(tǒng)的影響,放大倍數(shù)不能達(dá)到準(zhǔn)確的倍數(shù),并且這種放大處理不能同時(shí)滿(mǎn)足對(duì)大小信號(hào)的處理,在放大器的前端還要加上一個(gè)電壓比較電路把電壓信號(hào)和基準(zhǔn)電壓進(jìn)行比較,

15、電壓大于1v時(shí)則不需要放大處理。方案二 電路如圖3-2所示,以數(shù)字電位器x9241作為運(yùn)算放大器op-07的反饋電阻,這樣可根據(jù)輸入信號(hào)的幅度大小,選擇不同的放大倍數(shù),實(shí)現(xiàn)量程的自動(dòng)轉(zhuǎn) 換。芯片x9241具有四個(gè)非易失性數(shù)控電位器單元,每個(gè)單元有63個(gè)可以被滑動(dòng)單元訪問(wèn)的抽頭點(diǎn),單片機(jī)可通過(guò)x9241的串行接口(scl,sda)改變?nèi)我庖粋€(gè)電位器的輸出阻值。在本系統(tǒng)中,通過(guò)對(duì)不同信號(hào)幅度的判斷,來(lái)調(diào)整x9241的電阻值,使運(yùn)算放大器的放大倍數(shù)改變,保證系統(tǒng)工作于最佳線性狀態(tài),并實(shí)現(xiàn)了量程的自動(dòng)轉(zhuǎn)換。這樣能同時(shí)滿(mǎn)足對(duì)大小信號(hào)的處理,硬件電路簡(jiǎn)單,容易實(shí)現(xiàn)。 本設(shè)計(jì)采用了這種方案。圖 3-2 信號(hào)

16、放大電路3.1.2 數(shù)字電位器x92411. x9241概述x9241是在單一芯片上集成了4個(gè)10k數(shù)字電位器,每個(gè)電位器的滑動(dòng)端共有64個(gè)離散的調(diào)節(jié)節(jié)點(diǎn),并有4個(gè)8bit的e2prom數(shù)據(jù)寄存器以及一個(gè)滑刷控制寄存器(wcr)??梢酝ㄟ^(guò)相應(yīng)指令使電位器的wcr(滑刷控制寄存器)與某個(gè)數(shù)據(jù)寄存器相關(guān)聯(lián),也可以直接控制wcr以達(dá)到改變電位器滑動(dòng)端位置的目地。x9241芯片具有i2c總線接口,可以實(shí)現(xiàn)寄存器映射、改變滑刷位置以及進(jìn)行電位器級(jí)聯(lián)等操作。x9241采用20引腳雙列直插封裝。其中vwi(i03)為四個(gè)獨(dú)立的10k電位器的滑動(dòng)端;vli(i03)分別為四個(gè)電位器的兩個(gè)終端;a3,a2,a1

17、,a0為x9241芯片的設(shè)備地址;scl,sda分別為i2c接口的串行時(shí)鐘和串行數(shù)據(jù)線。x9241的工作電壓為5v。2. x9241的結(jié)構(gòu)原理 a.電阻陣列x9241內(nèi)部包括一個(gè)i2c接口和四個(gè)數(shù)字電位器。每個(gè)數(shù)字電位器由電阻陣列及與之對(duì)應(yīng)的滑動(dòng)端計(jì)數(shù)寄存器wcr、四個(gè)8位數(shù)據(jù)寄存器r0r3等部分構(gòu)成。電阻陣列。每個(gè)電阻陣列由63個(gè)串聯(lián)連接的分立的電阻段組成。每個(gè)電阻陣列的物理終端等效于機(jī)械電位器的固定端(vh和vl輸入端)。每個(gè)陣列的vh和vl以及每個(gè)電阻段之間的接點(diǎn)(即抽頭)通過(guò)fet開(kāi)關(guān)連接滑動(dòng)輸出端vw;而滑動(dòng)端vw在電阻陣列中的位置由wcr控制。 x9241引腳vw0、vw1、vw2

18、及vw3分別為四個(gè)電位器的滑動(dòng)端;vl0、vl1、vl2及vl3分別為四個(gè)電位器的低端;vh0、vh1、vh2及vh3分別為四個(gè)電位器的高端;a0、a1、a2及a3為地址線(用來(lái)設(shè)置從屬地址低4位);sda及scl分別為串行數(shù)據(jù)和串行時(shí)鐘;vcc及vss分別為電源和地b.滑動(dòng)端計(jì)數(shù)寄存器wcr滑動(dòng)端計(jì)數(shù)寄存器wcr實(shí)際上是一個(gè)6位帶有譯碼輸出的計(jì)數(shù)器,用來(lái)實(shí)現(xiàn)選擇六十四選一的fet開(kāi)關(guān)的位置,即控制滑動(dòng)端在電阻陣列中的位置。wcr是一種易失性存貯器,其內(nèi)容可通過(guò)指令改寫(xiě),上電時(shí)裝入數(shù)據(jù)寄存器r0的內(nèi)容。 c.數(shù)據(jù)寄存器數(shù)據(jù)寄存器的內(nèi)容可由用戶(hù)讀出或?qū)懭?,其?nèi)容可傳輸?shù)交瑒?dòng)計(jì)數(shù)寄存器wcr以設(shè)置

19、滑動(dòng)端的位置。每個(gè)數(shù)字電位器有四個(gè)8位非易失性數(shù)據(jù)寄存器r0r3d.串行接口x9241支持i2c串行雙向總線的定向規(guī)約:實(shí)際應(yīng)用時(shí)x9241為從器件,由主機(jī)啟動(dòng)數(shù)據(jù)的傳輸,并為發(fā)送和接收操作提供時(shí)鐘3. x9241的主要參數(shù) x9241的主要性能參數(shù)如下: sck,scl或其它地址輸入端相對(duì)于vss的電壓為17v; vh或vl相對(duì)于vss的電壓范圍為8v; vvhvl為16v; x9241工作電壓范圍為5v10。因?yàn)関h或vl相對(duì)于vss的電壓范圍是8v,所以x9241可以不受數(shù)字電 路05v電源窗口的制約而廣泛地應(yīng)用于各種具有正負(fù)電源的模擬電路。3.2 數(shù)據(jù)采集電路設(shè)計(jì)3.2.1 數(shù)據(jù)采集電

20、路的方案比較方案一:因?yàn)橐獪y(cè)出功率值,所以一個(gè)周期內(nèi)要對(duì)交流電壓、電流信號(hào)同時(shí)取點(diǎn)采樣。用單片機(jī)對(duì)信號(hào)進(jìn)行測(cè)量時(shí),程序運(yùn)行需要占用時(shí)間,因而不能對(duì)電壓、電流信號(hào)進(jìn)行同時(shí)測(cè)量,只能分開(kāi)測(cè)量,先在一個(gè)周期測(cè)電壓值,再在下一個(gè)周期測(cè)電流值。方案電路簡(jiǎn)單,全部通過(guò)軟件實(shí)現(xiàn)。但所測(cè)值與實(shí)際值有誤差。因?yàn)樗鶞y(cè)電壓、電流信號(hào)不為同步信號(hào),功率值也有誤差。方案二:電路如圖3-3所示,通過(guò)模擬開(kāi)關(guān)mc14051選擇輸入信號(hào),同時(shí)為了減小采樣的孔徑時(shí)間引起的孔徑,在a/d轉(zhuǎn)換器之前加一個(gè)采樣/保持電路lf398,該芯片具有采樣速率高,保持電壓下降慢和精度高等特點(diǎn),電壓信號(hào)送至a/d轉(zhuǎn)換器ad574,其間以跟隨器隔

21、離,這樣整個(gè)電路系統(tǒng)避免了采樣的孔徑時(shí)間以及器件間影響引起的誤差,保證了系統(tǒng)測(cè)量精度。此設(shè)計(jì)采用了這種方案。圖3-3 采樣/保持電路3.2.2 模擬開(kāi)關(guān)cd4051多路開(kāi)關(guān)的主要用途是把模擬信號(hào)分時(shí)地送入a/d轉(zhuǎn)換器,或者把經(jīng)計(jì)算機(jī)處理后的數(shù)據(jù)由d/a轉(zhuǎn)換器轉(zhuǎn)換成的模擬信號(hào),按一定的順序輸出到不同的控制回路中去。前者 稱(chēng)為多路開(kāi)關(guān),完成多到一的轉(zhuǎn)換;后者稱(chēng)為反多路開(kāi)關(guān)或多路分配器,完成一到多的轉(zhuǎn)換。多路開(kāi)關(guān)的種類(lèi)很多,例如cd4051(雙向8路)、cd4066(4路單向)、cd7501(單向8路)、 cd4052(單向,差動(dòng),4路)等等。所謂單向,就是既可以實(shí)現(xiàn)多到一的轉(zhuǎn)換,也可以完成一到多的

22、轉(zhuǎn)換。而單向則只能完成多到一的轉(zhuǎn)換。差動(dòng)即同時(shí)有兩個(gè)開(kāi)關(guān)動(dòng)作,從而完成差動(dòng)信號(hào)的傳輸。cd4051是雙向8通道多路開(kāi)關(guān)。它由電平轉(zhuǎn)換譯碼/驅(qū)動(dòng)和開(kāi)關(guān)電路三部分組成,其中電平轉(zhuǎn)換可實(shí)現(xiàn)coms到ttl邏輯電平的轉(zhuǎn)換,因此,加到通道選擇輸入的控制信號(hào)的電平幅度可為3v20v.同時(shí),最大模擬信號(hào)的峰值可達(dá)20v。cd4051帶有三個(gè)通道選擇輸入端a,b,c和一個(gè)禁止端。當(dāng)cba為000111b時(shí),可產(chǎn)生8選1控制信號(hào),使8路通道中的某一通道的輸入和輸出接通。當(dāng)inh為0是,允許通道接通;當(dāng)inh為1是,禁止通道接通。其真值表如表2-1所示。改變cd405的 in/out 07及out/in的傳遞通道

23、方向,可用做多路開(kāi)關(guān)和反多路開(kāi)關(guān)。表3-1 cd4051真值表inhc b a接通通道號(hào)0000in00001in10010in20011in30100in40101in50110in60111in71xxx-通常在單組電源供電條件下工作的cmos電路所提供的數(shù)字信號(hào)能直接控制這種多路開(kāi)關(guān),并使這種多路開(kāi)關(guān)可傳輸峰此外,cd4051還設(shè)有另外一個(gè)電源端vee,以作為電平位移時(shí)使用,從而使得峰值達(dá)15v的交流信號(hào)。例如,若模擬開(kāi)關(guān)的供電電源vdd=5v,vss=0v,當(dāng)vee=5v時(shí),只要對(duì)此模擬開(kāi)關(guān)施加05v的數(shù)字控制信號(hào),就可控制幅度范圍為5v5v的模擬信號(hào)。3.2.3 采樣/保持器 lf3

24、98 1. 功能 在a/d轉(zhuǎn)換器對(duì)模擬信號(hào)進(jìn)行轉(zhuǎn)換的過(guò)程中,需要有一定的穩(wěn)定時(shí)間,為了保證a/d轉(zhuǎn)換的精度,在轉(zhuǎn)換時(shí)間內(nèi)模擬信號(hào)應(yīng)保持在采時(shí)的幅度不變,因此,在轉(zhuǎn)換器的前端應(yīng)加入采樣/保持電路(s/h)。如果輸入模擬量是直流量或者被測(cè)信號(hào)模擬量隨時(shí)間變化緩慢,s/h電路也可以省去。2. 工作原理采樣/保持電路有采樣和保持兩種運(yùn)行狀態(tài) ,其原理由圖 說(shuō)明。圖2-6中,電容c為保持電容,運(yùn)放a1和a2都接成跟隨器,其運(yùn)行狀態(tài)由方式控制端來(lái)決定。在采樣狀態(tài)下采樣命令通過(guò)方式控制輸入端控制s閉合,由于跟隨器a1的 隔離作用,輸入模擬電壓以很快的速度給c充電,輸出隨輸入變化。在保持狀態(tài)下,控制 s打開(kāi),

25、此時(shí)由于跟隨器 a2的隔離作用,電容c兩端的電壓(即輸出電壓)將保持在命令出時(shí)的輸入電壓不變,直到新的采樣命令到為止。 圖 3-4 采樣/保持電路3. 采樣/保持的技術(shù)指標(biāo)孔徑時(shí)間(tap):孔徑時(shí)間是指發(fā)出保持指令到開(kāi)關(guān)真正打開(kāi)所需要的時(shí)間。這一延遲回產(chǎn)生一個(gè)幅度誤差(稱(chēng)孔徑誤差),顯然,輸入信號(hào)頻率愈低,孔徑誤差愈小,則孔徑時(shí)間對(duì)轉(zhuǎn)換精度影響就愈小??讖綍r(shí)間一般在10ns20ns量級(jí)。捕捉時(shí)間(tac):所謂捕捉時(shí)間是指從開(kāi)始采樣至采樣保持器輸出達(dá)到當(dāng)前輸入信號(hào)的值所需要的時(shí)間。它與保持電容器的電容值,放大器的頻響時(shí)間以及輸入信號(hào)的變化幅度有關(guān)。顯然,a/d轉(zhuǎn)換的采樣時(shí)間必須大于捕捉時(shí)間,

26、才能保證采樣階段充分地采集到輸入模擬信號(hào)。一般采樣/保持電路0.01%的捕捉時(shí)間在300ns15s。保持電壓的下降:保持電壓的下降是指在保持狀態(tài)下,由于保持電容的漏電流和其他漏電流而引起的保持電壓的下降,其值一般在0.1v/s1v/s。饋送:饋送是指在保持期間由于輸入信號(hào)電壓變化而引起輸出電壓變化的程度,其值一般在0.01%0.001%。因而僅對(duì)高精度的a/d轉(zhuǎn)換器有影響。電壓增益精度:電壓增益精度是指當(dāng)環(huán)境和電源變化時(shí),電壓增益可以保持的精度。4. lf398采樣保持器lf398價(jià)格低廉,在國(guó)內(nèi)應(yīng)用非常廣泛。它有8個(gè)引腳,結(jié)構(gòu)框圖如3-5所示:圖3-5 lf398的結(jié)構(gòu)圖2腳接1k電阻,用于

27、調(diào)節(jié)漂移電壓,7腳和8腳是兩個(gè)控制端,控制開(kāi)關(guān)的關(guān)斷。7腳接參考電壓,8腳接控制信號(hào)。參考電壓應(yīng)根據(jù)控制信號(hào)的電平來(lái)選擇。如7腳接地,則8腳接控制信號(hào)大于14v時(shí),lf398處于采樣狀態(tài);如8腳為低電平, 則lf398處于保持狀態(tài)。6腳外接保持電容,它的選取對(duì)采樣保持電路的技術(shù)性能指標(biāo)至關(guān)重要,大電容可使系統(tǒng)得到較高精度,但采樣時(shí)間加長(zhǎng)。小電容可提高采樣頻率,但精度較低。3.2.4 12位a/d轉(zhuǎn)換器a/d574a/d574是12位快速逐次比較式a/d轉(zhuǎn)換器,其最快轉(zhuǎn)換時(shí)間為25s,轉(zhuǎn)換誤差為1lsb。ad574具有下述幾個(gè)基本特點(diǎn):片內(nèi)含有基準(zhǔn)電壓的時(shí)鐘電路等,因而外圍電路較少;數(shù)字量輸出具

28、有三態(tài)緩沖器,因而可直接微處理器接口;模擬量輸入有單極性和雙極性?xún)煞N方式,接成單極性方式時(shí),輸入電壓范圍為0v10v或0v20v,接成雙極性方式時(shí),輸入電壓范圍為5v+5v 或10v10v。 主要引腳信號(hào)定義如下:數(shù)據(jù)模式選擇端,通過(guò)此引腳可選擇數(shù)據(jù)縱線是12位或8位輸出。 : 片選信號(hào),低電平有效。ce: 片使能信號(hào),高電平有效。:讀/啟動(dòng)轉(zhuǎn)換信號(hào),高時(shí)讀a/d轉(zhuǎn)換結(jié)果,低時(shí)啟動(dòng)a/d轉(zhuǎn)換。a0:a0信號(hào)具有兩種含義:當(dāng)為低時(shí),a0為高,啟動(dòng)8位a/d轉(zhuǎn)換;a0為低,啟動(dòng)12位a/d轉(zhuǎn)換。當(dāng)為高時(shí),a0為高,輸出低4位數(shù)據(jù);a0為低,輸出高8位數(shù)據(jù)。sts:工作狀態(tài)信號(hào),高表示正在轉(zhuǎn)換,低表

29、示轉(zhuǎn)換結(jié)果。ref in:基準(zhǔn)輸入線。 ref out:基準(zhǔn)輸出線。bip off:?jiǎn)螛O性補(bǔ)償。db11db0:12位數(shù)據(jù)線。10vin,20vin:模擬量輸入端。ad574a的ce、和a0對(duì)其工作狀態(tài)的控制過(guò)程。在ce=1、=0同時(shí)滿(mǎn)足時(shí),ad574a才會(huì)正常工作,在ad574處于工作狀態(tài)時(shí),當(dāng)=0時(shí)a/d轉(zhuǎn)換,當(dāng)=1是進(jìn)行數(shù)據(jù)讀出。和a0端用來(lái)控制啟動(dòng)轉(zhuǎn)換的方式和數(shù)據(jù)輸出格式。a0=0時(shí),啟動(dòng)的是按完整12位數(shù)據(jù)方式進(jìn)行的。當(dāng)a0=1時(shí),按8位a/d轉(zhuǎn)換方式進(jìn)行。當(dāng)=1,也即當(dāng)ad574a處于數(shù)據(jù)狀態(tài)時(shí),a0和控制數(shù)據(jù)輸出狀態(tài)的格式。當(dāng)=1時(shí),數(shù)據(jù)以12位并行輸出,當(dāng)=0時(shí),數(shù)據(jù)以8位分兩

30、次輸出。而當(dāng)a0=0時(shí),輸出轉(zhuǎn)換數(shù)據(jù)的高8位,a0=1時(shí)輸出a/d轉(zhuǎn)換數(shù)據(jù)的低4位,這四位占一個(gè)字節(jié)的高半字節(jié),低半字節(jié)補(bǔ)零??刂七壿嬚嬷当硪?jiàn)表3-2。 表3-2 ad574的控制邏輯真值表 ce a0操作 1 0 0 x 012位轉(zhuǎn)換 1 0 0 x 18位轉(zhuǎn)換 1 0 1 5v x 12位并行輸出 1 0 1 接地 0輸出高8位數(shù)據(jù) 1 0 1 接地 1輸出低4位數(shù)據(jù)3.3 相角測(cè)量電路設(shè)計(jì)相角測(cè)量電路由過(guò)零比較器、反相器及與非門(mén)組成,電路如圖3-6所示。電壓、電流信號(hào)通過(guò)比較器后形成方波,分別送至單片機(jī),引腳,由單片機(jī)計(jì)數(shù)測(cè)出其波形寬度,即可計(jì)算出周期及相位差,從而實(shí)現(xiàn)測(cè)量交流電頻率和功

31、率因數(shù)之目的。 圖3-6 相角測(cè)量電路3.4 鍵盤(pán)/顯示電路設(shè)計(jì)3.4.1 鍵盤(pán)/顯示電路原理圖鍵盤(pán)/顯示電路如圖3-7 所示,用8255的兩個(gè)端口設(shè)計(jì)的16只按鍵和4只七段lcd顯示。16只按鍵的功能為測(cè)量直流電壓、直流電流、交流電壓、交流電流、有功功率、無(wú)功功率、功率因數(shù),自動(dòng)、手動(dòng),0.1檔、1檔、10檔、100檔、1000檔,自檢,復(fù)位。七段顯示測(cè)量值和測(cè)試復(fù)位及自檢。3.4.2 可編程并行接口82558255各引腳含義如下:d07:數(shù)據(jù)線a01:地址線,用于選擇端口rd: 讀控制線,低電平有效wr:寫(xiě)控制線,低電平有效cs:片選線,低電平有效reset:復(fù)位信號(hào),高電平有效。8255

32、復(fù)位后,所有i/o均處于輸入狀態(tài)。a口:8位數(shù)據(jù)輸入鎖存器和8位數(shù)據(jù)輸出鎖存器/緩沖器圖3-7 鍵盤(pán)/顯示電路圖b口:8位數(shù)據(jù)輸入鎖存器和8位數(shù)據(jù)輸出鎖存器/緩沖器c口:8位數(shù)據(jù)輸入鎖存器和8位數(shù)據(jù)輸出鎖存器/緩沖器8255有3種工作方式,在8255中有一個(gè)控制字用來(lái)選擇工作方式和a、b、c三個(gè)端口。控制字和各位含義如下:d7d6d5d4d3d2d1d0d0:c口低四位。1-輸入,0-輸出d1:b口。1-輸入,0-輸出d2:b口工作方式選擇。0-方式0,1-方式1d3:c口高四位。1-輸入,0-輸出d4:a口。1-輸入,0-輸出d5:工作方式選擇 3.4.3 lcd液晶顯示驅(qū)動(dòng)器hef4543

33、hef4543是一位bcd-七段譯瑪帶數(shù)據(jù)鎖存功能的驅(qū)動(dòng)器,它可以驅(qū)動(dòng)發(fā)光二極管led的七段數(shù)碼管,也可以驅(qū)動(dòng)七段液晶顯示器件。hef4543原理框圖見(jiàn)圖3-8所示。當(dāng)鎖存端ld=1時(shí),鎖存器輸出隨數(shù)據(jù)輸入端dcba的變化而變化,當(dāng)ld=0時(shí),鎖存器保存最近數(shù)據(jù),并禁止鎖存器接受數(shù)據(jù)。hef4543還設(shè)置了顯示開(kāi)關(guān)信號(hào)bi。當(dāng)bi=1時(shí)關(guān)顯示。ph為驅(qū)動(dòng)相位控制端,它連接驅(qū)動(dòng)器中異或門(mén)的輸入端,控制著驅(qū)動(dòng)器輸出的相位。hef4543的真值表和譯碼表如表3-3所示。圖 3-8 hef4543原理框圖表3-3 hef4543的真值表和譯碼表 bi ld dcba 顯示1000x110x9 a-f

34、x無(wú)顯示0-9 無(wú)顯示 不變 3.5 看門(mén)狗電路設(shè)計(jì)3.5.1 看門(mén)狗電路原理圖系統(tǒng)在運(yùn)行時(shí),通常都會(huì)遇到各種各樣的現(xiàn)場(chǎng)干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個(gè)重要指標(biāo)??撮T(mén)狗(watchdog)電路是自行監(jiān)測(cè)系統(tǒng)運(yùn)行的重要保證。 看門(mén)狗電路一般有軟件看門(mén)狗和硬件看門(mén)狗兩種。軟件看門(mén)狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門(mén)狗系統(tǒng)也癱瘓。硬件看門(mén)狗是真正意義上的“程序運(yùn)行監(jiān)視器”。看門(mén)狗實(shí)際上是一個(gè)計(jì)數(shù)器,一般給看門(mén)狗一個(gè)大數(shù),程序開(kāi)始運(yùn)行后看門(mén)狗開(kāi)始倒計(jì)數(shù)。如果程序運(yùn)行正常,過(guò)一段時(shí)間cpu應(yīng)發(fā)出指令讓看門(mén)狗復(fù)位,重新開(kāi)始

35、倒計(jì)數(shù)。如果看門(mén)狗減到0就認(rèn)為程序沒(méi)有正常工作,強(qiáng)制整個(gè)系統(tǒng)復(fù)位。圖3-9 看門(mén)狗電路圖3-9 為at89c52與x5045的典型接口電路。x5045與單片機(jī)的接口是通過(guò)x5045的spi總線接口實(shí)現(xiàn),由于at89c52內(nèi)部沒(méi)有spi總線接口控制器,依次通過(guò)at89c52的p1.2、p1.3、p1.6、p1.7分別模擬spi總線的數(shù)據(jù)輸入、串行時(shí)鐘、數(shù)據(jù)輸出時(shí)序來(lái)實(shí)現(xiàn)對(duì)x5045的操作。信號(hào)一般不通過(guò)p2口選通,因?yàn)閜2口工作于地址總線時(shí),其不能保證片選持續(xù)有效。由于只能是位控方式連接,一般與單片機(jī)的p1口或p3口相接,圖2-11中用的是p1.2、p1.3、p1.6 p1.7分別與x5045的

36、片選端、串行輸入si、串行時(shí)鐘slk和串行輸出so相連,二者的reset引腳相連。按鈕開(kāi)關(guān)s和電阻組成復(fù)位電路,為單片機(jī)提供上電初始化和復(fù)位方式。系統(tǒng)時(shí)鐘電路選擇12mhz的晶振。3.5.2 x5045芯片x5045是一種集看門(mén)狗、電壓監(jiān)控和串行eeprom 三種功能于一身的可編程電路。這種組合設(shè)計(jì)減少了電路對(duì)電路板空間的需求。x5045中的看門(mén)狗對(duì)系統(tǒng)提供了保護(hù)功能。當(dāng)系統(tǒng)發(fā)生故障而超過(guò)設(shè)置時(shí)間時(shí),電路中的看門(mén)狗將通過(guò)reset信號(hào)向cpu 作出反應(yīng)。它所具有的電壓監(jiān)控功能還可以保護(hù)系統(tǒng)免受低電壓的影響,當(dāng)電源電壓降到允許范圍以下時(shí),系統(tǒng)將復(fù)位,直到電源電壓返回到穩(wěn)定值為止。x5045的存儲(chǔ)

37、器與cpu 可通過(guò)串行通信方式接口,共有4096個(gè)位,可以按5128個(gè)字節(jié)來(lái)放置數(shù)據(jù)。1. 引腳介紹x5045共有8個(gè)引腳,各引腳的功能如下:cs :電路選擇端,低電平有效; so :串行數(shù)據(jù)輸出端; si :串行數(shù)據(jù)輸入端; sck:串行時(shí)鐘輸入端; wp :寫(xiě)保護(hù)輸入端,低電平有效; reset :復(fù)位輸出端; vcc :電源端;vss :接地端。2. 工作原理(1)上電復(fù)位向x5045加電時(shí)會(huì)激活其內(nèi)部的上電復(fù)位電路,從而使reset 引腳有效。該信號(hào)可避免系統(tǒng)微處理器在電壓不足或振蕩器未穩(wěn)定的情況下工作。當(dāng)vcc 超過(guò)器件的vtrip門(mén)限值時(shí),電路將在200ms(典型)延時(shí)后釋放res

38、et 以允許系統(tǒng)開(kāi)始工作。(2)低電壓監(jiān)視工作時(shí), x5045對(duì)vcc 電平進(jìn)行監(jiān)測(cè),若電源電壓跌落至預(yù)置的最小vtrip以下時(shí),系統(tǒng)即確認(rèn)reset,從而避免微處理器在電源失效或斷開(kāi)的情況下工作。當(dāng)reset 被確認(rèn)后,該reset 信號(hào)將一直保持有效,直到電壓跌到低于1v 。而當(dāng)vcc 返回并超過(guò)vtrip達(dá)200ms時(shí),系統(tǒng)重新開(kāi)始工作。 (3)看門(mén)狗定時(shí)器看門(mén)狗定時(shí)器的作用是通過(guò)監(jiān)視wdi輸入來(lái)監(jiān)視微處理器是否激活。由于微處理器必須周期性的觸發(fā)cs/wdi引腳以避免reset 信號(hào)激活而使電路復(fù)位,所以cs/wdi引腳必須在看門(mén)狗超時(shí)時(shí)間終止之前受到由高至低信號(hào)的觸發(fā)。3. x5045

39、的程序接口:wren_cmd:設(shè)置寫(xiě)允許。必須在寫(xiě)eeprom 存儲(chǔ)器陣列或?qū)憼顟B(tài)之前設(shè)置。寫(xiě)操作后,wel位自動(dòng)復(fù)位wrdi_cmd:復(fù)位寫(xiě)允許(寫(xiě)禁止)wrsr_cmd:寫(xiě)狀態(tài)寄存器中的看門(mén)狗定時(shí)位(wd0, wd1)和塊保護(hù)位(bp0, bp1)。rdsr_cmd:讀狀態(tài)寄存器byte_write:?jiǎn)巫止?jié)寫(xiě)入到eeprom存儲(chǔ)器陣列byte_read:從eeprom存儲(chǔ)器陣列讀取單字節(jié)page_write:向eeprom存儲(chǔ)器陣列寫(xiě)入3個(gè)連續(xù)字節(jié)??珊苋菀赘臑閷?xiě)入一頁(yè)sequ_read:從eeprom存儲(chǔ)器陣列順序讀取字節(jié)。很容易改為讀任何字節(jié)rst_wdog:復(fù)位看門(mén)狗定時(shí)器3.6 數(shù)

40、字式工頻有效值多用表的工作原理 3.6.1 電壓、電流有效值測(cè)量電壓、電流有效值公式根據(jù)離散積分公式推導(dǎo)得出。電壓有效值計(jì)算公式: (1)式(1)中,n為每周期采樣次數(shù),vm為第m次采樣的電壓瞬時(shí)值。 電流有效值計(jì)算公式: (2)式(2)中,n為每周期采樣次數(shù),im為第m次采樣的電流瞬時(shí)值。3.6.2 功率、功率因數(shù)的測(cè)量若電壓超前或滯后電流時(shí)間為t,電壓周期為t,則電壓、電流間的相位差為:=360*t/t (3) 功率因數(shù)和功率分別為: (4)有功功率: (5)視在功率: (6)無(wú)功功率: (7)3.7 單片機(jī)的選用本設(shè)計(jì)選用的是atmel公司的at89c52單片機(jī)。at89c52是美國(guó)at

41、mel公司生產(chǎn)的低電壓,高性能cmos8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(perom)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大at89c52單片機(jī)適用于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。at89c52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線,at89c52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用

42、的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。主要功能特性:兼容mcs51指令系統(tǒng);8k可反復(fù)擦寫(xiě)(1000次)flash rom;32個(gè)雙向i/o口;256x8bit內(nèi)部ram;3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;時(shí)鐘頻率0-24mhz;2個(gè)串行中斷; 可編程uart串行通道;2個(gè)外部中斷源;共6個(gè)中斷源;2個(gè)讀寫(xiě)中斷口線;3級(jí)加密位;低功耗空閑和掉電模式;軟件設(shè)置睡眠和喚醒功能。at89c52的編程原理:1.將rst接高電平,psen接低電平;2.擦除芯片,每次重新編程前都要首先把原來(lái)rom里面的程序擦除掉,將編程模式組合為擦除模式,送ale

43、端一個(gè)10ms寬度的低電平脈沖即可;3 在地址線上輸入所需編程的存儲(chǔ)單元的地址;4.將正確的控制信號(hào)組合為有效(寫(xiě)模式);5.在數(shù)據(jù)線上輸入相應(yīng)的字節(jié);6. 將ea升至12v;7.給ale一個(gè)50us的低電平脈沖;8.效驗(yàn)數(shù)據(jù),將控制信號(hào)組合為讀模式,數(shù)據(jù)即出現(xiàn)在p0口;9.改變地址和數(shù)據(jù),重復(fù)步驟3-8步,直至程序?qū)懲辍? 軟件設(shè)計(jì)4.1 數(shù)字式工頻有效值多用表的總流程圖如圖4-1所示 圖 4-1 總流程圖4.2 交流信號(hào)的相角測(cè)量測(cè)量相位的原理 將兩個(gè)同頻被測(cè)信號(hào)整形為兩個(gè)方波信號(hào),其前后沿分別對(duì)應(yīng)于被測(cè)信號(hào)的正向過(guò)零點(diǎn)和負(fù)向過(guò)零點(diǎn),然后測(cè)量出這兩個(gè)同頻方波的前沿(或后沿)之間的時(shí)間差比例

44、,即為這兩個(gè)被測(cè)信號(hào)之間的相位差,簡(jiǎn)稱(chēng)相差。 要獲得這個(gè)時(shí)間差比例,通常采用填充計(jì)數(shù)法,其基本原理見(jiàn)圖4-2,a,b為工頻待測(cè)的電壓,電流信號(hào),兩信號(hào)經(jīng)整形后形成a1和b1兩路方波,若a1的兩個(gè)前沿之間(一個(gè)信號(hào)周期)的計(jì)數(shù)脈沖的個(gè)數(shù)為n個(gè)a1與b1的兩個(gè)相鄰前沿之間的計(jì)數(shù)脈沖的個(gè)數(shù)為n個(gè),則a,b兩路之間的相位差為: n/n * 360 因此,要獲得電壓,電流信號(hào)間的相位差,只要獲得兩個(gè)計(jì)數(shù)值n和n,通過(guò)(1)式計(jì)算即可。那么相位計(jì)算的分辯率就為3600/n ,也就是表示相差的最小單位。被測(cè)信號(hào)的頻率一定時(shí),計(jì)數(shù)脈沖的頻率就決定了相位測(cè)量的精度。被測(cè)信號(hào)頻率為50hz,計(jì)數(shù)脈沖頻率為fa ,

45、則設(shè)計(jì)時(shí)應(yīng)滿(mǎn)足: fa360050 圖4-2 相位差測(cè)量原理4.3 交流信號(hào)的采集程序系統(tǒng)的采樣時(shí)間間隔為0.5s。采樣時(shí),在1個(gè)信號(hào)周期內(nèi)對(duì)一相電壓、電流等時(shí)間間隔準(zhǔn)確采樣100點(diǎn)并把結(jié)果存入片外數(shù)據(jù)存儲(chǔ)器相應(yīng)的存儲(chǔ)頁(yè)內(nèi),全采完后,對(duì)采到的數(shù)據(jù)進(jìn)行數(shù)字濾波。數(shù)據(jù)采集子程序:smp: mov r0,#00h ;初始化mov r2,#80h ;u1存放頁(yè)地址送r2ret: mov tl0,#00hmov th0,#00hsetb tr0mov a,r0mov r7,#00h ;采樣點(diǎn)數(shù)寄存器初始化mov r1,21h ;當(dāng)前采樣點(diǎn)的頁(yè)內(nèi)地址指針ad12:clr p1.0選通當(dāng)前的電壓信號(hào)sh:

46、jnb 00h,sh ; clr 00h ;準(zhǔn)備好,清標(biāo)志clr 1.6mov p2,#dfh ;啟動(dòng)a/d轉(zhuǎn)換ad1: jb p1.2,ad1;未完,等待lcall data ;讀入轉(zhuǎn)換結(jié)果存入相應(yīng)頁(yè)setb p1.0;切換到電流信號(hào)mov p2,#dfh ;啟動(dòng)a/d轉(zhuǎn)換ad2: jb p1.2,ad2;未轉(zhuǎn)換完,等待inc r2 ;頁(yè)地址+1,到存放該電流的頁(yè)面lcall data ;讀入結(jié)果inc r7 ;采樣點(diǎn)inc r1;inc r1 ;采樣點(diǎn)存放單元地址cjne r7,#10h,ad12 ;未完,繼續(xù)lcall frqcy;inc r0 ;置采樣標(biāo)志inc r2 ;電壓存儲(chǔ)頁(yè)mo

47、v r1,21h ;存儲(chǔ)頁(yè)地址指針cjne r1,#03h,rte 未采完add 21h,#1fh ;采完ret4.4 計(jì)算電壓、電流有效值程序計(jì)算電壓、電流有效值的流程圖如圖4-3所示: 圖 4-3 電壓、電流有效值計(jì)算的流程圖功能:加法 入口條件:字節(jié)數(shù)在r7中,被加數(shù)在r0中,加數(shù)在r0中。 出口信息:和在r1中,最高位進(jìn)位在cy中。 bcda:mov a,r7 ;取數(shù)至r2中 mov r2,a add a,r0 ;初始化數(shù)據(jù)指針 mov r0,a mov a,r2 add a,r1 mov r1,a clr c bcd1: dec r0 ;調(diào)整數(shù)據(jù)指針 dec r1 mov a,r0

48、addca,r1 ;相加 da a ; mov r1,a ;和存回r0中 djnzr2,bcd1 ; ret 功能:倒數(shù)函數(shù) 入口條件:操作數(shù)在r0中。 出口信息: ov=0時(shí),結(jié)果在r0中,ov=1時(shí),溢出。 frcp:mov a,r0 mov c,acc.7 mov 1fh,c ;保存數(shù)符 mov c,acc.6 ;絕對(duì)值傳送到第二工作區(qū) mov acc.7,c mov r5,a inc r0 mov a,r0 mov r6,a inc r0 mov a,r0 mov r7,a dec r0 dec r0 orl a,r6 jnz rcp setbov ;零不能求倒數(shù),設(shè)立溢出標(biāo)志 ret rcp: mov a,r6 jb acc.7,rcp2 ;操作數(shù)格式化否? clr c ;格式化之 mov a,r7 rlc a mov r7,a mov a,r6 rlc a mov r6,a dec r5 sjmprcp rcp2:mov r2,#1 ;將數(shù)值1.

溫馨提示

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

評(píng)論

0/150

提交評(píng)論