電工測(cè)量復(fù)用表設(shè)計(jì)_第1頁
電工測(cè)量復(fù)用表設(shè)計(jì)_第2頁
電工測(cè)量復(fù)用表設(shè)計(jì)_第3頁
電工測(cè)量復(fù)用表設(shè)計(jì)_第4頁
電工測(cè)量復(fù)用表設(shè)計(jì)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1引言傳統(tǒng)的電工量(電壓、電流、頻率、功率因數(shù)、各種功率、紋波系數(shù)等)測(cè)量使用各種各樣的測(cè)量?jī)x表,但計(jì)算機(jī)技術(shù)的發(fā)展已經(jīng)為新型電工測(cè)量系統(tǒng)的設(shè)計(jì)提供了可能。對(duì)用戶負(fù)載的電壓、電流進(jìn)行取樣,應(yīng)用數(shù)據(jù)采集與數(shù)據(jù)處理技術(shù)可以方便地給出電壓(電流)的各次諧波成分的幅度、頻率與相位,從而利用計(jì)算方式可以一次性地給出前述眾多電工量,實(shí)現(xiàn)一機(jī)多用。1.1課題研究的背景電學(xué)參數(shù)測(cè)量技術(shù)涉及范圍廣,特別是微電壓、微電流、高電壓以及待測(cè)信號(hào)強(qiáng)弱相差極大的情況下,既要保證弱信號(hào)的測(cè)量精度又要兼顧強(qiáng)信號(hào)的測(cè)量范圍,在技術(shù)上有一定的難度。傳統(tǒng)的低成本儀表在測(cè)量電壓、電流時(shí)都采用手動(dòng)選擇檔位的方法來轉(zhuǎn)換量程。在使用中,當(dāng)忘記轉(zhuǎn)換檔位時(shí),會(huì)造成儀表測(cè)量精度下降或損壞?,F(xiàn)代電子測(cè)量對(duì)系統(tǒng)的精度要求越來越高且智能化程度也越來越高。近十幾年來,單片機(jī)作為微計(jì)算機(jī)一個(gè)很重要的分支,應(yīng)用廣泛,發(fā)展迅速,已經(jīng)對(duì)人類社會(huì)產(chǎn)生了深遠(yuǎn)的影響。單片機(jī)在生產(chǎn)過程控制、自動(dòng)檢測(cè)、數(shù)據(jù)采集及處理、科技計(jì)算、商業(yè)管理及辦公室自動(dòng)化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價(jià)格低可靠性和通用靈活性等特點(diǎn),尤其是美國Intel公司生產(chǎn)的MCS-51系列單片機(jī),由于其具有集成度高、處理功能強(qiáng)、可靠性好、結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉、易于使用等優(yōu)點(diǎn),在我國已經(jīng)得到廣泛的應(yīng)用。由于MCS-51單片機(jī)易于學(xué)習(xí)、掌握、性能價(jià)格比高,另外以MCS-51單片機(jī)的基本內(nèi)核為核心的各種擴(kuò)展型、增強(qiáng)型的單片機(jī)不斷推出,所以在今后若干年內(nèi),MCS-51系列單片機(jī)仍是我國在單片機(jī)應(yīng)用領(lǐng)域中首選機(jī)型。單片機(jī)技術(shù)在自動(dòng)控制領(lǐng)域中有著十分廣泛的應(yīng)用。如汽車、航空、電話、傳真、視頻等,很多行業(yè)設(shè)計(jì)自動(dòng)控制情況下,通常會(huì)涉及單片機(jī)技術(shù)。1.2課題研究的意義電壓、電流是基本的物理量,對(duì)電壓、電流進(jìn)行測(cè)量的要求是普遍存在的,無論在科學(xué)研究生產(chǎn)實(shí)踐,或是在日常生活中,人們都需要對(duì)電壓進(jìn)行測(cè)量。不僅電量,即使是非電量也常常是借助電壓、電流測(cè)量的方法來進(jìn)行研究。本設(shè)計(jì)的最基本的功能就是實(shí)現(xiàn)一定范圍內(nèi)的電壓、電流的測(cè)量。功率因數(shù)是交流電路的重要技術(shù)數(shù)據(jù)之一。功率因數(shù)的高低,對(duì)于電氣設(shè)備的利用率和分析、研究電能消耗等問題都有十分重要的意義。因此,在電力系統(tǒng)和工業(yè)生產(chǎn)中,功率因數(shù)的在線精確檢測(cè)對(duì)電量計(jì)算及無功功率補(bǔ)償計(jì)算十分重要。所謂功率因數(shù),是指任意二端網(wǎng)絡(luò)(與外界有二個(gè)接點(diǎn)的電路)兩端電壓U與其中電流I之間的位相差的余弦。在二端網(wǎng)絡(luò)中消耗的功率是指平均功率,也稱為有功功率,它等于由此可以看出,電路中消耗的功率P,不僅取決于電壓V與電流I的大小,還與功率因數(shù)有關(guān)。電路的功率因數(shù)定義為有功功率P與視在功率功率S的比值,即:其中,角表示功率因數(shù)角,代表了電壓U與電流I之間的夾角。功率因數(shù)也就是功率因數(shù)角的余弦,因此,測(cè)出電壓與電流間的相位差,就可以計(jì)算出功率因數(shù)。功率因數(shù)的大小,取決于電路中負(fù)載的性質(zhì)。對(duì)于電阻性負(fù)載,其電壓與電流的位相差為0,因此,電路的功率因數(shù)最大();而純電感電路,電壓與電流的位相差為,并且是電壓超前電流;在純電容電路中,電壓與電流的位相差則為,即電流超前電壓。在后兩種電路中,功率因數(shù)都為0。對(duì)于一般性負(fù)載的電路,功率因數(shù)就介于0與1之間。功率因素的測(cè)量是本課題設(shè)計(jì)的一個(gè)比較重要的功能。在交流電路中,由電源供給負(fù)載的電功率有兩種:一種是有功功率,一種是無功功率。有功功率是保持用電設(shè)備正常運(yùn)行所需的電功率,也就是將電能轉(zhuǎn)換為其他形式能量(機(jī)械能、光能、熱能)的電功率。無功功率比較抽象,它是用于電路內(nèi)電場(chǎng)與磁場(chǎng)的交換,并用來在電氣設(shè)備中建立和維持磁場(chǎng)的電功率。它不對(duì)外做功,而是轉(zhuǎn)變?yōu)槠渌问降哪芰?。凡是有電磁線圈的電氣設(shè)備,要建立磁場(chǎng),就要消耗無功功率。無功功率決不是無用功率,它的用處很大。電動(dòng)機(jī)需要建立和維持旋轉(zhuǎn)磁場(chǎng),使轉(zhuǎn)子轉(zhuǎn)動(dòng),從而帶動(dòng)機(jī)械運(yùn)動(dòng),電動(dòng)機(jī)的轉(zhuǎn)子磁場(chǎng)就是靠從電源取得無功功率建立的。變壓器也同樣需要無功功率,才能使變壓器的一次線圈產(chǎn)生磁場(chǎng),在二次線圈感應(yīng)出電壓。因此,沒有無功功率,電動(dòng)機(jī)就不會(huì)轉(zhuǎn)動(dòng),變壓器也不能變壓,交流接觸器不會(huì)吸合。在正常情況下,用電設(shè)備不但要從電源取得有功功率,同時(shí)還需要從電源取得無功功率。如果電網(wǎng)中的無功功率供不應(yīng)求,用電設(shè)備就沒有足夠的無功功率來建立正常的電磁場(chǎng),那么,這些用電設(shè)備就不能維持在額定情況下工作,用電設(shè)備的端電壓就要下降,從而影響用電設(shè)備的正常運(yùn)行。無功功率對(duì)供、用電產(chǎn)生一定的不良影響,主要表現(xiàn)在:(1)降低發(fā)電機(jī)有功功率的輸出。(2)降低輸、變電設(shè)備的供電能力。(3)造成線路電壓損失增大和電能損耗的增加。(4)造成低功率因數(shù)運(yùn)行和電壓下降,使電氣設(shè)備容量得不到充分發(fā)揮。從發(fā)電機(jī)和高壓輸電線供給的無功功率,遠(yuǎn)遠(yuǎn)滿足不了負(fù)荷的需要,所以在電網(wǎng)中要設(shè)置一些無功補(bǔ)償裝置來補(bǔ)充無功功率,以保證用戶對(duì)無功功率的需要,這樣用電設(shè)備才能在額定電壓下工作。這就是電網(wǎng)需要裝設(shè)無功補(bǔ)償裝置的道理。由此可見通過儀器測(cè)量電路中的有用功率和無用功率,從而改變電路中的有用功率和無用功率的比例,對(duì)于電器設(shè)備的正常工作顯得十分的重要。1.3智能儀表國內(nèi)外發(fā)展概況智能儀器/儀表是計(jì)算機(jī)技術(shù)向測(cè)量?jī)x器移植的產(chǎn)物。是含有微計(jì)算機(jī)或微處理器的測(cè)量?jī)x器。由于它擁有對(duì)數(shù)據(jù)的存儲(chǔ)、運(yùn)算、邏輯判斷及自動(dòng)化操作等功能,有著智能的作用(表現(xiàn)為智能的延伸或加強(qiáng)等),因而被稱之為智能儀器。這一觀點(diǎn)已逐漸被國內(nèi)外學(xué)術(shù)界所接受。如我國電磁測(cè)量信息處理儀器學(xué)會(huì)于1988年正式成立“自動(dòng)測(cè)試與智能儀器專業(yè)學(xué)組”,1986年IMECO(InternationalMeasurementConfederation,國際測(cè)量聯(lián)合會(huì))以“智能儀器”為主題召開了專門的討論會(huì),IFAC(InternationalFederationofAutomaticControl,國際自動(dòng)控制聯(lián)合會(huì))1988年的理事會(huì)正式確立“智能元件及儀器”(IntelligentComponentsandInstruments)(TC25)(C&I)為其系列學(xué)術(shù)委員會(huì)之一。此外,1989年5月在我國武漢召開了第一界測(cè)試技術(shù)與智能儀器國際學(xué)術(shù)討論會(huì)(ISMT1189),自從1971年世界上出現(xiàn)了第一種微處理器(美國Intel公司4004型4位微處理器芯片)以來,微計(jì)算機(jī)技術(shù)得到了迅猛的發(fā)展。測(cè)量?jī)x器在它的影響下有了新的活力,取得了新的進(jìn)步。電子計(jì)算機(jī)從過去的龐然大物己經(jīng)可以在某種特定條件下縮小到可以置于測(cè)量?jī)x器之中,作為儀器的控制器、存儲(chǔ)器及運(yùn)算器,并使其具有智能的作用。概括起來說,智能儀器在測(cè)量過程自動(dòng)化、測(cè)量結(jié)果的數(shù)據(jù)處理及一機(jī)多用(多功能化)等方面己經(jīng)取得巨大進(jìn)步。到80年代,可以說,在高準(zhǔn)確度、高性能、多功能的測(cè)量?jī)x器中已經(jīng)很少有不采用微計(jì)算機(jī)技術(shù)的了。總的來說,傳統(tǒng)儀表的不斷的改進(jìn),新型儀表也不斷的出現(xiàn),傳統(tǒng)的手持式儀表表,在采用了單片微機(jī)控制之后,功能更加多樣,使用更加方便、可靠,而且準(zhǔn)確度大為提高。1.4本課題的主要工作隨著電子技術(shù)的飛速發(fā)展,以前的機(jī)械式的電壓、電流、功率因素、有用功率和無用功率測(cè)量?jī)x表已經(jīng)漸漸的被電子儀表所替代。而且現(xiàn)在的電子產(chǎn)品的一個(gè)顯著的特點(diǎn)是:體積越來越小,功能越來越多元化,性能越來越好。鑒于目前的電子產(chǎn)品的發(fā)展趨勢(shì),本課題設(shè)計(jì)一個(gè)電工測(cè)量復(fù)用系統(tǒng),該系統(tǒng)可以同時(shí)完成電壓、電流、功率因素角、有用功率、無用功率等物理參數(shù)的測(cè)量和計(jì)算。同時(shí)可以通過按鍵的選擇在LED數(shù)碼管上面顯示的參數(shù)值。本課題的主要工作和設(shè)計(jì)內(nèi)容如下:1. 查閱電工測(cè)量?jī)x表的相關(guān)資料;2. 檢索復(fù)用表資料;3. 掌握多通道信號(hào)的取樣與數(shù)據(jù)采集技術(shù);4. 掌握各種電工量的概念;5. 設(shè)計(jì)完成此復(fù)用表;6. 復(fù)用表程序設(shè)計(jì);2總體方案的設(shè)計(jì)及組成2.1系統(tǒng)的基本功能一般來說,電子測(cè)量?jī)x器的硬件組成包括:模擬信號(hào)輸入部分、信號(hào)處理部分、模數(shù)轉(zhuǎn)換部分和人機(jī)交互部分。但每一部分的具體實(shí)現(xiàn)方法應(yīng)結(jié)合儀器所需完成的功能、成本及相關(guān)技術(shù)的發(fā)展與成熟程度等因素綜合考慮。本課題考慮設(shè)計(jì)一個(gè)系統(tǒng),該系統(tǒng)能完成電壓測(cè)量、電流測(cè)量、功率因素測(cè)量、有用功率測(cè)量和無用功率測(cè)量的要求。主要的設(shè)計(jì)思路是對(duì)用戶負(fù)載的電壓、電流模擬量進(jìn)行取數(shù)字樣,應(yīng)用數(shù)據(jù)采集與數(shù)據(jù)處理技術(shù)可以方便地給出電壓(電流)的各次諧波成分的幅度、頻率與相位,通過比較電壓、電流的相位差,計(jì)算出功率因素角,最后利用計(jì)算方式可以得到有用功率和無用功率,從而實(shí)現(xiàn)一個(gè)儀器測(cè)量眾多電工量。2.2設(shè)計(jì)方案比較根據(jù)以上系統(tǒng)所需完成的功能和特點(diǎn),本設(shè)計(jì)提出方案1和方案2,并進(jìn)行比較最后得出方案1比較適合這次的畢業(yè)設(shè)計(jì)。2.2.1設(shè)計(jì)方案一在方案1中,電工測(cè)量復(fù)用表系統(tǒng)設(shè)計(jì)的核心芯片采用的MCS-51系列單片機(jī)。本電工測(cè)量系統(tǒng)選用AT89C51單片機(jī)作為系統(tǒng)的核心。該單片機(jī)具有兩個(gè)外部中斷,兩個(gè)定時(shí)中斷,方波輸入接入其中一個(gè)中斷,當(dāng)用低脈沖到來,觸發(fā)外部中斷0,同時(shí)定時(shí)器0開始計(jì)數(shù),通過計(jì)算得到功率因素角。模擬數(shù)字轉(zhuǎn)換芯片采用的是8位串行AD轉(zhuǎn)換芯片ADC0832,利用該芯片實(shí)現(xiàn)把電壓和電流模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。通過前面得到的電壓、電流和功率因素角等值,然后計(jì)算得到有用功率和無用功率,最后通過按鍵選擇顯示內(nèi)容。系統(tǒng)主要分為:電源部分、模擬數(shù)字轉(zhuǎn)換部分、方波輸入電路、晶振電路、顯示電路、復(fù)位等電路。圖1為基于MSC-51單片機(jī)的設(shè)計(jì)框圖。

圖1基于MSC-51單片機(jī)設(shè)計(jì)框圖2.2.2設(shè)計(jì)方案二在方案2中,電工測(cè)量復(fù)用表系統(tǒng)設(shè)計(jì)的核心芯片采用的PIC系列單片機(jī)。選用PIC16C74單片機(jī)作為系統(tǒng)的核心。該單片機(jī)內(nèi)置具有8路10位A/D轉(zhuǎn)換,3個(gè)硬件定時(shí)器,方波輸入接入其中一個(gè)中斷,當(dāng)用低脈沖到來,觸發(fā)外部中斷0,同時(shí)定時(shí)器0開始計(jì)數(shù),通過計(jì)算得到功率因素角。外部電壓和電流接入到其中的兩個(gè)AD轉(zhuǎn)換AN0和AN1。通過前面得到的電壓、電流和功率因素角等值,然后計(jì)算得到有用功率和無用功率,最后通過按鍵選擇顯示內(nèi)容。系統(tǒng)主要分為:電源部分、電壓輸入、電流輸入、方波輸入電路、晶振電路、顯示電路、復(fù)位等電路。圖2為基于PIC單片機(jī)的設(shè)計(jì)框圖。圖2基于PIC單片機(jī)設(shè)計(jì)框圖2.2.3方案1采用的是MSC-51系列單片機(jī),該系列單片機(jī)沒有集成AD轉(zhuǎn)換的功能,所以需要外接一個(gè)AD轉(zhuǎn)換芯片,這樣硬件電路比較復(fù)雜,但是由于MSC-51是大多數(shù)高校的單片機(jī)的入門課程,而且其開發(fā)工具也比較多,也有很多人已經(jīng)自制出一套免費(fèi)的開發(fā)工具,所以開發(fā)成本比較低廉,比較適合學(xué)生畢業(yè)設(shè)計(jì)選用。方案2采用的是PIC系列單片機(jī),該系列單片機(jī)集成了8路10位AD轉(zhuǎn)換的功能,不需要外接AD轉(zhuǎn)換芯片,這樣硬件電路十分簡(jiǎn)單,但是由于PIC系列單片機(jī)的開發(fā)工具費(fèi)用比較昂貴,前期一次性投入比較大,比較適合公司的選用。綜合分析,本次畢業(yè)設(shè)計(jì)采用方案1進(jìn)行設(shè)計(jì)。2.3系統(tǒng)的設(shè)計(jì)原則電工測(cè)量復(fù)用表是科學(xué)研究生產(chǎn)實(shí)踐,日常生活的重要保證,其功能、測(cè)量設(shè)備和技術(shù)都應(yīng)遵循以下原則:系統(tǒng)設(shè)計(jì)滿足現(xiàn)行《電子儀表技術(shù)規(guī)范》的要求。先進(jìn)性。系統(tǒng)將在了解國內(nèi)外發(fā)展動(dòng)態(tài),吸收其經(jīng)驗(yàn)和成果的基礎(chǔ)上進(jìn)行方案設(shè)計(jì),使系統(tǒng)的技術(shù)性能和水平具有明顯的先進(jìn)性??煽啃?。系統(tǒng)運(yùn)行安全可靠,性能穩(wěn)定,可以在惡劣環(huán)境下長期工作。通用性。在設(shè)計(jì)時(shí),應(yīng)充分考慮其應(yīng)用對(duì)象的共性,使系統(tǒng)具有較強(qiáng)的通用性。擴(kuò)展性。系統(tǒng)的設(shè)計(jì)容量要足夠大,滿足系統(tǒng)今后擴(kuò)充需要。經(jīng)濟(jì)性。系統(tǒng)的造價(jià)經(jīng)濟(jì)合理,性能價(jià)格高。操作維護(hù)方便。在軟件方面,要求人機(jī)界面友好,操作簡(jiǎn)便;在硬件方面,要求維護(hù)檢修方便。3硬件結(jié)構(gòu)與設(shè)計(jì)電工測(cè)量復(fù)用表設(shè)計(jì)分為硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分,硬件是軟件的基礎(chǔ),軟件是硬件的靈魂,下面我們對(duì)硬件設(shè)計(jì)進(jìn)行簡(jiǎn)單的描述。3.1AT89C51單片機(jī)簡(jiǎn)介單片機(jī)是一個(gè)單芯片形態(tài),面向控制對(duì)象的嵌入式應(yīng)用計(jì)算機(jī)系統(tǒng)。它的出現(xiàn)及發(fā)展使計(jì)算機(jī)技術(shù)從通用型數(shù)值計(jì)算領(lǐng)域進(jìn)入到智能化的控制領(lǐng)域。從此,計(jì)算機(jī)技術(shù)在兩個(gè)重要領(lǐng)域—通用計(jì)算機(jī)領(lǐng)域和嵌入式計(jì)算機(jī)領(lǐng)域都得到了極其重要的發(fā)展,并正在深深地改變著我們的社會(huì)。AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,支持ISP在線下載程序,功能強(qiáng)大AT89C主要性能參數(shù):與MCS-51產(chǎn)品指令系統(tǒng)完全兼容4k字節(jié)可重擦寫Flash閃速存儲(chǔ)器1000次擦寫周期全靜態(tài)操作:0Hz-24MHz三級(jí)加密程序存儲(chǔ)器128×8字節(jié)內(nèi)部RAM32個(gè)可編程I/O口線2個(gè)16位定時(shí)/計(jì)數(shù)器6個(gè)中斷源可編程串行UART通道低功耗空閑和掉電模式AT89C51的引腳圖如圖3圖3AT89C51VCC:提供電源GND:地P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在FIash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ILI)。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(ILI)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(ILI)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表1所示:表1P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時(shí)/計(jì)數(shù)器0外部輸入)P3.5T1(定時(shí)/計(jì)數(shù)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的l/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的DO位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2電路設(shè)計(jì)工具選擇隨著計(jì)算機(jī)在國內(nèi)的逐漸普及,EDA(ElectronicDesignAutomatic,電路設(shè)計(jì)自動(dòng)化)軟件在電路行業(yè)的應(yīng)用也越來越廣泛,目前國內(nèi)最為常用的EDA軟件有:PROTEL、ORCAD、PSPICE、EWB和Proteus等。PROTELPROTEL是PORTEL公司在20世紀(jì)80年代末推出的電路行業(yè)的CAD軟件,它當(dāng)之無愧地排在眾多EDA軟件的前面,是電路設(shè)計(jì)者的首選軟件。它較早在國內(nèi)使用,普及率也最高,有些高校的電路專業(yè)還專門開設(shè)了課程來學(xué)習(xí)它。幾乎所有的電路公司都要用到它。早期的PROTEL主要作為印刷板自動(dòng)布線工具使用,運(yùn)行在DOS環(huán)境,對(duì)硬件的要求很低,在無硬盤286機(jī)的1M內(nèi)存下就能運(yùn)行。它的功能較少,只有電原理圖繪制與印刷板設(shè)計(jì)功能,印刷板自動(dòng)布線的布通率也低。在PROTEL99成為經(jīng)典至今仍然廣泛被人使用之后,現(xiàn)在的PROTEL已發(fā)展到PROTELDXP,是個(gè)龐大的EDA軟件,它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號(hào)仿真、多層印刷電路板設(shè)計(jì)(包含印刷電路板自動(dòng)布線)、可編程邏輯器件設(shè)計(jì)、圖表生成、電路表格生成、支持宏操作等功能,并具有Client/Server(客戶/服務(wù)器)體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多層印制線路板的自動(dòng)布線,可實(shí)現(xiàn)高密度PCB的100%布通率。ORCADORCAD是由ORCAD公司于20世紀(jì)80年代末推出的EDA軟件。它是世界上使用最廣的EDA軟件,每天都有上百萬的電路工程師在使用它,相對(duì)于其它EDA軟件而言,它的功能也是最強(qiáng)大的,由于ORCAD軟件使用了軟件狗防盜版,因此在國內(nèi)它并不普及,知名度也比不上PROTEL,只有少數(shù)的電路設(shè)計(jì)者使用它。早在工作于DOS環(huán)境的ORCAD4.0,它就集成了電原理圖繪制、印制電路板設(shè)計(jì)、數(shù)字電路仿真、可編程邏輯器件設(shè)計(jì)等功能,而且它的界面友好且直觀。它的元器件庫也是所有EDA軟件中最豐富的,在世界上它一直是EAD軟件中的首選。它集成了電原理圖繪制,印刷電路板設(shè)計(jì)、模擬與數(shù)字電路混合仿真等功能。它的電路仿真的元器件庫更達(dá)到了8500個(gè),收入了幾乎所有的通用型電路元器件模塊但同時(shí)它的售價(jià)也不菲。PSPICEPSPICE是較早出現(xiàn)的EDA軟件之一,1985年就由MICROSIM公司推出。在電路仿真方面,它的功能可以說是最為強(qiáng)大,在國內(nèi)被普遍使用。整個(gè)軟件由原理圖編輯、電路仿真、激勵(lì)編輯、元器件庫編輯、波形圖等幾個(gè)部分組成,使用時(shí)是一個(gè)整體,但各個(gè)部分各有各的窗口。PSPICE發(fā)展至今,已被并入ORCAD,成為ORCAD-PSPICE,但PSPICE仍然單獨(dú)銷售和使用,是功能強(qiáng)大的模擬電路和數(shù)字電路混合仿真EDA軟件。它可以進(jìn)行各種各樣的電路仿真、激勵(lì)建立、溫度與噪聲分析、模擬控制、波形輸出、數(shù)據(jù)輸出、并在同一個(gè)窗口內(nèi)同時(shí)顯示模擬與數(shù)字的仿真結(jié)果。無論對(duì)哪種器件哪些電路進(jìn)行仿真,包括IGBT、脈寬調(diào)制電路、模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換等,都可以得到精確的仿真結(jié)果。對(duì)于庫中沒有的元器件模塊,還可以自已編輯。它在INTERNET上的網(wǎng)址與ORCAD公司一樣。EWBEWB(ELECTRONICSWORKBENCHEDA)軟件是交互圖像技術(shù)有限公司(INTERACTIVEIMAGETECHNOLOGIESLtd)在20世紀(jì)90年代初推出的EDA軟件,但在國內(nèi)開始使用卻是近幾年的事。相對(duì)其它EDA軟件而言,它是個(gè)較小巧的軟件,功能也比較單一,就是進(jìn)行模擬電路和數(shù)字電路的混合仿真,但你絕對(duì)不可小瞧它,它的仿真功能十分強(qiáng)大,幾乎100%地仿真出真實(shí)電路的結(jié)果,而且它在桌面上提供了萬用表、示波器、信號(hào)發(fā)生器、掃頻儀、邏輯分析儀、數(shù)字信號(hào)發(fā)生器、邏輯轉(zhuǎn)換器等工具,它的器件庫中則包含了許多大公司的晶體管元器件、集成電路和數(shù)字門電路芯片,器件庫中沒有的元器件,還可以由外部模塊導(dǎo)入。在眾多的電路仿真軟件中,EWB是最容易上手的,它的工作界面非常直觀,原理圖和各種工具都在同一個(gè)窗口內(nèi),未接觸過它的人稍加學(xué)習(xí)就可以很熟練地使用該軟件。對(duì)于電路設(shè)計(jì)工作者來說,它是個(gè)極好的EDA工具,許多電路你無須動(dòng)用烙鐵就可得知它的結(jié)果,而且若想更換元器件或改變?cè)骷?shù),只須點(diǎn)點(diǎn)鼠標(biāo)即可,它也可以作為電學(xué)知識(shí)的輔助教學(xué)軟件使用,利用它可以直接從屏幕上看到各種電路的輸出波形。ProteusProteusISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。2.支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2等軟件。4.具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。由于本次畢業(yè)設(shè)計(jì)不僅需要原理分析,還需要進(jìn)行硬件設(shè)計(jì)和調(diào)試,故本次畢業(yè)設(shè)計(jì)采用的比較常用的設(shè)計(jì)工具Protell99SE。3.3電源部分對(duì)于現(xiàn)在一個(gè)電子系統(tǒng)來說,電源部分的設(shè)計(jì)也越來越重要。對(duì)于一個(gè)實(shí)際的電子系統(tǒng),要認(rèn)真的分析它的電源需求。不僅僅是關(guān)心輸入電壓,輸出電壓和電流,還要仔細(xì)考慮到總的功耗,電源實(shí)現(xiàn)的效率,電源部分對(duì)負(fù)載變化的瞬態(tài)響應(yīng)能力,關(guān)鍵器件對(duì)電源波動(dòng)的容忍范圍以及相應(yīng)的允許的電源紋波,還有散熱問題等等。本次電工測(cè)量復(fù)用表設(shè)計(jì)系統(tǒng)中使用到了+5V的電源,電源設(shè)計(jì)的原理圖如圖4,輸入是+12V的直流電源。電路中使用到穩(wěn)壓的芯片是7805,7805是5伏的穩(wěn)壓芯片,這種芯片的好處是應(yīng)用比較的簡(jiǎn)單,只需要接上幾個(gè)電容就可以使用了。而且如果前段如果電源有輕微的波動(dòng)幾乎對(duì)后面的輸出沒有影響,這種芯片具有自己調(diào)節(jié)功能,電路中1N5819的作用是防止電源接反,C1、C2、C3、C4、C5、C6的作用是電源濾波。圖4電源基于MSC-51單片機(jī)設(shè)計(jì)框圖實(shí)現(xiàn)原理圖3.4ADC0832模數(shù)轉(zhuǎn)換本次畢業(yè)設(shè)計(jì)的電壓、電流模擬量的采集是通過串行AD轉(zhuǎn)換芯片來實(shí)現(xiàn)。串行AD轉(zhuǎn)換芯片選用ADC0832,ADC0832是是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。3.4.1A8位分辨率;雙通道A/D轉(zhuǎn)換;輸入輸出電平與TTL/CMOS相兼容;5V電源供電時(shí)輸入電壓在0~5V之間;工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32μS;一般功耗僅為15mW;8P、14P—DIP(雙列直插)、PICC多種封裝;商用級(jí)芯片溫寬為0°Cto+70°C,工業(yè)級(jí)芯片溫寬為.40°Cto+85°C;3.4.2CS_片選使能,低電平芯片使能。CH0模擬輸入通道0,或作為IN+/-使用。CH1模擬輸入通道1,或作為IN+/-使用。GND芯片參考0電位(地)。DI數(shù)據(jù)信號(hào)輸入,選擇通道控制。DO數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出。CLK芯片時(shí)鐘輸入。Vcc/REF電源輸入及參考電壓輸入(復(fù)用)。ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。3.4.3單片機(jī)對(duì)ADC0832正常情況下ADC0832與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CLK輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。在第1個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號(hào)。在第2、3個(gè)脈沖下沉之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能。圖5為ADC0832與單片機(jī)AT89C51的連接電路圖。圖5ADC0832應(yīng)用電路圖3.5復(fù)位電路隨著測(cè)量技術(shù)的發(fā)展和微處理器的廣泛應(yīng)用,單片機(jī)系統(tǒng)的電路越來越復(fù)雜,而系統(tǒng)的可靠性問題也越來越突出,一般的單片機(jī)系統(tǒng)在工業(yè)現(xiàn)場(chǎng)等惡劣的環(huán)境下容易死機(jī),要求系統(tǒng)在這些場(chǎng)合可靠穩(wěn)定的工作,就必須外加監(jiān)視電路。MCS-51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。MCS-51單片機(jī)片內(nèi)復(fù)位為,復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器用來抑制噪聲,在每個(gè)機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的。按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實(shí)現(xiàn)的,圖6兼有上電復(fù)位和按鈕復(fù)位的電路。復(fù)位電路軟件程序跑飛或者硬件發(fā)生錯(cuò)誤的時(shí)候產(chǎn)生一個(gè)復(fù)位信號(hào),控制MCS-51單片機(jī)從0000H單元開始執(zhí)行程序,重新執(zhí)行軟件程序。圖6上電復(fù)位電路在單片機(jī)設(shè)計(jì)中,若有外部擴(kuò)展的I/O接口電路需初始復(fù)位,如果它們的復(fù)位端和MCS-51單片機(jī)的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,這時(shí)復(fù)位電路中的R、C參數(shù)要統(tǒng)一考慮以保證可靠的復(fù)位。如果單片機(jī)MCS-51單片機(jī)與外圍I/O接口電路的復(fù)位電路和復(fù)位時(shí)間不完全一致,使單片機(jī)初始化程序不能正常運(yùn)行,外圍I/O接口電路的復(fù)位也可以不和MCS-51單片機(jī)復(fù)位端相連,僅采用獨(dú)立的上電復(fù)位電路。一般來說,單片機(jī)的復(fù)位速度比外圍I/O快些。若RC上電復(fù)位電路接MCS-51單片機(jī)和外圍電路復(fù)位端,則能時(shí)系統(tǒng)可靠地同步復(fù)位。為保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)用到一定的復(fù)位延遲時(shí)間。3.6晶振電路時(shí)鐘在單片機(jī)中非常重要,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)。時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式電路圖如下圖7所示:圖7內(nèi)部時(shí)鐘電路MCS-51單片機(jī)內(nèi)部有一個(gè)用與構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器電路。電路中的電容C1和C2典型值通常選擇為30PF左右。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但是電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體的振蕩頻率的范圍通常是在1.2MHz-12MHz之間。晶體的頻率越高,則系統(tǒng)的時(shí)鐘頻率也就越高,單片機(jī)的運(yùn)行速度也就越快。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性能好的NPO高頻電容。MCS-51單片機(jī)常選擇振蕩頻率6MHz或12MHz的石英晶體。外部時(shí)鐘方式:外部時(shí)鐘方式電路圖如下圖8所示,外部時(shí)鐘方式是使用外部振蕩脈沖信號(hào),常用于多片MCS-51單片機(jī)同時(shí)工作,以便于同步。對(duì)外部脈沖信號(hào)只要求高電平的持續(xù)時(shí)間大于20us,一般為低于12MHz的方波。外部的時(shí)鐘源直接接到XTAL2端,直接輸入到片內(nèi)的時(shí)鐘發(fā)生器上。由于XTAL2的邏輯電平不是TTL的,因此要外接一個(gè)4.7k-10k的上拉電阻。圖8外部時(shí)鐘電路這次的設(shè)計(jì)采用MCS-51的內(nèi)部時(shí)鐘方式。因?yàn)橥獠繒r(shí)鐘方式是用外部振蕩脈沖信號(hào),用于多片MCS-51單片機(jī)同時(shí)工作。在這次設(shè)計(jì)中只用一個(gè)MCS-51單片機(jī),不需要振蕩脈沖信號(hào)。3.7單片機(jī)基本工作電路本設(shè)計(jì)的核心是單片機(jī)電路,考慮到我們需要兩個(gè)中斷輸入,存儲(chǔ)容量、外部接口對(duì)單片機(jī)端口的需要以及兼顧到節(jié)約成本的原則,我們選用了常用的AT89C51單片機(jī)。AT89AT89C511、+5V電源;2、晶振電路;3、復(fù)位電路;4、上拉電阻;其最簡(jiǎn)單的工作原理圖如圖9:圖9AT89S51單片機(jī)工作電路3.8顯示電路8段數(shù)碼管屬于LED發(fā)光器件的一種。LED發(fā)光器件一般常用的有兩類:數(shù)碼管和點(diǎn)陣。8段數(shù)碼管又稱為8字型數(shù)碼管,分為8段:A、B、C、D、E、F、G、P。其中P為小數(shù)點(diǎn)。數(shù)碼管常用的有10根管腳,每一段有一根管腳,另外兩根管腳為一個(gè)數(shù)碼管的公共端,兩根之間相互連通,如圖所示:圖10LED的管腳和電路原理從電路上,數(shù)碼管又可分為共陰和共陽兩種。用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)顯示。圖11顯示電路靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所有要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的CPU時(shí)間少。靜態(tài)顯示中,每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口,該接口用于筆劃段字型代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時(shí),單片機(jī)在發(fā)送新的字形碼。另一種方法是動(dòng)態(tài)掃描顯示。動(dòng)態(tài)掃描方法是用其接口電路把所有顯示器的8個(gè)筆畫段a-h同名端連在一起,而每一個(gè)顯示器的公共極COM各自獨(dú)立的受I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是哪個(gè)顯示器亮,則取決于COM段,而這一段是由I/O控制的,由單片機(jī)決定何時(shí)顯示哪一位了。動(dòng)態(tài)掃描用分時(shí)的方法輪流控制各個(gè)顯示器的COM端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。本次畢業(yè)設(shè)計(jì)需要4個(gè)數(shù)碼管,所以采用動(dòng)態(tài)的顯示的方式。3.9按鍵電路按鍵是實(shí)現(xiàn)人機(jī)對(duì)話的比較直觀的接口,可以通過按鍵實(shí)現(xiàn)人們想讓單片機(jī)做的不同的工作。鍵盤是一組按鍵的集合,鍵是一種常開型開關(guān),平時(shí)按鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),按下鍵是它們閉合。鍵盤分編碼鍵盤和非編碼鍵盤,案件的識(shí)別由專用的硬件譯碼實(shí)現(xiàn),并能產(chǎn)生鍵編號(hào)或鍵值的稱為編碼鍵盤,而缺少這種鍵盤編碼電路要靠自編軟件識(shí)別的稱為非編碼鍵盤。在單片機(jī)組成的電路系統(tǒng)及智能化儀器中,用的更多的是非編碼鍵盤。圖12就是一種比較典型的按鍵電路,在按鍵沒有按下的時(shí)候,輸出的是高電平,當(dāng)按鍵按下去的時(shí)候,輸出的低電平。圖12按鍵電路按鍵消抖:通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),電壓信號(hào)小型如下圖。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),如下圖13。抖動(dòng)時(shí)間的長短由按鍵的機(jī)械特性決定,一般為5ms~10ms。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。圖13按鍵過程按鍵穩(wěn)定閉合時(shí)間的長短則是由操作人員的按鍵動(dòng)作決定的,一般為零點(diǎn)幾秒至數(shù)秒。鍵抖動(dòng)會(huì)引起一次按鍵被誤讀多次。為確保CPU對(duì)鍵的一次閉合僅作一次處理,必須去除鍵抖動(dòng)。在鍵閉合穩(wěn)定時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動(dòng),可用硬件或軟件兩種方法。

硬件消抖:在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。下圖所示的RS觸發(fā)器為常用的硬件去抖。圖14RS觸發(fā)器圖14中兩個(gè)“與非”門構(gòu)成一個(gè)RS觸發(fā)器。當(dāng)按鍵未按下時(shí),輸出為1;當(dāng)鍵按下時(shí),輸出為0。此時(shí)即使用按鍵的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)斷開(抖動(dòng)跳開B),中要按鍵不返回原始狀態(tài)A,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會(huì)產(chǎn)生抖動(dòng)的波形。也就是說,即使B點(diǎn)的電壓波形是抖動(dòng)的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波。這一點(diǎn)通過分析RS觸發(fā)器的工作過程很容易得到驗(yàn)證。軟件消抖:如果按鍵較多,常用軟件方法去抖,即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms~10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5ms~10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。4軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述軟件設(shè)計(jì)是一個(gè)創(chuàng)造性的過程,對(duì)一些設(shè)計(jì)者來說需要一定的資質(zhì),而最后設(shè)計(jì)通常都是由一些初步設(shè)計(jì)演變而來的。從書本上學(xué)不會(huì)設(shè)計(jì),只能經(jīng)過實(shí)踐,通過對(duì)實(shí)際系統(tǒng)的研究和實(shí)踐才能學(xué)會(huì)。對(duì)于高效的軟件工程,良好的設(shè)計(jì)是關(guān)鍵,一個(gè)設(shè)計(jì)得好的軟件系統(tǒng)應(yīng)該是可直接實(shí)現(xiàn)和易于維護(hù)、易懂和可靠的。設(shè)計(jì)得不好的系統(tǒng),盡管可以工作,但很可能維護(hù)起來費(fèi)用昂貴、測(cè)試?yán)щy和不可靠,因此,設(shè)計(jì)階段是軟件開發(fā)過程中最重要的階段。直到最近,軟件設(shè)計(jì)在很大程度上仍是一個(gè)特定過程。一般用自然語言給定一個(gè)需求集,預(yù)先作非正式設(shè)計(jì),常常用流程圖的形式說明,接著開始編碼,當(dāng)系統(tǒng)實(shí)現(xiàn)時(shí)設(shè)計(jì)還需修改。當(dāng)實(shí)現(xiàn)階段完成后,設(shè)計(jì)往往已與起初形式相去甚遠(yuǎn)以至于設(shè)計(jì)的原始文檔完全不適合對(duì)系統(tǒng)的描述。4.1.1軟件設(shè)計(jì)的步驟大型的軟件設(shè)計(jì)是一個(gè)龐大的系統(tǒng)工程,需要前期的市場(chǎng)調(diào)查、需求分析,還需要各個(gè)行業(yè)的支持。本次畢業(yè)設(shè)計(jì)的程序是一個(gè)很簡(jiǎn)單的過程,所以步驟也相對(duì)應(yīng)的簡(jiǎn)單了許多。第一步:分析整個(gè)系統(tǒng)可以由幾個(gè)子系統(tǒng)組成,并考慮幾個(gè)子系統(tǒng)之間的內(nèi)在的關(guān)系。第二步:編寫各個(gè)子系統(tǒng)的程序,最后組合在一起,得到整個(gè)系統(tǒng)。第三步:編譯,查錯(cuò),改錯(cuò)(包括語法錯(cuò)誤、邏輯錯(cuò)誤)第四步:把編譯,看是否得到我們需要的結(jié)果,如果得不到結(jié)果就回到第三步,直到最后得到我們想要的結(jié)果。4.1.2軟件設(shè)計(jì)任務(wù)軟件設(shè)計(jì)主要是針對(duì)硬件設(shè)計(jì)里面的控制部分的,這里指AT89C本次畢業(yè)設(shè)計(jì)采用匯編語言編程,軟件部分需要完成的任務(wù):?jiǎn)纹瑱C(jī)初始化、ADC0832電壓、電流采樣,功率因素角測(cè)量、功率因素計(jì)算、有用功率計(jì)算、無用功率計(jì)算、顯示參數(shù)、按鍵處理、外部中斷、延時(shí)程序、定時(shí)程序。4.2單片機(jī)編程集成環(huán)境KeilC51本次畢業(yè)所選用KeilC51中的編譯/連接器軟件KeiluVision2作為編譯器/連接工具,使用萬利公司Medwin軟件作為集成開發(fā)環(huán)境。Medwin是萬利電子有限公司的軟件,Medwin是一個(gè)具有MicrosoftVisualStudio窗口風(fēng)格的集成開發(fā)環(huán)境。支持帶語法分析的彩色文本顯示、源程序斷點(diǎn)設(shè)置記憶、實(shí)時(shí)程序計(jì)數(shù)器、PC顯示、仿真器斷電自動(dòng)重載、自適應(yīng)連接仿真器等功能,并且支持全空間程序代碼和數(shù)據(jù)空間的模擬仿真、TraceBuffer跟蹤器。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。4.2.1KeilC51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),如圖所示,其中uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。圖154.2.2KeilC51功能介紹4.2.2.1

KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng),使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含:編譯器,匯編

器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2

IDE可為它們提供單一而靈活的開發(fā)環(huán)境。C51

V7版本是目前最高效、靈活的8051開發(fā)平臺(tái)。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時(shí)支持其它第三方開發(fā)工具。因此,C51

V7版本無疑是8051開發(fā)用戶的最佳選擇。5.2.2.2uVision2集成開發(fā)環(huán)境項(xiàng)目管理

:工程(project)是由源文件、開發(fā)工具選項(xiàng)以及編程說明三部分組成的。一個(gè)單一的uVision2工程能夠產(chǎn)生一個(gè)或多個(gè)目標(biāo)程序。產(chǎn)生目標(biāo)程序的源文件構(gòu)成“組”。開發(fā)工具選項(xiàng)可以對(duì)應(yīng)目標(biāo),組或單個(gè)文件。

uVision2包含一個(gè)器件數(shù)據(jù)庫(device

database),可以自動(dòng)設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項(xiàng),來滿足用戶充分利用特定

微控制器的要求。此數(shù)據(jù)庫包含:片上存儲(chǔ)器和外圍設(shè)備的信息,擴(kuò)展數(shù)據(jù)指針(extra

data

pointer)或者加速器(math

accelerator)的特性。

uVision2可以為片外存儲(chǔ)器產(chǎn)生必要的連接選項(xiàng):確定起始地址和規(guī)模。

集成功能:uVision2的強(qiáng)大功能有助于用戶按期完工。a.集成源極瀏覽器利用符號(hào)數(shù)據(jù)庫使用戶可以快速瀏覽源文件。用詳細(xì)的符號(hào)信息來優(yōu)化用戶變數(shù)存儲(chǔ)器。b.文件尋找功能:在特定文件中執(zhí)行全局文件搜索。c.工具菜單:允許在V2集成開發(fā)環(huán)境下啟動(dòng)用戶功能。d.可配置SVCS接口:提供對(duì)版本控制系統(tǒng)的入口。e.PC-LINT接口:對(duì)應(yīng)用程序代碼進(jìn)行深層語法分析。f.Infineon的EasyCase接口:集成塊集代碼產(chǎn)生。g.Infineon的DAVE功能:協(xié)助用戶的CPU和外部程序。DAVE工程可被直接輸入uVision24.2.2.2源代碼編輯器

:uVision2編輯器包含了所有用戶熟悉的特性。彩色語法顯像和文件辯識(shí)都對(duì)C源代碼進(jìn)行和優(yōu)化??梢栽诰庉嬈鲀?nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。

斷點(diǎn):uVision2允許用戶在編輯時(shí)設(shè)置程序斷點(diǎn)(甚至在源代碼未經(jīng)編譯和匯編之前)。用戶啟動(dòng)V2調(diào)試器之后,斷點(diǎn)即被激活。斷點(diǎn)可設(shè)置為條件表達(dá)式,變量或存儲(chǔ)器訪問,斷點(diǎn)被觸發(fā)后,調(diào)試器命令或調(diào)試功能即可執(zhí)行。在屬性框(attributes

column)中可以快速瀏覽斷點(diǎn)設(shè)置情況和源程序行的位置。代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。調(diào)試函數(shù)語言:uVision2中,你可以編寫或使用類似C的數(shù)語言進(jìn)行調(diào)試。

a.內(nèi)部函數(shù):如printf,

memset,

rand及其它功能的函數(shù)。b.信號(hào)函數(shù):模擬產(chǎn)生CPU的模擬信號(hào)和脈沖信號(hào)(simulate

analog

and

digital

inputsto

CPU)。c.用戶函數(shù):擴(kuò)展指令范圍,合并重復(fù)動(dòng)作。變量和存儲(chǔ)器:

用戶可以在編輯器中選中編程來觀察其取值。雙層窗口顯示,可進(jìn)行以下調(diào)整:

當(dāng)前函數(shù)的局部變量

b.用戶在兩個(gè)不同watch窗口頁面上的自定義變量

c.堆棧調(diào)用(call

stack)頁面上的調(diào)用記錄(樹)(call

tree)

d.不同格式的四個(gè)存儲(chǔ)區(qū)4.2.2KEIL

C51編譯器在遵循ANSI標(biāo)準(zhǔn)的同時(shí),為8051微控制器系列特別設(shè)計(jì)。語言上的擴(kuò)展能讓用戶使用應(yīng)用中的所有資源。存儲(chǔ)器和特殊功能寄存器的存取:C51編譯器可以實(shí)現(xiàn)對(duì)8051系列所有資源的操作。SFR的存取由sfr和sbit兩個(gè)關(guān)鍵字來提供。變量可旋轉(zhuǎn)到任一個(gè)地址空間。用關(guān)鍵字——at,還能把變量放入固定的存儲(chǔ)器.存儲(chǔ)模式(大,中,?。Q定了變量的存儲(chǔ)類型。連接定位器支持的代碼區(qū)可達(dá)32個(gè),這就允許用戶在原有64KROM的8015基礎(chǔ)上擴(kuò)展程序。在V2的編譯器和許多高性能仿真器中,可以

支持應(yīng)用程序的調(diào)試。中斷功能:C51允許用戶使用C語言編寫中斷服務(wù)程序,快速進(jìn)、出代碼和寄存器區(qū)的轉(zhuǎn)換功能使C語言中斷功能更加高效。可再入功能是用關(guān)鍵字來定義的。多任務(wù),中斷或非中斷的代碼要求必須具備可再入功能。

靈活的指針

:C51提供了靈活高效的指針。通用指針用3個(gè)字節(jié)來存儲(chǔ)存儲(chǔ)器類型及目標(biāo)地址,可以在8051的任意存儲(chǔ)區(qū)內(nèi)存取任何變量。特殊指針在聲明的同時(shí)已指定了存儲(chǔ)器類型,指向某一特定的存儲(chǔ)區(qū)域。由于地址的存儲(chǔ)只需1-2字節(jié),因此,指針存取非常迅速。

4.2.2.4代碼優(yōu)化

通用代碼優(yōu)化

:常量重疊(constant

folding)通用子表達(dá)式刪除(common

subexpression

elimination)

長度縮減速(reduction)控制流優(yōu)化(control

flow

optimization)寄存器變量使用(register

variable

usage)

寄存器間參數(shù)傳遞(parameter

passing

in

register)

循環(huán)(loop

rotation)死碼刪除(dead

code

elimination)

通用Tail

Merging通用子程序塊打包(block

subroutine

packing)

8051特殊優(yōu)化

:a.孔頸優(yōu)化(peephole

optimization)b.跳轉(zhuǎn)-分支優(yōu)化(switch-case

optimization)c.中斷函數(shù)優(yōu)化(interrupt

function

optimization)d.數(shù)字覆蓋(overlaying)e.擴(kuò)展入口優(yōu)化(extended

access

optimization)

寄存器優(yōu)化:C51為函數(shù)參數(shù)和局域變量分配了9個(gè)CPU寄存器。寄存器間最多可傳遞三個(gè)參數(shù)。P全局寄存器優(yōu)化可刪除不必要代碼,優(yōu)化CPU寄存器設(shè)備。

C語言實(shí)時(shí)庫:C51實(shí)時(shí)庫含100多種功能,其中大多數(shù)是可再入的。庫支持所有的ANSI

C的程序,與嵌入式應(yīng)用程序的限制相符。固有程序?yàn)橛布峁┨厥庵噶?,如:nop,

testbit,

rol,

ror。

A51宏匯編:

A51宏匯編支持標(biāo)準(zhǔn)宏和MPL宏。要實(shí)現(xiàn)快速產(chǎn)生匯編程序SHELL,就直接使用C51編譯器的SRC。

在新的A51

V7版本中,允許用戶C包含的頭文件來定義常量和SFR。如今,一個(gè)單一頭文件可被應(yīng)用到X程序和匯編程序中。4.2.2.5測(cè)試程序uVision2調(diào)試器具備所有常規(guī)源極調(diào)試,符號(hào)調(diào)試特性以及歷史跟蹤,代碼覆蓋,復(fù)雜斷點(diǎn)等功能.DDE界面和shift語言支持自動(dòng)程序

測(cè)試。

CPU和外設(shè)模擬裝置:

uVision2為8051及衍生產(chǎn)品提供了高速CPU模擬功能和片上擴(kuò)展口.在對(duì)話框內(nèi)可直接觀察和修改I/O值,也可以用預(yù)裝的C-LIKE

宏指令書寫符號(hào)函數(shù)來提供動(dòng)態(tài)輸入。

目標(biāo)監(jiān)控器

:uVision2含一個(gè)可配置的監(jiān)控器,可測(cè)試目標(biāo)器件上的軟件體。監(jiān)控器用uVision2的調(diào)試器直接工作,可支持代碼區(qū)。它要求目標(biāo)系統(tǒng)具備6字節(jié)堆??臻g,6KB的代碼ROM和256字節(jié)Xdata

RAM。

MCB517/251啟動(dòng)工具包:

在開始一項(xiàng)8051工程時(shí),MCB啟動(dòng)工具會(huì)對(duì)你有很大幫助。每一個(gè)啟動(dòng)工具包括一套2K字節(jié)的開發(fā)工具和許多可快速運(yùn)行的舉例程序。用

戶可在檢測(cè)8051性能的同時(shí),查看開發(fā)工具的可行性。

MCB517AC板含高性能InfineonC517A單片機(jī),它提供標(biāo)準(zhǔn)8052外圍設(shè)備和A/D轉(zhuǎn)換器,PWM,搜索/比較,8位數(shù)據(jù)指針,一個(gè)高速運(yùn)算單

元。同時(shí)包含對(duì)81C90CAN控制器和代碼區(qū)的支持。

4.3軟件設(shè)計(jì)流程圖流程圖是一種傳統(tǒng)的算法表示法,它利用幾何圖形的框來代表各種不同性質(zhì)的操作,用流程線來指示算法的執(zhí)行方向。由于它簡(jiǎn)單直觀,所以應(yīng)用廣泛,特別是在早期語言階段,只有通過流程圖才能簡(jiǎn)明地表述算法,流程圖成為程序員們交流的重要手段。4.4程序設(shè)計(jì)具體分析4.4.1主程序主程序主要完成的任務(wù)是:系統(tǒng)初始化、調(diào)用電壓采樣子程序、調(diào)用電流采樣子程序、調(diào)用掃描鍵盤子程序、調(diào)用顯示參數(shù)子程序。主程序流程圖如圖16:圖16主程序流程圖系統(tǒng)初始化主要完成單片機(jī)中斷的開啟和關(guān)閉,本設(shè)計(jì)主要用到了單片機(jī)的外部中斷,開啟和關(guān)閉單片機(jī)中斷的方式主要是置位或者清零IE寄存器的某些位。具體參考MSC-51單片機(jī)教材。主程序如下:;*********初始化主程序*********INIT:MOVIE,#80H;中斷允許MAIN:MOVR0,#02HLCALLADCONV;讀取電壓值MOV40H,R0;讀取電壓值存放在40HMOVR0,#03HLCALLADCONV;讀取電流值MOV41H,R0;讀取電流值存放在41H;(00H:CH0+CH1-,01H:CH0-CH1+,02H:CH+,03H:CH-)MOV43H,#00H;清除上一次的功率因素角MOVTL0,#00HMOVTH0,#00HSETBEX0;啟動(dòng)外部中斷,計(jì)算功率因素角LCALLDEPLAY;等待中斷到來LCALLKSCAN;掃描按鍵LCALLDIS;顯示參數(shù)LJMPMAIN;循環(huán)執(zhí)行4.4.2讀取電壓和電流電壓和電流采樣都是通過串行AD轉(zhuǎn)換芯片ADC0832來實(shí)現(xiàn)的,ADC0832是雙通道的AD轉(zhuǎn)換芯片,所以電壓采用和電流采用的子程序可以設(shè)計(jì)成一個(gè)子程序,最后通過選擇不同的通道來選擇是電壓采樣還是電流采用。在介紹具體的子程序設(shè)計(jì)之前,我們首先介紹一些與ADC0832相關(guān)的知識(shí)。ADC0832是美國模擬器件公司生產(chǎn)的8位串行模數(shù)轉(zhuǎn)換芯片,其數(shù)據(jù)輸出采用SPI串行輸出,與單片機(jī)連接時(shí)只需要占用三個(gè)普通I/O口。SPI是英語SerialPeripheralinterface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。圖17為ADC0832的讀寫數(shù)據(jù)的時(shí)序圖,在讀寫數(shù)據(jù)前,CS必須要拉低,然后連續(xù)兩個(gè)CLK的上升沿讀取通道的值,接下來的連續(xù)的8個(gè)CLK的下降沿輸出采樣值,高位在前,地位在后,最后的8個(gè)CLK的下降沿輸出相同的采樣值,低位在前,高位在后。圖17ADC0832讀寫數(shù)據(jù)時(shí)序圖圖18為讀取電壓和電流的流程圖,流程圖中描述了ADC0832的讀寫數(shù)據(jù)的過程,根據(jù)此流程圖很容易編寫出讀寫數(shù)據(jù)的程序。圖18讀取電壓和電流子程序流程圖主程序如下:;******ADC0832讀數(shù)據(jù)子程序******ADCONV:SETBP1.3;初始化通道選擇NOPNOPCLRP1.0;拉低/CS端NOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿MOVA,R0MOVC,ACC.1;確定取值通道選擇MOVP1.3,CNOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿2MOVA,R0MOVC,ACC.0;確定取值通道選擇MOVP1.3,CNOPNOPSETBP1.1;拉高CLK端NOPNOPCLRP1.1;拉低CLK端,形成下降沿3SETBP1.3NOPNOPMOVR7,#8;準(zhǔn)備送下后8個(gè)時(shí)鐘脈沖AD_1:MOVC,P1.2;接收數(shù)據(jù)MOVACC.0,CRLA;左移一次SETBP1.1NOPNOPCLRP1.1;形成一次時(shí)鐘脈沖NOPNOPDJNZR7,AD_1;循環(huán)8次MOVC,P1.2;接收數(shù)據(jù)MOVACC.0,CMOVR0,A;前8位MOVR7,#8AD_13:MOVC,P1.2;接收數(shù)據(jù)MOVACC.0,CRRA;左移一次SETBP1.1NOPNOPCLRP1.1;形成一次時(shí)鐘脈沖NOPNOPDJNZR7,AD_13;循環(huán)8次CLRCSUBBA,R0JNZADCONV;數(shù)據(jù)校驗(yàn)SETBP1.0;拉高/CS端CLRP1.1;拉低CLK端SETBP1.2;拉高數(shù)據(jù)端,回到初始狀態(tài)RET4.4.3功率因素角中斷程序前面介紹了功率因數(shù)角,代表了電壓U與電流I之間的夾角,即電壓與電流間的相位差。圖為電壓和電流之間經(jīng)過相與得到的波形,其中T2表示電壓或者電流的周期,T1表示電壓和電流的時(shí)間差,所以相位差。下降沿到來時(shí)觸發(fā)外部的中斷0,同時(shí)計(jì)數(shù)器開始計(jì)時(shí),程序進(jìn)入等待查詢中,當(dāng)檢測(cè)到上升沿到來時(shí)候計(jì)數(shù)器停止計(jì)數(shù)。讀取計(jì)數(shù)器TH0和TL0的值,時(shí)間T1=(TH0*256+TL0)us。相位差,為了方便程序設(shè)計(jì),電壓或者電流的周期選用92.16ms,即T2=9616000us。又由于單片機(jī)對(duì)浮點(diǎn)數(shù)數(shù)據(jù)處理能力不強(qiáng),我們這里相位差取整數(shù),得到相位差。圖19輸入的方波波形圖20為功率因素角中斷子程序流程圖,在進(jìn)入中斷前,首先要保護(hù)好程序中斷現(xiàn)場(chǎng),進(jìn)入中斷后開始計(jì)數(shù)器開始計(jì)時(shí),應(yīng)用循環(huán)等待的方式等待上升沿的到來。根據(jù)此流程圖編寫中斷子程序。圖20功率因素角中斷子程序主程序如下:;********INTT0中斷子程序******INTT0:PUSHACCPUSHPSWSETBTR0;開始計(jì)時(shí)CCK:SETBP3.2JNBP3.2,CCKCLRTR0;停止計(jì)時(shí)MOV43H,TH0;計(jì)算功率因素角POPPSWPOPACCRETI4.4.4計(jì)算有用功率和無用功率前面已經(jīng)對(duì)電壓和電流進(jìn)行了采集,經(jīng)過外部中斷,功率因素角也計(jì)算出來。我們可以利用采集得到的電壓、電流和功率因素角計(jì)算出有用功率和無用功率。有用功率,無用功路。4.4.5掃描按鍵子程序由于本系統(tǒng)是實(shí)現(xiàn)的一機(jī)多用途的功能,需要顯示的參數(shù)有電壓、電流、功率因素角和有用功率。如果這些參數(shù)同時(shí)顯示,占用的資源比較多。所以采用通過按鍵選擇的方式來輪流顯示。系統(tǒng)一共有兩個(gè)按鍵,一個(gè)按鍵的作用是:顯示后一個(gè)參數(shù);另一個(gè)按鍵的作用是:顯示前一個(gè)參數(shù);顯示的順序是電壓、電流、功率因素角、有用功率和無用功率。顯示的順序存放在單片機(jī)的寄存器的R1中,R1的取值在00H~04H。R1=00H顯示電壓,R1=01H顯示電流,R1=02H顯示因素角,R1=03H顯示有用功率,R1=04H顯示無用功率,圖21為掃描按鍵子程序流程圖。圖21掃描按鍵流程圖按鍵掃描程序如下:;*********掃描按鍵子程序******KSCAN:SETBP1.5MOVC,P1.5JCKS_1CJNER1,#04H,KS_2INCR1RETKS_1:SETBP1.6MOVC,P1.6JCKS_2CJNER1,#00H,KS_2DECR1KS_2:RET4.4.6二進(jìn)制轉(zhuǎn)BCD子程序前面已經(jīng)通過采用和計(jì)算得到了電壓、電流、因素角、有用功率和無用功率,但是要通過數(shù)碼管顯示出來,還需要把前面的參數(shù)的二進(jìn)制轉(zhuǎn)變成BCD碼。圖22為顯示內(nèi)容流程圖。圖顯示內(nèi)容子程4.4.7一般的顯示有LED燈、數(shù)碼管、液晶顯示。LED燈有亮和滅2種狀態(tài),所以一般用來顯示狀態(tài);數(shù)碼管可以顯示0~9和小數(shù)點(diǎn),一般用來顯示數(shù)字;液晶一般用來顯示比較復(fù)雜的內(nèi)容。本次畢業(yè)設(shè)計(jì)需要顯示得參數(shù)不是很復(fù)雜,采用4位的數(shù)碼管能夠滿足要求。由于考慮節(jié)省資源,本設(shè)計(jì)采用動(dòng)態(tài)掃描的方式顯示參數(shù)。圖23為顯示流程圖,根據(jù)此流程圖編寫程序。圖23顯示流程圖顯示子程序如下:;*********顯示子程序***********DIS:MOVDPTR,#TABMOVP2,#20HMOVA,50HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;顯示個(gè)位MOVP2,#08HMOVA,51HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;顯示十位MOVP2,#10HMOVA,52HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;顯示百位MOVP2,#04HMOVA,53HMOVCA,@A+DPTRMOVP0,ALCALLDELAY;顯示千位RET;*******共陰數(shù)碼管表***********TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;8段共陰數(shù)碼管4.4.8在等待上升沿的到來的時(shí)候,程序需要延時(shí)等到,在顯示的時(shí)候也需要延時(shí)。圖24為延時(shí)子程序流程圖,根據(jù)流程圖編寫程序。圖24延時(shí)流程圖延時(shí)程序如下:;*********延時(shí)子程序***********DELAY:MOVR7,#0FFHLOOP0:MOVR6,#0FFHLOOP1:DJNZR6,LOOP1DJNZR7,LOOP0RET4.5綜合程序有了前面的對(duì)整個(gè)系統(tǒng)的軟件設(shè)計(jì)的具體分析后畫出的流程圖,下面的工作就是根據(jù)流程圖編寫程序。編寫程序是一個(gè)相當(dāng)復(fù)雜的過程,要求編程人員具有很強(qiáng)邏輯思維,而且要在對(duì)整個(gè)系統(tǒng)工作原理相當(dāng)熟悉的基礎(chǔ)上面才能完成任務(wù)。在編寫程序的時(shí)候要養(yǎng)成作注釋的習(xí)慣,這樣既利于自己以后的修改,又利于以后程序的維護(hù)。尤其是使用匯編語言編寫程序的時(shí)候更是要注釋,因?yàn)閰R編語言是一門比較低級(jí)的語言,跟我們的高級(jí)語言不同,匯編語言比較的煩瑣。當(dāng)然編寫程序遇到困難的時(shí)候還需要很大技巧。本次電工測(cè)量復(fù)用表設(shè)計(jì)見附2??偨Y(jié)近十幾年來,單片機(jī)作為微計(jì)算機(jī)一個(gè)很重要的分支,應(yīng)用廣泛,發(fā)展迅速,已經(jīng)對(duì)人類社會(huì)產(chǎn)生了深遠(yuǎn)的影響。單片機(jī)在生產(chǎn)過程控制、自動(dòng)檢測(cè)、數(shù)據(jù)采集及處理、科技計(jì)算、商業(yè)管理及辦公室自動(dòng)化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價(jià)格低可靠性和通用靈活性等特點(diǎn),尤其是美國Intel公司生產(chǎn)的MCS-51系列單片機(jī),由于其具有集成度高、處理功能強(qiáng)、可靠性好、結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉、易于使用等優(yōu)點(diǎn),在我國已經(jīng)得到廣泛的應(yīng)用。由于MCS-51單片機(jī)易于學(xué)習(xí)、掌握、性能價(jià)格比高,另外以MCS-51單片機(jī)的基本內(nèi)核為核心的各種擴(kuò)展型、增強(qiáng)型的單片機(jī)不斷推出,所以在今后若干年內(nèi),MCS-51系列單片機(jī)仍是我國在單片機(jī)應(yīng)用領(lǐng)域中首選機(jī)型。單片機(jī)技術(shù)在自動(dòng)控制領(lǐng)域中有著十分廣泛的應(yīng)用。如汽車、航空、電話、傳真、視頻等,很多行業(yè)設(shè)計(jì)自動(dòng)控制情況下,通常會(huì)涉及單片機(jī)技術(shù)。隨著電子技術(shù)的飛速發(fā)展,以前的機(jī)械式的電壓、電流、功率因素、有用功率和無用功率測(cè)量?jī)x表已經(jīng)漸漸的被電子儀表所替代。而且現(xiàn)在的電子產(chǎn)品的一個(gè)顯著的特點(diǎn)是:體積越來越小,功能越來越多元化,性能越來越好。通過半年來的努力,主要完成了系統(tǒng)的電源設(shè)計(jì)、ADC0832模數(shù)轉(zhuǎn)換、復(fù)位電路、晶振電路、單片機(jī)基本工作電路、顯示電路、按鍵電路的設(shè)計(jì);軟件部分完成了單片機(jī)初始化、ADC0832電壓、電流采樣,功率因素角測(cè)量、功率因素計(jì)算、有用功率計(jì)算、無用功率計(jì)算、顯示參數(shù)、按鍵處理、外部中斷、延時(shí)程序、定時(shí)程序。此次課程設(shè)計(jì)著重提高學(xué)生在單片機(jī)應(yīng)用方面的實(shí)踐技能,樹立嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng),培養(yǎng)學(xué)生綜合運(yùn)用理論知識(shí)解決實(shí)際問題的能力。我們通過電路設(shè)計(jì)、編程、仿真、調(diào)試、整理資料等環(huán)節(jié),初步掌握工程設(shè)計(jì)方法和組織實(shí)踐的基本技能,逐步熟悉了開展科學(xué)實(shí)踐的程序和方法。在文中也綜合系統(tǒng)詳細(xì)的給出了線路圖和程序清單。致謝在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師××老師身上學(xué)到了很多東西?!痢晾蠋熣J(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論實(shí)踐水平都使我們深感敬佩。他無論是在理論上還是在實(shí)踐中,都給予我很大的幫助,使我們得到不少的提高,尤其是他對(duì)我的關(guān)心所明了他的責(zé)任心和為人師表所具備的愛心,在這次畢業(yè)設(shè)計(jì)表現(xiàn)無疑。這對(duì)于我以后的學(xué)習(xí)和工作都是一種幫助,感謝他細(xì)心又耐心的輔導(dǎo)。還有我的師姐××對(duì)我的幫助,只有她幫助我才能更好的完成本次的畢業(yè)設(shè)計(jì)。非常感謝答辯委員會(huì)的全體老師對(duì)本文的評(píng)審,并提出了寶貴的意見和建議。謹(jǐn)此向老師和所有關(guān)心、幫助過我的同學(xué)、朋友表示最誠摯的謝意!深深感謝我的父母,他們的愛和關(guān)懷是激勵(lì)我奮發(fā)前進(jìn)的不朽動(dòng)力!

參考文獻(xiàn)謝自美主編。電子線路設(shè)計(jì)。試驗(yàn)。測(cè)試(第一版)。武漢:華中科技大學(xué)出版社,2000。張毅剛等編著。MCS-51單片機(jī)應(yīng)用設(shè)計(jì)。哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003。康華光主編。電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)。北京:高等教育出版社,2003。王建校、楊建國、寧改娣等。51系列單片機(jī)及C51程序設(shè)計(jì)【M】北京:科學(xué)出版社。2002年。李戎,壓力傳感器的現(xiàn)狀及發(fā)展趨勢(shì),西安工業(yè)學(xué)院學(xué)報(bào),2002,22(3):241-243。劉廣玉,傳感器的現(xiàn)狀和未來,測(cè)控技術(shù),1999,18(3):1-4。PhillipcTodd.UC3854ControlledPowerFactorCorrectionCircuitDesign.UnitrodeApplicationNote.UI34PhillipcTodd.B(xtP0werFactorCorectorDesignwiththeuc3853[J].UnitrodeApplicationNote,UI59.李玉玲,吳健兒,張仲超.功率因數(shù)校正技術(shù)的控制策略綜述[J].通信電源技術(shù),2003,(12)高曾輝,吳昕.Ic~OSt型PFC的實(shí)驗(yàn)研究[J].西南民族學(xué)院學(xué)報(bào)(自然科學(xué)版),2002,(11).王玉峰,肖永江.單相BOOST功率因數(shù)校正主電路模型的建立[J].電氣傳動(dòng)自動(dòng)化,2002,(2).王兆安,楊君,等.諧波抑制和無功功率補(bǔ)償[M],機(jī)械工業(yè)出版社,1998.HAORuixiang,CHENGZhiguang,YOUXiaojie。ANovelHarmonicsCurrentsDetectionMethodBasedonRotatingd-pReferenceFrameforActivePowerFilterElectronicsSpecialistConference[J].Aachen(Grmany)2004:3034-3038,GodoyM,Bimal2k.Neuralnetworkbasedestimationoffeedbacksignalsforavectorcontrolledinductionmotordrive[J].IEEETransonIA,1995,31(3):620-629.周雒維,江澤佳,吳寧.基于補(bǔ)償電流最小原理的諧波與無功電流檢測(cè)方法[J].電工技術(shù)學(xué)報(bào),1998,13(3):33.36.HabroukM,DarwishMK.oDesignandimplementationofamodifiedFourieranalysisharmoniccurrentcomputationtechniqueforpoweractiveusingDSPs[J].IEEEProeElectrPowerAppL2001,148,(1):21-27.

附錄附1:系統(tǒng)總體電路圖附2:?jiǎn)纹瑱C(jī)匯編程序目錄摘要 IVAbstract V第一章緒論 1HYPERLINK"file:///H:\\準(zhǔn)備修改傳百度文檔\\合并2016121020160713\\ztf2017.11.11\\電氣%20工科%20畢

溫馨提示

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

評(píng)論

0/150

提交評(píng)論