2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p>  題目: 單相工頻交流電壓、電流計(jì)設(shè)計(jì) </p><p>  姓 名: </p><p>  院(系): 信息學(xué)院

2、 專業(yè): 自動化 </p><p>  指導(dǎo)教師: 職稱: </p><p>  評 閱 人: 職稱: </p><p><b>  2012年

3、6月</b></p><p><b>  摘 要</b></p><p>  在實(shí)際中,有效值是應(yīng)用最廣泛的參數(shù),電壓表的讀數(shù)除特殊情況外,幾乎都是按正弦波有效值進(jìn)行定度的。有效值獲得廣泛應(yīng)用的原因,一方面是由于它直接反映出交流信號能量的大小,這對于研究功率、噪聲、失真度、頻譜純度、能量轉(zhuǎn)換等是十分重要的;另一方面,它具有十分簡單的疊加性質(zhì),計(jì)算起來極為

4、方便。</p><p>  本文詳細(xì)介紹了一個數(shù)字工頻電壓、電流表設(shè)計(jì),以AT89C51單片機(jī)為控制核心,由電壓、電流傳感器模塊,真有效值測量模塊,AD轉(zhuǎn)換模塊、波形整形模塊、顯示模塊等構(gòu)成。系統(tǒng)采用電壓、電流分壓分流對輸入信號進(jìn)行降壓處理,經(jīng)AD736轉(zhuǎn)換得到原信號的真有效值,由AD1674轉(zhuǎn)換為數(shù)字量后送入單片機(jī)內(nèi)進(jìn)行簡要的數(shù)據(jù)處理并將結(jié)果通過六位LED實(shí)時顯示,達(dá)到了較好的性能指標(biāo)。</p>

5、<p>  關(guān)鍵詞:工頻數(shù)字電壓(電流)表 真有效值 AD736 AD1674 AT89C51</p><p><b>  第一章 緒論</b></p><p>  §1.1 系統(tǒng)設(shè)計(jì)任務(wù)</p><p>  設(shè)計(jì)基于MCS-51的單相工頻交流電參數(shù)檢測儀。交流有效值0-220V,電流有效值0-40A。電壓、電流值

6、經(jīng)電壓、電流傳感器輸出有效值為0-5V的交流信號,傳感器輸出的電壓、電流信號與被測電壓、電流同相位。</p><p><b>  基本要求如下</b></p><p>  (1) 電流、電壓測量精度0.1%</p><p>  (2) 檢測電壓、電流的相位角,求出功率因素</p><p>  (3) 電流、電壓有效值

7、由LED輪流顯示,也可由按鍵切換顯示量</p><p>  (4) 有效值、功率因素可以發(fā)送至遠(yuǎn)程主機(jī)。</p><p>  設(shè)計(jì)以AT89C51為核心的控制電路,并編寫相關(guān)的系統(tǒng)軟件(匯編、C51程序均可)</p><p><b>  §1.2設(shè)計(jì)思路</b></p><p>  本例旨在設(shè)計(jì)一個工頻交流電

8、流、電壓計(jì)。系統(tǒng)利用分壓、電流轉(zhuǎn)換原理將工頻電壓/電流轉(zhuǎn)換為弱電壓。進(jìn)行有效值轉(zhuǎn)換,進(jìn)而得到穩(wěn)定的直流信號。由模擬開關(guān)選擇電壓或者電流通過,進(jìn)入單一輸入量的AD1674。進(jìn)行A/D轉(zhuǎn)換,所得數(shù)字信號送入單片機(jī)進(jìn)行數(shù)據(jù)處理,然后顯示。最后由串口輸出送入虛擬串口進(jìn)行調(diào)試。系統(tǒng)總體框圖如圖1-1所示。</p><p>  圖1-1 系統(tǒng)總框圖</p><p><b>  第二章 硬件

9、設(shè)計(jì)</b></p><p>  §2.1 轉(zhuǎn)換電路設(shè)計(jì)</p><p>  2.1.1 分壓電路</p><p>  分壓電路如圖2-1所示,分壓電路工作原理為:不同的輸入電壓通過分壓電阻,電壓下降而不改變相位。 </p><p>  圖中運(yùn)算放大器構(gòu)成電壓跟隨器, </p><p><

10、b>  圖2-1 分壓電路</b></p><p>  運(yùn)放輸出電壓和互感器輸入電壓關(guān)系為:U0 =U*R101/(R100+R101)。故選擇取樣電阻R100 = 215Ω、R101=5.02Ω。</p><p>  2.1.2 電流轉(zhuǎn)換電路</p><p>  電流轉(zhuǎn)換電路如圖2-2所示,輸入電流0 ~ 40A,輸出電壓0~5V, </p

11、><p>  圖2-2 電流轉(zhuǎn)換電路</p><p>  §2.2 真有效值轉(zhuǎn)換電路設(shè)計(jì)</p><p>  系統(tǒng)的核心是測量交流電壓、電流的有效值,因此有效值測量的精度將直接影響系統(tǒng)最終的精度。有效值測量集成電路視其測量范圍和精度有多種規(guī)格可選,較通用的有Analog公司的AD536、AD636、AD736及AD737等。考慮到成本等因素,系統(tǒng)選用的是AD

12、736,應(yīng)用電路如圖2-3所示。該器件是按有效值隱含運(yùn)算而設(shè)計(jì),能計(jì)算任意復(fù)雜波形的高精度真有效值--直流轉(zhuǎn)換器件,其精度優(yōu)于0.3%,波峰因素≤ 5,相對穩(wěn)定時間快,是當(dāng)前集成真有效值轉(zhuǎn)換器性能較好的一種。</p><p>  AD736有效值測量原理如下:一個交變信號的有效值定義為</p><p><b> ?。?)</b></p><p>

13、;  這里,為信號的有效值,T為測量時間,是一個時間的函數(shù),但不一定是周期性的。</p><p>  對等式兩邊進(jìn)行平方得:</p><p><b>  (2)</b></p><p>  右邊的積分項(xiàng)可以用一個平均來近似</p><p><b> ?。?)</b></p><p

14、>  這樣式(2)可以簡化為:</p><p><b> ?。?)</b></p><p><b>  等式兩邊除以得:</b></p><p><b> ?。?)</b></p><p>  這個表達(dá)式就是測量一個信號真實(shí)有效值的基礎(chǔ)。AD736也是采用的這一原理。&l

15、t;/p><p>  圖中CC為低阻抗輸入端耦合電容一般取值為10~20uF;CF為輸出端濾波電容一般取10uF;CAV為平均電容,它是AD736的關(guān)鍵外圍元件,用于進(jìn)行平均值運(yùn)算。其大小將直接影響到有效值的測量精度,尤其在低頻時更為重要。多數(shù)情況下可選33uF。</p><p>  圖2-3真有效值轉(zhuǎn)換電路 </p><p>  §2.3 555定時器

16、矩形波轉(zhuǎn)換電路設(shè)計(jì)</p><p>  利用555定時器,對正弦信號進(jìn)行整形,從而形成矩形波。利用中斷進(jìn)行計(jì)時。當(dāng)整形電壓波形首次出現(xiàn)下降沿時,定時器1、2打開。開始計(jì)數(shù)。當(dāng)整形電流波形首次出現(xiàn)下降沿時,關(guān)閉定計(jì)數(shù)器T0,計(jì)數(shù)值為time_l。當(dāng)整形電壓波形再次出現(xiàn)下降沿時,關(guān)閉計(jì)數(shù)器T1,計(jì)數(shù)值為time_s。從而計(jì)算出相位差phase=(time_l)*360/(time_s)。功率因數(shù)power fact=

17、cos(phase)。應(yīng)用電路如圖2-4所示。</p><p>  圖2-4矩形波轉(zhuǎn)換電路</p><p>  §3.2 電壓、電流真有效值切換電路設(shè)計(jì)</p><p>  由于AD1674要求一路輸入,故需對電壓有效值和電流有效值的信號進(jìn)行通道選擇和切換。本設(shè)計(jì)采用模擬開關(guān)CD4053實(shí)現(xiàn)通道切換,即在電壓、電流互感器后設(shè)置一CD4053,通過單片機(jī)輸

18、出控制信號來控制通道切換,選擇某路信號進(jìn)行有效值轉(zhuǎn)換,應(yīng)用電路如圖2-5所示。</p><p>  CD4053是三路二選一模擬開關(guān),可由三位控制位分別選擇三路輸出,其真值表如表2-1所示。本設(shè)計(jì)中只用了一路,單片機(jī)2.4口通過D觸發(fā)器與A相連,由控制位A選擇輸出。</p><p>  表2-1 CD4053真值表</p><p>  圖2-5真有效值轉(zhuǎn)換電路<

19、;/p><p>  §2.5 A/D轉(zhuǎn)換電路設(shè)計(jì)</p><p>  AD1674是美國AD公司推出的一種完整的12位并行模/數(shù)轉(zhuǎn)換單片集成電路。該芯片內(nèi)部自帶采樣保持器(SHA)、10伏基準(zhǔn)電壓源、時鐘源以及可和微處理器總線直接接口的暫存/三態(tài)輸出緩沖器。 </p><p>  與原有同系列的AD574A/674A相比,AD1674的內(nèi)部結(jié)構(gòu)更加

20、緊湊,集成度更高,工作性能(尤其是高低溫穩(wěn)定性)也更好,而且可以使設(shè)計(jì)板面積大大減小,因而可降低成本并提高系統(tǒng)的可靠性。筆者在研制某新型國產(chǎn)機(jī)載武器系統(tǒng)中采用了M級AD1674T,它可實(shí)時地采集各傳感器的模擬參量,以進(jìn)行快速、精確的數(shù)據(jù)轉(zhuǎn)換并傳給CPU進(jìn)行處理。</p><p>  圖2-5ADC轉(zhuǎn)換電路</p><p>  AD1674的基本特點(diǎn)和參數(shù)如下: </p>

21、;<p>  ●帶有內(nèi)部采樣保持的完全12位逐次逼近(SAR)型模/數(shù)轉(zhuǎn)換器; ●采樣頻率為100kHz; ●轉(zhuǎn)換時間為10µs; </p><p>  ●具有±1/2LSB的積分非線性(INL)以及12位無漏碼的差分非線性(DNL); </p><p>  ●滿量程校準(zhǔn)誤差為0.125%; </p&

22、gt;<p>  ●內(nèi)有+10V基準(zhǔn)電源,也可使用外部基準(zhǔn)源; </p><p>  ●四種單極或雙極電壓輸入范圍分別為±5V,±10V,0V~10V和0V~20V; </p><p>  ●數(shù)據(jù)可并行輸出,采用8/12位可選微處理器總線接口; ●內(nèi)部帶有防靜電保護(hù)裝置(ESD)</p><p>  A

23、D1674的引腳按功能可分為邏輯控制端口、并行數(shù)據(jù)輸出端口、模擬信號輸入端口和電源端口四種類型。 </p><p> ?。?)邏輯控制端口 </p><p>  12/8:數(shù)據(jù)輸出位選擇輸入端。當(dāng)該端輸入為低時,數(shù)據(jù)輸出為雙8位字節(jié);當(dāng)該端輸入為高時,數(shù)據(jù)輸出為單12位字節(jié)。 </p><p>  CS:片選信號輸入端; &l

24、t;/p><p>  R/C:讀/轉(zhuǎn)換狀態(tài)輸入端。在完全控制模式下,輸入為高時為讀狀態(tài);輸入為低時為轉(zhuǎn)換狀態(tài);在獨(dú)立工作模式下,在輸入信號的下降沿時開始轉(zhuǎn)換。 CE:操作使能端;輸入為高時,芯片開始進(jìn)行讀/轉(zhuǎn)換操作。 </p><p>  A0:位尋址/短周期轉(zhuǎn)換選擇輸入端。在轉(zhuǎn)換開始時,若A0為低,則進(jìn)行12位數(shù)據(jù)轉(zhuǎn)換;若A0為高,則進(jìn)行周期更短的8位數(shù)據(jù)轉(zhuǎn)換;當(dāng)R/C=

25、1且12/8=0時,若A0為低,則在高8位(DB4~DB11)作數(shù)據(jù)輸出;若A0為高,則在DB0~DB3和DB8~DB11作數(shù)據(jù)輸出,而DB4~DB7置零。 </p><p>  STS:轉(zhuǎn)換狀態(tài)輸出端。輸出為高時表明轉(zhuǎn)換正在進(jìn)行;輸出為低時表明轉(zhuǎn)換結(jié)束。 (2)并行數(shù)據(jù)輸出端口 </p><p>  DB11~DB8:在12位輸出格式下,輸出數(shù)據(jù)的高4位;在

26、8位輸出格式下,A0為低時也可輸出數(shù)據(jù)的高4位。 </p><p> ?。?)模擬信號輸入端口 </p><p>  10VIN:10V范圍輸入端,包括0V~10V單極輸入或±5V雙極輸入; 20VIN:20V范圍輸入端,包括0V~20V單極輸入或±10V雙極輸入; </p><p>  應(yīng)當(dāng)注意的是:如果

27、已選擇了其中一種作為輸入范圍,則另一種不得再連接合作。 (4)供電電源端口 </p><p>  REF IN:基準(zhǔn)電壓輸入端,在10V基準(zhǔn)電源上接50?電阻后連于此端; </p><p>  REF OUT:+10V基準(zhǔn)電壓輸出端; BIP OFF:雙極電壓偏移量調(diào)整端,該端在雙極輸入時可通過50?電阻與REF

28、0;OUT端相連;在單極輸入時接模擬地。圖3給出了AD1674在單極和雙極輸入時的兩種連接電路。 </p><p>  VCC:+12V/+15V模擬供電輸入; VEE:-12V/-15V模擬供電輸入; VLOGIC:+5V邏輯供電輸入;</p><p>  故我們按照圖2-5接線。</p><p>  §2.6顯示電路設(shè)計(jì)&

29、lt;/p><p>  7段LED顯示電壓和電流有效值應(yīng)用接口電路如圖2-6所示,包括單片機(jī)、LED顯示電路、7448地址鎖存器、74138譯碼器。單片機(jī)P1.0~P1.3口作為7448的控制口,P1.4~P1.7作為74138的控制口。</p><p>  上圖還包含了開關(guān)量,CLK/KEY;U/I兩個開關(guān)鍵控制電壓電流有效值循環(huán)輸出。</p><p>  §

30、;2.7 單片機(jī)電路設(shè)計(jì)</p><p>  系統(tǒng)采用AT89C51單片機(jī)作為主控制器。AT89C51具有功能強(qiáng)、體積小、成本低、功耗小等特點(diǎn),它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。與數(shù)碼管相比該模塊還有位數(shù)多、顯示內(nèi)容豐富、程序簡單等優(yōu)勢。P2.0-P2.7用于接收AD轉(zhuǎn)換后的信號。</p><p>  

31、67;2.8 串口電路設(shè)計(jì)</p><p>  串行通信利用虛擬終端,下載串口調(diào)試助手SComAssistantV2.1,Virtual Serial Port Driver6.9。對基于單片機(jī)C51開發(fā)的軟硬件進(jìn)行聯(lián)合調(diào)試,顯示結(jié)果。設(shè)置虛擬終端COM1,COM2。</p><p><b>  第三章 軟件設(shè)計(jì)</b></p><p> 

32、 §4.1 A/D轉(zhuǎn)換、相位差程序</p><p>  系統(tǒng)上電復(fù)位后,從主程序開始執(zhí)行。主程序需將A/D轉(zhuǎn)換得到的數(shù)據(jù)進(jìn)行運(yùn)算處理,轉(zhuǎn)換位十進(jìn)制數(shù),并送到LED顯示。取電流電壓值,逐位取余通過P1口發(fā)送至LED。并進(jìn)行循環(huán)顯示。程序流程圖如圖3-1所示。根據(jù)AD1674各引腳的功能對各引腳進(jìn)行賦值。</p><p>  相位差根據(jù)兩個計(jì)數(shù)器的比值獲得,根據(jù)室內(nèi)米特觸發(fā)器轉(zhuǎn)換而

33、來的矩形波信號。測得完整周期計(jì)數(shù)值和周期差計(jì)數(shù)值進(jìn)行計(jì)算。得到相位差和功率因數(shù),并發(fā)送至遠(yuǎn)程主機(jī)。如圖3-2所示。</p><p>  圖3-1 AD轉(zhuǎn)換流程圖</p><p>  圖3-2相位角流程圖</p><p>  第四章 系統(tǒng)調(diào)試及誤差分析</p><p>  §4.1 系統(tǒng)調(diào)試</p><p>

34、;  在系統(tǒng)整體調(diào)試時,若調(diào)試不成功,由于整體連接已經(jīng)完成,很難檢查到底哪部分有錯誤。為此,我們采用了邊連接邊調(diào)試的方法,即將系統(tǒng)分成若干模塊,每個模塊完成后就進(jìn)行測試驗(yàn)證,最后再進(jìn)行系統(tǒng)聯(lián)調(diào)。</p><p>  調(diào)試過程中,用到的虛擬儀器設(shè)備如下:直流穩(wěn)壓電源、函數(shù)信號發(fā)生器、示波器、萬用表等。</p><p>  §4.2 誤差分析</p><p>

35、;  分壓電路、電流轉(zhuǎn)換帶那路存在非線性誤差。</p><p>  AD736轉(zhuǎn)換誤差。</p><p>  AD1674存在誤差,延時程序影響。</p><p>  §4.3 調(diào)試過程中的問題</p><p>  電壓,電流的縮小電路原本為互感電路,但調(diào)試不能解決擁有滯后相位的正弦交流電的正常縮小。所以選擇了精度較差的分壓、轉(zhuǎn)換

36、電路。</p><p>  有效值轉(zhuǎn)換電路不能有效轉(zhuǎn)換相位改變的正弦交流電。</p><p>  采用12位AD1674數(shù)模轉(zhuǎn)換器,提高精度 ,減小誤差。</p><p>  串口通信只能顯示16進(jìn)制數(shù)字,導(dǎo)致不能合理顯示小數(shù)點(diǎn)。</p><p><b>  結(jié)束語</b></p><p>  經(jīng)

37、過20天得努力,我圓滿完成了此次課程設(shè)計(jì)任務(wù),作品達(dá)到了題目要求的各項(xiàng)性能指標(biāo)。本次實(shí)習(xí)是為畢業(yè)設(shè)計(jì)做好準(zhǔn)備、打好基礎(chǔ),通過這次實(shí)習(xí),我們熟悉了一個課題或項(xiàng)目的完成過程,從查找資料,確定方案,設(shè)計(jì)電路,軟件編寫,系統(tǒng)調(diào)試到最后的報告撰寫,每一個過程我都學(xué)到了很多,收獲了很多,理論設(shè)計(jì)和動手實(shí)踐能力得到了很大提升。</p><p>  課設(shè)成果不是單一知識的結(jié)晶,實(shí)習(xí)遇到了好多難題,學(xué)過的一些知識點(diǎn)有 所遺忘,我們

38、完成課題的同時也鞏固了理論知識。通過實(shí)習(xí)理論聯(lián)系實(shí)際,以前一些不甚理解的理論也變得容易理解了。</p><p>  與此同時我們也學(xué)到了一些寶貴的經(jīng)驗(yàn)教訓(xùn),例如:這次實(shí)習(xí)的課題是工頻電壓表的設(shè)計(jì),由于事前對220V電壓重視不夠。</p><p>  這次做實(shí)習(xí)的經(jīng)驗(yàn)也會使我終身受益,我感受到做課設(shè)是要真真正正用心去做的一件事情,是真正的自己研習(xí)和研究的過程。希望這次的經(jīng)驗(yàn)?zāi)茏屛以谕髮W(xué)習(xí)中

39、驅(qū)策我繼續(xù)前進(jìn)。</p><p><b>  附 錄</b></p><p>  附錄一 完整電路圖</p><p><b>  附錄二 程序清單</b></p><p>  /***********************************</p><p>  

40、*******************************/</p><p>  #include <reg51.h></p><p>  #include <absacc.h></p><p>  #include <string.h></p><p>  #include <math.h>

41、;</p><p>  #define uint unsigned int</p><p>  #define uchar unsigned char</p><p>  #define ADCSTU 0x6cff</p><p>  #define ADCH 0x6EFF</p><p>  #define AD

42、CL 0x6FFF</p><p>  #define LEDportalP1</p><p>  sbit STS=P3^4;</p><p>  sbit clk_key=P2^2;</p><p>  sbit u_i=P2^3;</p><p>  uint volts,amps;</p>

43、<p>  uint phase;</p><p>  float power_fact;</p><p>  uint time_l=0;</p><p>  uint time_s=0;</p><p>  bit timing=0;</p><p><b>  uchar *p;&

44、lt;/b></p><p><b>  uchar a;</b></p><p>  uchar string1[36];</p><p>  void int0_isr(void) interrupt 0</p><p><b>  {</b></p><p>  

45、if(~timing)</p><p><b>  {</b></p><p>  TMOD=0x11;</p><p>  TH1=TL1=0x0;</p><p>  TH0=TL0=0x0;</p><p>  TR1=TR0=1;</p><p><b&g

46、t;  EA=1;</b></p><p><b>  EX1=1;</b></p><p><b>  timing=1;</b></p><p><b>  }</b></p><p><b>  else</b></p>&

47、lt;p><b>  {</b></p><p><b>  TR0=0;</b></p><p>  time_l=(TH0<<8)|TL0;</p><p><b>  EA=0;</b></p><p><b>  timing=0;<

48、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void int1_isr(void) interrupt 2</p><p><b>  {</b></p><p><b&g

49、t;  TR1=0;</b></p><p>  time_s=(TH1<<8)|TL1;</p><p><b>  }</b></p><p>  void delay(uint t)</p><p><b>  {</b></p><p>  u

50、char j=100;</p><p>  while(t--)</p><p>  while(j--);</p><p><b>  }</b></p><p>  uint phase_differ(void)</p><p><b>  {</b></p>

51、<p>  uint differ;</p><p>  IT0=IT1=1;</p><p><b>  EA=EX0=1;</b></p><p>  while(~timing);</p><p>  while(timing);</p><p>  delay(100);&l

52、t;/p><p>  differ=time_s*360/time_l;</p><p>  return(differ);</p><p><b>  }</b></p><p>  void byte_trans(void)</p><p><b>  {</b></p

53、><p>  uchar num=0;</p><p>  TMOD=0X20;</p><p><b>  SM0=0;</b></p><p><b>  SM1=1;</b></p><p><b>  PCON=0;</b></p>&

54、lt;p>  TH1=TL1=0XFD;</p><p><b>  TR1=1;</b></p><p>  SBUF=(uchar)(volts/10000);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p&

55、gt;  SBUF=(uchar)(volts/1000%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  SBUF=(uchar)(volts/100%10);</p><p>  while (!TI);</p><p>

56、;<b>  TI=0;</b></p><p><b>  SBUF='.';</b></p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  SBUF=(uchar)(volts/10%10);<

57、;/p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  SBUF=(uchar)(volts%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p>&

58、lt;p>  SBUF=(uchar)(amps/10000%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  SBUF=(uchar)(amps/1000%10);</p><p>  while (!TI);</p><

59、;p><b>  TI=0;</b></p><p>  SBUF=(uchar)(amps/100%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p><b>  SBUF='.';</b&g

60、t;</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  SBUF=(uchar)(amps/10%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p

61、><p>  SBUF=(uchar)(amps%10);</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p><b>  SBUF=0;</b></p><p>  while (!TI);</p><

62、;p><b>  TI=0;</b></p><p><b>  SBUF='.';</b></p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  a=(uchar)(power_fact*100

63、);</p><p>  SBUF=a%10;</p><p>  while (!TI);</p><p><b>  TI=0;</b></p><p>  a=(uchar)(power_fact*10);</p><p>  SBUF=a%10;</p><p> 

64、 while (!TI);</p><p><b>  TI=0;</b></p><p><b>  }</b></p><p>  void display(uint n)</p><p><b>  {</b></p><p><b> 

65、 uchar i;</b></p><p>  for(i=0;i<5;i++)</p><p><b>  {</b></p><p><b>  delay(1);</b></p><p>  LEDportal=(n%10)|(i<<4);</p>

66、<p><b>  n=n/10;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void dis_ctr(void)</p><p><b>  {</b></p>&

67、lt;p>  uchar n=400;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(clk_key==0)</p><p><b>  {</b></p><p>  if

68、(n>0,n--)</p><p><b>  if(n<200)</b></p><p>  display(amps);</p><p><b>  else</b></p><p>  display(volts);</p><p><b>  }

69、</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(u_i==0)</p><p>  display(volts);</p><p><b>  else</b><

70、/p><p>  display(amps);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  uint read_ui(bit ui)</p><

71、;p><b>  {</b></p><p>  uint value;</p><p><b>  if(ui==1)</b></p><p><b>  {</b></p><p>  XBYTE[ADCSTU|0x1000]=0;</p><p&

72、gt;  value=XBYTE[ADCH|0x1000];</p><p>  value=(value<<4)|XBYTE[ADCL|0x1000];//Ñ¡ÔñÊä³öµçÁ÷ÓÐЧֵ</p><

73、;p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  XBYTE[ADCSTU]=0;</p><p>  value=XBYTE[ADCH];</p><p>  

74、value=(value<<4)|XBYTE[ADCL];//Ñ¡ÔñÊä³öµçѹÓÐЧֵ</p><p><b>  }</b></p><p>  return(va

75、lue);</p><p><b>  }</b></p><p>  void main(void)</p><p><b>  { </b></p><p>  delay(300);</p><p>  volts=read_ui(0); </p&

76、gt;<p>  volts=read_ui(0)*5.39;</p><p>  amps=read_ui(1);</p><p>  amps=read_ui(1);</p><p>  amps=read_ui(1)/1.02;</p><p>  phase=phase_differ();</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論