畢業(yè)設(shè)計---電工測量復(fù)用表設(shè)計_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 引言</b></p><p>  傳統(tǒng)的電工量(電壓、電流、頻率、功率因數(shù)、各種功率、紋波系數(shù)等)測量使用各種各樣的測量儀表,但計算機技術(shù)的發(fā)展已經(jīng)為新型電工測量系統(tǒng)的設(shè)計提供了可能。對用戶負載的電壓、電流進行取樣,應(yīng)用數(shù)據(jù)采集與數(shù)據(jù)處理技術(shù)可以方便地給出電壓(電流)的各次諧波成分的幅度、頻率與相位,從而利用計算方式可以一次性地給出前述眾多電工量,實現(xiàn)一機

2、多用。</p><p>  1.1 課題研究的背景</p><p>  電學(xué)參數(shù)測量技術(shù)涉及范圍廣,特別是微電壓、微電流、高電壓以及待測信號強弱相差極大的情況下,既要保證弱信號的測量精度又要兼顧強信號的測量范圍,在技術(shù)上有一定的難度。傳統(tǒng)的低成本儀表在測量電壓、電流時都采用手動選擇檔位的方法來轉(zhuǎn)換量程。在使用中,當忘記轉(zhuǎn)換檔位時,會造成儀表測量精度下降或損壞。 現(xiàn)代電子測量對系統(tǒng)的精度要

3、求越來越高且智能化程度也越來越高。</p><p>  近十幾年來,單片機作為微計算機一個很重要的分支,應(yīng)用廣泛,發(fā)展迅速,已經(jīng)對人類社會產(chǎn)生了深遠的影響。單片機在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集及處理、科技計算、商業(yè)管理及辦公室自動化等方面獲得了廣泛的應(yīng)用。單片機具有體積小、重量輕、耗能省、價格低可靠性和通用靈活性等特點,尤其是美國Intel公司生產(chǎn)的MCS-51系列單片機,由于其具有集成度高、處理功能強、可靠

4、性好、結(jié)構(gòu)簡單、價格低廉、易于使用等優(yōu)點,在我國已經(jīng)得到廣泛的應(yīng)用。由于MCS-51單片機易于學(xué)習(xí)、掌握、性能價格比高,另外以MCS-51單片機的基本內(nèi)核為核心的各種擴展型、增強型的單片機不斷推出,所以在今后若干年內(nèi),MCS-51系列單片機仍是我國在單片機應(yīng)用領(lǐng)域中首選機型。單片機技術(shù)在自動控制領(lǐng)域中有著十分廣泛的應(yīng)用。如汽車、航空、電話、傳真、視頻等,很多行業(yè)設(shè)計自動控制情況下,通常會涉及單片機技術(shù)。</p><p

5、>  1.2 課題研究的意義</p><p>  電壓、電流是基本的物理量,對電壓、電流進行測量的要求是普遍存在的,無論在科學(xué)研究生產(chǎn)實踐,或是在日常生活中,人們都需要對電壓進行測量。不僅電量,即使是非電量也常常是借助電壓、電流測量的方法來進行研究。本設(shè)計的最基本的功能就是實現(xiàn)一定范圍內(nèi)的電壓、電流的測量。</p><p>  功率因數(shù)是交流電路的重要技術(shù)數(shù)據(jù)之一。功率因數(shù)的高低,

6、對于電氣設(shè)備的利用率和分析、研究電能消耗等問題都有十分重要的意義。因此,在電力系統(tǒng)和工業(yè)生產(chǎn)中,功率因數(shù)的在線精確檢測對電量計算及無功功率補償計算十分重要。所謂功率因數(shù),是指任意二端網(wǎng)絡(luò)(與外界有二個接點的電路)兩端電壓U與其中電流I之間的位相差的余弦。在二端網(wǎng)絡(luò)中消耗的功率是指平均功率,也稱為有功功率,它等于</p><p>  由此可以看出,電路中消耗的功率P,不僅取決于電壓V與電流I的大小,還與功率因數(shù)有關(guān)

7、。電路的功率因數(shù)定義為有功功率P與視在功率功率S的比值,即:</p><p>  其中,角表示功率因數(shù)角,代表了電壓U與電流I之間的夾角。功率因數(shù)也就是功率因數(shù)角的余弦,因此,測出電壓與電流間的相位差,就可以計算出功率因數(shù)。功率因數(shù)的大小,取決于電路中負載的性質(zhì)。對于電阻性負載,其電壓與電流的位相差為0,因此,電路的功率因數(shù)最大();而純電感電路,電壓與電流的位相差為,并且是電壓超前電流;在純電容電路中,電壓與電

8、流的位相差則為,即電流超前電壓。在后兩種電路中,功率因數(shù)都為0。對于一般性負載的電路,功率因數(shù)就介于0與1之間。功率因素的測量是本課題設(shè)計的一個比較重要的功能。</p><p>  在交流電路中,由電源供給負載的電功率有兩種:一種是有功功率,一種是無功功率。有功功率是保持用電設(shè)備正常運行所需的電功率,也就是將電能轉(zhuǎn)換為其他形式能量(機械能、光能、熱能)的電功率。無功功率比較抽象,它是用于電路內(nèi)電場與磁場的交換,并

9、用來在電氣設(shè)備中建立和維持磁場的電功率。它不對外做功,而是轉(zhuǎn)變?yōu)槠渌问降哪芰?。凡是有電磁線圈的電氣設(shè)備,要建立磁場,就要消耗無功功率。無功功率決不是無用功率,它的用處很大。電動機需要建立和維持旋轉(zhuǎn)磁場,使轉(zhuǎn)子轉(zhuǎn)動,從而帶動機械運動,電動機的轉(zhuǎn)子磁場就是靠從電源取得無功功率建立的。變壓器也同樣需要無功功率,才能使變壓器的一次線圈產(chǎn)生磁場,在二次線圈感應(yīng)出電壓。因此,沒有無功功率,電動機就不會轉(zhuǎn)動,變壓器也不能變壓,交流接觸器不會吸合。在

10、正常情況下,用電設(shè)備不但要從電源取得有功功率,同時還需要從電源取得無功功率。如果電網(wǎng)中的無功功率供不應(yīng)求,用電設(shè)備就沒有足夠的無功功率來建立正常的電磁場,那么,這些用電設(shè)備就不能維持在額定情況下工作,用電設(shè)備的端電壓就要下降,從而影響用電設(shè)備的正常運行。無功功率對供、用電產(chǎn)生一定的不良影響,主要表現(xiàn)在:</p><p>  (1)降低發(fā)電機有功功率的輸出。</p><p>  (2)降低輸

11、、變電設(shè)備的供電能力。</p><p>  (3)造成線路電壓損失增大和電能損耗的增加。</p><p>  (4)造成低功率因數(shù)運行和電壓下降,使電氣設(shè)備容量得不到充分發(fā)揮。</p><p>  從發(fā)電機和高壓輸電線供給的無功功率,遠遠滿足不了負荷的需要,所以在電網(wǎng)中要設(shè)置一些無功補償裝置來補充無功功率,以保證用戶對無功功率的需要,這樣用電設(shè)備才能在額定電壓下工作

12、。這就是電網(wǎng)需要裝設(shè)無功補償裝置的道理。由此可見通過儀器測量電路中的有用功率和無用功率,從而改變電路中的有用功率和無用功率的比例,對于電器設(shè)備的正常工作顯得十分的重要。</p><p>  1.3 智能儀表國內(nèi)外發(fā)展概況</p><p>  智能儀器/儀表是計算機技術(shù)向測量儀器移植的產(chǎn)物。是含有微計算機或微處理器的測量儀器。由于它擁有對數(shù)據(jù)的存儲、運算、邏輯判斷及自動化操作等功能,有著智

13、能的作用(表現(xiàn)為智能的延伸或加強等),因而被稱之為智能儀器。這一觀點已逐漸被國內(nèi)外學(xué)術(shù)界所接受。如我國電磁測量信息處理儀器學(xué)會于1988年正式成立“自動測試與智能儀器專業(yè)學(xué)組”,1986年IMECO(InternationalM easurementConfederation,國際測量聯(lián)合會)以“智能儀器”為主題召開了專門的討論會,IFAC (InternationalFederation of Automatic Control,國際

14、自動控制聯(lián)合會)1988年的理事會正式確立“智能元件及儀器”(In telligentC omponentsa ndI nstruments)(TC25)( C&I)為其系列學(xué)術(shù)委員會之一。此外,1989年5月在我國武漢召開了第一界測試技術(shù)與智能儀器國際學(xué)術(shù)討論會(ISMT 1189),自從 1971年世界上出現(xiàn)了第一種微處理器(美國Intel公司4004型4位微處理器芯片)以來,微計算機技術(shù)得到了迅猛的發(fā)展</p>

15、<p>  1.4 本課題的主要工作</p><p>  隨著電子技術(shù)的飛速發(fā)展,以前的機械式的電壓、電流、功率因素、有用功率和無用功率測量儀表已經(jīng)漸漸的被電子儀表所替代。而且現(xiàn)在的電子產(chǎn)品的一個顯著的特點是:體積越來越小,功能越來越多元化,性能越來越好。鑒于目前的電子產(chǎn)品的發(fā)展趨勢,本課題設(shè)計一個電工測量復(fù)用系統(tǒng),該系統(tǒng)可以同時完成電壓、電流、功率因素角、有用功率、無用功率等物理參數(shù)的測量和計算

16、。同時可以通過按鍵的選擇在LED數(shù)碼管上面顯示的參數(shù)值。</p><p>  本課題的主要工作和設(shè)計內(nèi)容如下:</p><p>  1.查閱電工測量儀表的相關(guān)資料;</p><p>  2.檢索復(fù)用表資料;</p><p>  3.掌握多通道信號的取樣與數(shù)據(jù)采集技術(shù);</p><p>  4.掌握各種電工量的概

17、念;</p><p>  5.設(shè)計完成此復(fù)用表;</p><p>  6.復(fù)用表程序設(shè)計;</p><p>  2 總體方案的設(shè)計及組成</p><p>  2.1 系統(tǒng)的基本功能</p><p>  一般來說,電子測量儀器的硬件組成包括:模擬信號輸入部分、信號處理部分、模數(shù)轉(zhuǎn)換部分和人機交互部分。但每一部分的

18、具體實現(xiàn)方法應(yīng)結(jié)合儀器所需完成的功能、成本及相關(guān)技術(shù)的發(fā)展與成熟程度等因素綜合考慮。本課題考慮設(shè)計一個系統(tǒng),該系統(tǒng)能完成電壓測量、電流測量、功率因素測量、有用功率測量和無用功率測量的要求。主要的設(shè)計思路是對用戶負載的電壓、電流模擬量進行取數(shù)字樣,應(yīng)用數(shù)據(jù)采集與數(shù)據(jù)處理技術(shù)可以方便地給出電壓(電流)的各次諧波成分的幅度、頻率與相位,通過比較電壓、電流的相位差,計算出功率因素角,最后利用計算方式可以得到有用功率和無用功率,從而實現(xiàn)一個儀器測

19、量眾多電工量。</p><p>  2.2 設(shè)計方案比較</p><p>  根據(jù)以上系統(tǒng)所需完成的功能和特點,本設(shè)計提出方案1和方案2,并進行比較最后得出方案1比較適合這次的畢業(yè)設(shè)計。</p><p>  2.2.1 設(shè)計方案一</p><p>  在方案1中,電工測量復(fù)用表系統(tǒng)設(shè)計的核心芯片采用的MCS-51系列單片機。本電工測量系統(tǒng)

20、選用AT89C51單片機作為系統(tǒng)的核心。該單片機具有兩個外部中斷,兩個定時中斷,方波輸入接入其中一個中斷,當用低脈沖到來,觸發(fā)外部中斷0,同時定時器0開始計數(shù),通過計算得到功率因素角。模擬數(shù)字轉(zhuǎn)換芯片采用的是8位串行AD轉(zhuǎn)換芯片ADC0832,利用該芯片實現(xiàn)把電壓和電流模擬信號轉(zhuǎn)換為數(shù)字信號。通過前面得到的電壓、電流和功率因素角等值,然后計算得到有用功率和無用功率,最后通過按鍵選擇顯示內(nèi)容。系統(tǒng)主要分為:電源部分、模擬數(shù)字轉(zhuǎn)換部分、方波

21、輸入電路、晶振電路、顯示電路、復(fù)位等電路。圖1為基于MSC-51單片機的設(shè)計框圖。</p><p>  圖1 基于MSC-51單片機設(shè)計框圖</p><p>  2.2.2 設(shè)計方案二</p><p>  在方案2中,電工測量復(fù)用表系統(tǒng)設(shè)計的核心芯片采用的PIC系列單片機。選用PIC16C74單片機作為系統(tǒng)的核心。該單片機內(nèi)置具有8路10 位 A/D轉(zhuǎn)換,3個硬件

22、定時器,方波輸入接入其中一個中斷,當用低脈沖到來,觸發(fā)外部中斷0,同時定時器0開始計數(shù),通過計算得到功率因素角。外部電壓和電流接入到其中的兩個AD轉(zhuǎn)換AN0和AN1。通過前面得到的電壓、電流和功率因素角等值,然后計算得到有用功率和無用功率,最后通過按鍵選擇顯示內(nèi)容。系統(tǒng)主要分為:電源部分、電壓輸入、電流輸入、方波輸入電路、晶振電路、顯示電路、復(fù)位等電路。圖2為基于PIC單片機的設(shè)計框圖。</p><p>  圖2

23、基于PIC單片機設(shè)計框圖</p><p>  2.2.3 方案比較</p><p>  方案1采用的是MSC-51系列單片機,該系列單片機沒有集成AD轉(zhuǎn)換的功能,所以需要外接一個AD轉(zhuǎn)換芯片,這樣硬件電路比較復(fù)雜,但是由于MSC-51是大多數(shù)高校的單片機的入門課程,而且其開發(fā)工具也比較多,也有很多人已經(jīng)自制出一套免費的開發(fā)工具,所以開發(fā)成本比較低廉,比較適合學(xué)生畢業(yè)設(shè)計選用。</p

24、><p>  方案2采用的是PIC系列單片機,該系列單片機集成了8路10位AD轉(zhuǎn)換的功能,不需要外接AD轉(zhuǎn)換芯片,這樣硬件電路十分簡單,但是由于PIC系列單片機的開發(fā)工具費用比較昂貴,前期一次性投入比較大,比較適合公司的選用。</p><p>  綜合分析,本次畢業(yè)設(shè)計采用方案1進行設(shè)計。</p><p>  2.3 系統(tǒng)的設(shè)計原則</p><p&

25、gt;  電工測量復(fù)用表是科學(xué)研究生產(chǎn)實踐,日常生活的重要保證,其功能、測量設(shè)備和技術(shù)都應(yīng)遵循以下原則:</p><p>  系統(tǒng)設(shè)計滿足現(xiàn)行《電子儀表技術(shù)規(guī)范》的要求。</p><p>  先進性。系統(tǒng)將在了解國內(nèi)外發(fā)展動態(tài),吸收其經(jīng)驗和成果的基礎(chǔ)上進行方案設(shè)計,使系統(tǒng)的技術(shù)性能和水平具有明顯的先進性。</p><p>  可靠性。系統(tǒng)運行安全可靠,性能穩(wěn)定,可以

26、在惡劣環(huán)境下長期工作。</p><p>  通用性。在設(shè)計時,應(yīng)充分考慮其應(yīng)用對象的共性,使系統(tǒng)具有較強的通用性。</p><p>  擴展性。系統(tǒng)的設(shè)計容量要足夠大,滿足系統(tǒng)今后擴充需要。</p><p>  經(jīng)濟性。系統(tǒng)的造價經(jīng)濟合理,性能價格高。</p><p>  操作維護方便。在軟件方面,要求人機界面友好,操作簡便;在硬件方面,要求

27、維護檢修方便。</p><p>  3 硬件結(jié)構(gòu)與設(shè)計</p><p>  電工測量復(fù)用表設(shè)計分為硬件設(shè)計部分和軟件設(shè)計部分,硬件是軟件的基礎(chǔ),軟件是硬件的靈魂,下面我們對硬件設(shè)計進行簡單的描述。</p><p>  3.1 AT89C51單片機簡介</p><p>  單片機是一個單芯片形態(tài),面向控制對象的嵌入式應(yīng)用計算機系統(tǒng)。它的出現(xiàn)

28、及發(fā)展使計算機技術(shù)從通用型數(shù)值計算領(lǐng)域進入到智能化的控制領(lǐng)域。從此,計算機技術(shù)在兩個重要領(lǐng)域—通用計算機領(lǐng)域和嵌入式計算機領(lǐng)域都得到了極其重要的發(fā)展,并正在深深地改變著我們的社會。</p><p>  AT89C51 是美國 ATMEL公司生產(chǎn)的低電壓,高性能 CMOS8位單片機,片內(nèi)含4 k bytes 的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATME

29、L公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,支持ISP在線下載程序,功能強大AT89C51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。 </p><p><b>  主要性能參數(shù):</b></p><p>  與MCS-51產(chǎn)品指令系統(tǒng)完全兼容</p>

30、<p>  4k字節(jié)可重擦寫Flash閃速存儲器</p><p><b>  1000次擦寫周期</b></p><p>  全靜態(tài)操作:0Hz-24MHz</p><p><b>  三級加密程序存儲器</b></p><p>  128×8字節(jié)內(nèi)部RAM</p>

31、<p>  32個可編程I/O口線</p><p>  2個16位定時/計數(shù)器</p><p><b>  6個中斷源</b></p><p>  可編程串行UART通道</p><p>  低功耗空閑和掉電模式</p><p>  AT89C51的引腳圖如圖3所示,各引腳的主要功能為

32、:</p><p>  圖3 AT89C51的引腳圖</p><p><b>  VCC: 提供電源</b></p><p><b>  GND: 地</b></p><p>  P0口:P0 口是一組8 位漏極開路型雙向 I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式

33、驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在FIash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p>  P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1

34、”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(ILI)。Flash 編程和程序校驗期間,P1 接收低 8 位地址。</p><p>  P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口

35、使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(ILI)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個訪問期間不改變。Flash 編程或校驗時,P2 亦接收高位地址和其它控制信號。</p>&

36、lt;p>  P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3 口將用上拉電阻輸出電流(ILI)。</p><p>  P3 口除了作為一般的 I/O 口線外,更重要的用途是它的第二功能,如表1所示:</p><p>  表

37、1 P3口的第二功能</p><p>  P3 口還接收一些用于 Flash 閃速存儲器編程和程序校驗的控制信號。</p><p>  RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。</p><p>  ALE/PROG: 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問

38、外部存儲器,ALE 仍以時鐘振蕩頻率的 l/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的DO位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。<

39、;/p><p>  EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源 Vpp,當然這必須是該器件是使用 12V 編程電壓 Vpp。</p>

40、<p>  XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.2 電路設(shè)計工具選擇</p><p>  隨著計算機在國內(nèi)的逐漸普及,EDA(Electronic Design Automatic,電路設(shè)計自動化)軟件在電路行業(yè)的應(yīng)用也越來越廣泛,目前國內(nèi)最為常用的

41、EDA軟件有:PROTEL、ORCAD、PSPICE、EWB和Proteus等。</p><p><b>  PROTEL</b></p><p>  PROTEL是PORTEL公司在20世紀80年代末推出的電路行業(yè)的CAD軟件,它當之無愧地排在眾多EDA軟件的前面,是電路設(shè)計者的首選軟件。它較早在國內(nèi)使用,普及率也最高,有些高校的電路專業(yè)還專門開設(shè)了課程來學(xué)習(xí)它。幾

42、乎所有的電路公司都要用到它。早期的PROTEL主要作為印刷板自動布線工具使用,運行在DOS環(huán)境,對硬件的要求很低,在無硬盤286機的1M內(nèi)存下就能運行。它的功能較少,只有電原理圖繪制與印刷板設(shè)計功能,印刷板自動布線的布通率也低。在PROTEL99成為經(jīng)典至今仍然廣泛被人使用之后,現(xiàn)在的PROTEL已發(fā)展到PROTELDXP,是個龐大的EDA軟件,它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印刷電路板設(shè)計(包含印刷電路板自動

43、布線)、可編程邏輯器件設(shè)計、圖表生成、電路表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務(wù)器)體系結(jié)構(gòu),同時還兼容一些其它設(shè)計軟件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多層印制線路板的自動布線,可實現(xiàn)高密度PCB的100%布通率。</p><p><b>  ORCAD</b></p><p>  ORCAD是由ORCAD

44、公司于20世紀80年代末推出的EDA軟件。它是世界上使用最廣的EDA軟件,每天都有上百萬的電路工程師在使用它,相對于其它EDA軟件而言,它的功能也是最強大的,由于ORCAD軟件使用了軟件狗防盜版,因此在國內(nèi)它并不普及,知名度也比不上PROTEL,只有少數(shù)的電路設(shè)計者使用它。早在工作于DOS環(huán)境的ORCAD 4.0,它就集成了電原理圖繪制、印制電路板設(shè)計、數(shù)字電路仿真、可編程邏輯器件設(shè)計等功能,而且它的界面友好且直觀。它的元器件庫也是所有

45、EDA軟件中最豐富的,在世界上它一直是EAD軟件中的首選。它集成了電原理圖繪制,印刷電路板設(shè)計、模擬與數(shù)字電路混合仿真等功能。它的電路仿真的元器件庫更達到了8500個,收入了幾乎所有的通用型電路元器件模塊但同時它的售價也不菲。</p><p><b>  PSPICE</b></p><p>  PSPICE是較早出現(xiàn)的EDA軟件之一,1985年就由MICROSIM公

46、司推出。在電路仿真方面,它的功能可以說是最為強大,在國內(nèi)被普遍使用。整個軟件由原理圖編輯、電路仿真、激勵編輯、元器件庫編輯、波形圖等幾個部分組成,使用時是一個整體,但各個部分各有各的窗口。</p><p>  PSPICE發(fā)展至今,已被并入ORCAD,成為ORCAD-PSPICE,但PSPICE仍然單獨銷售和使用,是功能強大的模擬電路和數(shù)字電路混合仿真EDA軟件。它可以進行各種各樣的電路仿真、激勵建立、溫度與噪聲

47、分析、模擬控制、波形輸出、數(shù)據(jù)輸出、并在同一個窗口內(nèi)同時顯示模擬與數(shù)字的仿真結(jié)果。無論對哪種器件哪些電路進行仿真,包括IGBT、脈寬調(diào)制電路、模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換等,都可以得到精確的仿真結(jié)果。對于庫中沒有的元器件模塊,還可以自已編輯。它在INTERNET上的網(wǎng)址與ORCAD公司一樣。 </p><p><b>  EWB</b></p><p>  EWB(ELEC

48、TRONICS WORKBENCH EDA)軟件是交互圖像技術(shù)有限公司(INTERACTIVE IMAGE TECHNOLOGIES Ltd)在20世紀90年代初推出的EDA軟件,但在國內(nèi)開始使用卻是近幾年的事。相對其它EDA軟件而言,它是個較小巧的軟件,功能也比較單一,就是進行模擬電路和數(shù)字電路的混合仿真,但你絕對不可小瞧它,它的仿真功能十分強大,幾乎100%地仿真出真實電路的結(jié)果,而且它在桌面上提供了萬用表、示波器、信號發(fā)生器、掃頻

49、儀、邏輯分析儀、數(shù)字信號發(fā)生器、邏輯轉(zhuǎn)換器等工具,它的器件庫中則包含了許多大公司的晶體管元器件、集成電路和數(shù)字門電路芯片,器件庫中沒有的元器件,還可以由外部模塊導(dǎo)入。在眾多的電路仿真軟件中,EWB是最容易上手的,它的工作界面非常直觀,原理圖和各種工具都在同一個窗口內(nèi),未接觸過它的人稍加學(xué)習(xí)就可以很熟練地使用該軟件。對于電路設(shè)計工作者來說,它是個極好的EDA工具,許多電路你無須動用烙鐵就可得知它的結(jié)果,而且若想更換元器件或改變元器件參數(shù),

50、只須點點鼠標即可,它也可以作為電學(xué)知識的輔助教學(xué)軟件使用,利用它可以直接從屏幕上看到各種電路的輸出波形。</p><p><b>  Proteus</b></p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:1.實現(xiàn)

51、了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。2.支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。3.提供軟件調(diào)試功

52、能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。4.具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。</p><p>  由于本次畢業(yè)設(shè)計不僅需要原理分析,還需要進行硬件設(shè)計和調(diào)試,故本次畢

53、業(yè)設(shè)計采用的比較常用的設(shè)計工具Protell 99 SE。</p><p><b>  3.3 電源部分</b></p><p>  對于現(xiàn)在一個電子系統(tǒng)來說,電源部分的設(shè)計也越來越重要。對于一個實際的電子系統(tǒng),要認真的分析它的電源需求。不僅僅是關(guān)心輸入電壓,輸出電壓和電流,還要仔細考慮到總的功耗,電源實現(xiàn)的效率,電源部分對負載變化的瞬態(tài)響應(yīng)能力,關(guān)鍵器件對電源波動

54、的容忍范圍以及相應(yīng)的允許的電源紋波,還有散熱問題等等。本次電工測量復(fù)用表設(shè)計系統(tǒng)中使用到了+5V的電源,電源設(shè)計的原理圖如圖4,輸入是+12V的直流電源。電路中使用到穩(wěn)壓的芯片是7805,7805是5伏的穩(wěn)壓芯片,這種芯片的好處是應(yīng)用比較的簡單,只需要接上幾個電容就可以使用了。而且如果前段如果電源有輕微的波動幾乎對后面的輸出沒有影響,這種芯片具有自己調(diào)節(jié)功能,電路中1N5819的作用是防止電源接反,C1、C2、C3、C4、C5、C6的作

55、用是電源濾波。</p><p>  圖4 電源基于MSC-51單片機設(shè)計框圖實現(xiàn)原理圖</p><p>  3.4 ADC0832模數(shù)轉(zhuǎn)換</p><p>  本次畢業(yè)設(shè)計的電壓、電流模擬量的采集是通過串行AD轉(zhuǎn)換芯片來實現(xiàn)。串行AD轉(zhuǎn)換芯片選用ADC0832,ADC0832是是美國國家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換 芯片。由于它體積小,兼容性

56、強,性價比高而深受單片機愛好者及企業(yè)歡迎, 其目前已經(jīng)有很高的普及率。</p><p>  3.4.1 ADC0832 具有以下特點</p><p><b>  8位分辨率;</b></p><p><b>  雙通道A/D轉(zhuǎn)換;</b></p><p>  輸入輸出電平與TTL/CMOS相兼容;

57、</p><p>  5V電源供電時輸入電壓在0~5V之間;</p><p>  工作頻率為250KHZ,轉(zhuǎn)換時間為32μS;</p><p>  一般功耗僅為15mW; </p><p>  8P、14P—DIP(雙列直插)、PICC 多種封裝;</p><p>  商用級芯片溫寬為0°C to +70&#

58、176;C,工業(yè)級芯片溫寬為.40°C to +85°C;</p><p>  3.4.2 芯片接口說明</p><p>  CS_ 片選使能,低電平芯片使能。</p><p>  CH0 模擬輸入通道0,或作為IN+/-使用。</p><p>  CH1 模擬輸入通道1,或作為IN+/-使用。 </p>

59、<p>  GND 芯片參考0 電位(地)。</p><p>  DI 數(shù)據(jù)信號輸入,選擇通道控制。</p><p>  DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。</p><p>  CLK 芯片時鐘輸入。 </p><p>  Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。</p><p>  ADC0832

60、為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 </p><p>  3.4.3 單片機對ADC083

61、2 的控制原理</p><p>  正常情況下ADC0832 與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完

62、全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1 個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能。圖5為ADC0832與單片機AT89C51的連接電路圖。</p><p>  圖5 ADC0832應(yīng)用電路圖</p><p><

63、b>  3.5 復(fù)位電路</b></p><p>  隨著測量技術(shù)的發(fā)展和微處理器的廣泛應(yīng)用,單片機系統(tǒng)的電路越來越復(fù)雜,而系統(tǒng)的可靠性問題也越來越突出,一般的單片機系統(tǒng)在工業(yè)現(xiàn)場等惡劣的環(huán)境下容易死機,要求系統(tǒng)在這些場合可靠穩(wěn)定的工作,就必須外加監(jiān)視電路。MCS-51的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。MCS-51單片機片內(nèi)復(fù)位為,復(fù)位引腳RST通過一個斯密特觸發(fā)器用來抑制噪聲,在每個機器周期

64、的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。</p><p>  復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實現(xiàn)的。按鍵脈沖復(fù)

65、位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的,圖6兼有上電復(fù)位和按鈕復(fù)位的電路。復(fù)位電路軟件程序跑飛或者硬件發(fā)生錯誤的時候產(chǎn)生一個復(fù)位信號,控制MCS-51單片機從0000H單元開始執(zhí)行程序,重新執(zhí)行軟件程序。</p><p><b>  圖6 上電復(fù)位電路</b></p><p>  在單片機設(shè)計中,若有外部擴展的I/O接口電路需初始復(fù)位,如果它們的復(fù)位端和MCS-5

66、1單片機的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,這時復(fù)位電路中的R、C參數(shù)要統(tǒng)一考慮以保證可靠的復(fù)位。如果單片機MCS-51單片機與外圍I/O接口電路的復(fù)位電路和復(fù)位時間不完全一致,使單片機初始化程序不能正常運行,外圍I/O接口電路的復(fù)位也可以不和MCS-51單片機復(fù)位端相連,僅采用獨立的上電復(fù)位電路。一般來說,單片機的復(fù)位速度比外圍I/O快些。若RC上電復(fù)位電路接MCS-51單片機和外圍電路復(fù)位端,則能時系統(tǒng)可靠地同步復(fù)位。為

67、保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)用到一定的復(fù)位延遲時間。</p><p><b>  3.6 晶振電路</b></p><p>  時鐘在單片機中非常重要,單片機各功能部件的運行都是以時鐘頻率為基準。時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。</p>

68、<p>  內(nèi)部時鐘方式電路圖如下圖7所示:</p><p><b>  圖7 內(nèi)部時鐘電路</b></p><p>  MCS-51單片機內(nèi)部有一個用與構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器電路。</p><p

69、>  電路中的電容C1和C2典型值通常選擇為30PF左右。對外接電容的值雖然沒有嚴格的要求,但是電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體的振蕩頻率的范圍通常是在1.2MHz-12MHz之間。晶體的頻率越高,則系統(tǒng)的時鐘頻率也就越高,單片機的運行速度也就越快。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性能好的NPO高頻電容。MCS-51單片機常選擇振蕩頻率6MHz或12MHz的石英晶體。</p>&

70、lt;p><b>  外部時鐘方式:</b></p><p>  外部時鐘方式電路圖如下圖8所示,外部時鐘方式是使用外部振蕩脈沖信號,常用于多片MCS-51單片機同時工作,以便于同步。對外部脈沖信號只要求高電平的持續(xù)時間大于20us,一般為低于12MHz的方波。外部的時鐘源直接接到XTAL2端,直接輸入到片內(nèi)的時鐘發(fā)生器上。由于XTAL2的邏輯電平不是TTL的,因此要外接一個4.7k-

71、10k的上拉電阻。</p><p><b>  圖8 外部時鐘電路</b></p><p>  這次的設(shè)計采用MCS-51的內(nèi)部時鐘方式。因為外部時鐘方式是用外部振蕩脈沖信號,用于多片MCS-51單片機同時工作。在這次設(shè)計中只用一個MCS-51單片機,不需要振蕩脈沖信號。</p><p>  3.7 單片機基本工作電路</p>

72、<p>  本設(shè)計的核心是單片機電路,考慮到我們需要兩個中斷輸入,存儲容量、外部接口對單片機端口的需要以及兼顧到節(jié)約成本的原則,我們選用了常用的AT89C51單片機。AT89C51是低功耗、高性能、經(jīng)濟的8位CMOS微處理器,工作頻率為0-24MHz,內(nèi)置4K字節(jié)可編程只讀閃存,128x8位的內(nèi)部RAM,32位可編程I/O總線。它采用Atmel公司的非易儲器制造技術(shù),與MCS51的指令設(shè)置和芯片引腳可兼容。AT89S51可以按

73、照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。</p><p>  AT89C51工作的最簡單的電路是其外圍接一個晶振和一個復(fù)位電路,給單片機接上電源和地,單片機就可以工作了。單片機正常工作的條件:</p><p><b>  1、+5V電源;</b></p>

74、<p><b>  2、晶振電路;</b></p><p><b>  3、復(fù)位電路;</b></p><p><b>  4、上拉電阻;</b></p><p>  其最簡單的工作原理圖如圖9:</p><p>  圖9 AT89S51單片機工作電路</p&g

75、t;<p><b>  3.8 顯示電路</b></p><p>  8段數(shù)碼管屬于LED發(fā)光器件的一種。LED發(fā)光器件一般常用的有兩類:數(shù)碼管和點陣。8段數(shù)碼管又稱為8字型數(shù)碼管,分為8段:A、B、C、D、E、F、G、P。其中P為小數(shù)點。數(shù)碼管常用的有10根管腳,每一段有一根管腳,另外兩根管腳為一個數(shù)碼管的公共端,兩根之間相互連通,如圖所示:</p><

76、p>  圖10 LED的管腳和電路原理</p><p>  從電路上,數(shù)碼管又可分為共陰和共陽兩種。</p><p>  用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)顯示。</p><p><b>  圖11 顯示電路</b></p><p>  靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單

77、片機將所有要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示時再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的CPU時間少。靜態(tài)顯示中,每一個顯示器都要占用單獨的具有鎖存功能的I/O接口,該接口用于筆劃段字型代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時,單片機在發(fā)送新的字形碼。另一種方法是動態(tài)掃描顯示。動態(tài)掃描方法是用其接口電路把所有顯示器的8個筆畫段a-h同名端連在一起,而每一個

78、顯示器的公共極COM各自獨立的受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是哪個顯示器亮,則取決于COM段,而這一段是由I/O控制的,由單片機決定何時顯示哪一位了。動態(tài)掃描用分時的方法輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。</p><

79、p>  本次畢業(yè)設(shè)計需要4個數(shù)碼管,所以采用動態(tài)的顯示的方式。</p><p><b>  3.9 按鍵電路</b></p><p>  按鍵是實現(xiàn)人機對話的比較直觀的接口,可以通過按鍵實現(xiàn)人們想讓單片機做的不同的工作。鍵盤是一組按鍵的集合,鍵是一種常開型開關(guān),平時按鍵的兩個觸點處于斷開狀態(tài),按下鍵是它們閉合。鍵盤分編碼鍵盤和非編碼鍵盤,案件的識別由專用的硬件

80、譯碼實現(xiàn),并能產(chǎn)生鍵編號或鍵值的稱為編碼鍵盤,而缺少這種鍵盤編碼電路要靠自編軟件識別的稱為非編碼鍵盤。在單片機組成的電路系統(tǒng)及智能化儀器中,用的更多的是非編碼鍵盤。圖12就是一種比較典型的按鍵電路,在按鍵沒有按下的時候,輸出的是高電平,當按鍵按下去的時候,輸出的低電平。</p><p><b>  圖12 按鍵電路</b></p><p>  按鍵消抖:通常的按鍵所用

81、開關(guān)為機械彈性開關(guān),當機械觸點斷開、閉合時,電壓信號小型如下圖。由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,如下圖13。抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數(shù),在很多場合都要用到。</p><p><b>  圖13 按鍵過程</b></p>

82、<p>  按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次。為確保CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動,可用硬件或軟件兩種方法。 硬件消抖:在鍵數(shù)較少時可用硬件方法消除鍵抖動。下圖所示的RS觸發(fā)器為常用的硬件去抖。</p><p>  圖14 RS觸

83、發(fā)器</p><p>  圖14中兩個“與非”門構(gòu)成一個RS觸發(fā)器。當按鍵未按下時,輸出為1;當鍵按下時,輸出為0。此時即使用按鍵的機械性能,使按鍵因彈性抖動而產(chǎn)生瞬時斷開(抖動跳開B),中要按鍵不返回原始狀態(tài)A,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出保持為0,不會產(chǎn)生抖動的波形。也就是說,即使B點的電壓波形是抖動的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波。這一點通過分析RS觸發(fā)器的工作過程很容易得到驗證。</p&

84、gt;<p>  軟件消抖:如果按鍵較多,常用軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。當檢測到按鍵釋放后,也要給5ms~10ms的延時,待后沿抖動消失后才能轉(zhuǎn)入該鍵的處理程序。</p><p><b>  4 軟件設(shè)計</b></p><p

85、>  4.1 軟件設(shè)計概述</p><p>  軟件設(shè)計是一個創(chuàng)造性的過程,對一些設(shè)計者來說需要一定的資質(zhì),而最后設(shè)計通常都是由一些初步設(shè)計演變而來的。從書本上學(xué)不會設(shè)計,只能經(jīng)過實踐,通過對實際系統(tǒng)的研究和實踐才能學(xué)會。對于高效的軟件工程,良好的設(shè)計是關(guān)鍵,一個設(shè)計得好的軟件系統(tǒng)應(yīng)該是可直接實現(xiàn)和易于維護、易懂和可靠的。設(shè)計得不好的系統(tǒng),盡管可以工作,但很可能維護起來費用昂貴、測試困難和不可靠,因此,設(shè)計

86、階段是軟件開發(fā)過程中最重要的階段。</p><p>  直到最近,軟件設(shè)計在很大程度上仍是一個特定過程。一般用自然語言給定一個需求集,預(yù)先作非正式設(shè)計,常常用流程圖的形式說明,接著開始編碼,當系統(tǒng)實現(xiàn)時設(shè)計還需修改。當實現(xiàn)階段完成后,設(shè)計往往已與起初形式相去甚遠以至于設(shè)計的原始文檔完全不適合對系統(tǒng)的描述。</p><p>  4.1.1 軟件設(shè)計的步驟</p><p&

87、gt;  大型的軟件設(shè)計是一個龐大的系統(tǒng)工程,需要前期的市場調(diào)查、需求分析,還需要各個行業(yè)的支持。本次畢業(yè)設(shè)計的程序是一個很簡單的過程,所以步驟也相對應(yīng)的簡單了許多。</p><p>  第一步:分析整個系統(tǒng)可以由幾個子系統(tǒng)組成,并考慮幾個子系統(tǒng)之間的內(nèi)在的關(guān)系。</p><p>  第二步:編寫各個子系統(tǒng)的程序,最后組合在一起,得到整個系統(tǒng)。</p><p>  

88、第三步:編譯,查錯,改錯(包括語法錯誤、邏輯錯誤)</p><p>  第四步:把編譯,看是否得到我們需要的結(jié)果,如果得不到結(jié)果就回到第三步,直到最后得到我們想要的結(jié)果。</p><p>  4.1.2 軟件設(shè)計任務(wù)</p><p>  軟件設(shè)計主要是針對硬件設(shè)計里面的控制部分的,這里指AT89C51單片機,一般的單片機均可用匯編語言和C語言進行編程。C語言直觀,

89、相對比較的簡單,但占用的程序存儲器的內(nèi)存比較大,匯編語言是針對硬件設(shè)計的語言,如果想用匯編語言設(shè)計的話必須要對硬件有很大的了解,相對C語言就比較的復(fù)雜,但是比較的精簡,占用的程序存儲器的空間比較的小。</p><p>  本次畢業(yè)設(shè)計采用匯編語言編程,軟件部分需要完成的任務(wù):單片機初始化、ADC0832電壓、電流采樣,功率因素角測量、功率因素計算、有用功率計算、無用功率計算、顯示參數(shù)、按鍵處理、外部中斷、延時程序

90、、定時程序。</p><p>  4.2 單片機編程集成環(huán)境Keil C51</p><p>  本次畢業(yè)所選用Keil C51中的編譯/連接器軟件Keil uVision2作為編譯器/連接工具,使用萬利公司Medwin軟件作為集成開發(fā)環(huán)境。Medwin是萬利電子有限公司的軟件,Medwin是一個具有Microsoft Visual Studio窗口風(fēng)格的集成開發(fā)環(huán)境。支持帶語法分析的彩色

91、文本顯示、源程序斷點設(shè)置記憶、實時程序計數(shù)器、PC顯示、仿真器斷電自動重載、自適應(yīng)連接仿真器等功能,并且支持全空間程序代碼和數(shù)據(jù)空間的模擬仿真、Trace Buffer跟蹤器。</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深

92、刻。</p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p>  4.2.1 Keil C51單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)</p&g

93、t;<p>  C51工具包的整體結(jié)構(gòu),如圖所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)

94、。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p>  圖15 C51工具包整體結(jié)構(gòu)圖</p><p>  4.2.2 Keil C51功能介紹</p><p>  4.2.2.1 8051開發(fā)工具&

95、lt;/p><p>  KEILC51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強,使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編 器,實時操作系統(tǒng),項目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境。C51&

96、#160;V7版本是目前最高效、靈活的8051開發(fā)平臺。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時支持其它第三方開發(fā)工具。因此,C51 V7版本無疑是8051開發(fā)用戶的最佳選擇。</p><p>  5.2.2.2 uVision2集成開發(fā)環(huán)境 </p><p>  項目管理 :工程(project)是由源文件、開發(fā)工具選項以及編程說明

97、三部分組成的。一個單一的uVision2工程能夠產(chǎn)生一個或多個目標程序。產(chǎn)生目標程序的源文件構(gòu)成“組”。開發(fā)工具選項可以對應(yīng)目標,組或單個文件。 </p><p>  uVision2包含一個器件數(shù)據(jù)庫(device database),可以自動設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項,來滿足用戶充分利用特定 微控制器的要求。此數(shù)據(jù)庫包含:片上存儲器和外圍設(shè)備的信息,擴展數(shù)據(jù)指針(

98、extra data pointer)或者加速器(math accelerator)的特性。 </p><p>  uVision2可以為片外存儲器產(chǎn)生必要的連接選項:確定起始地址和規(guī)模。  集成功能:</p><p>  uVision2的強大功能有助于用戶按期完工。</p><p>  a.集成源極瀏覽器利用符

99、號數(shù)據(jù)庫使用戶可以快速瀏覽源文件。用詳細的符號信息來優(yōu)化用戶變數(shù)存儲器。</p><p>  b.文件尋找功能:在特定文件中執(zhí)行全局文件搜索。</p><p>  c.工具菜單:允許在V2集成開發(fā)環(huán)境下啟動用戶功能。</p><p>  d.可配置SVCS接口:提供對版本控制系統(tǒng)的入口。</p><p>  e.PC-LINT接口:對應(yīng)用程序

100、代碼進行深層語法分析。</p><p>  f.Infineon的EasyCase接口:集成塊集代碼產(chǎn)生。</p><p>  g.Infineon的DAVE功能:協(xié)助用戶的CPU和外部程序。DAVE工程可被直接輸入uVision2</p><p>  4.2.2.2 編輯器和調(diào)試器</p><p>  源代碼編輯器 :uVisio

101、n2編輯器包含了所有用戶熟悉的特性。彩色語法顯像和文件辯識都對C源代碼進行和優(yōu)化。可以在編輯器內(nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。 </p><p>  斷點:uVision2允許用戶在編輯時設(shè)置程序斷點(甚至在源代碼未經(jīng)編譯和匯編之前)。用戶啟動V2調(diào)試器之后,斷點即被激活。斷點可設(shè)置為條件表達式,變量或存儲器訪問,斷點被觸發(fā)后,調(diào)試器命令或調(diào)試功能即可執(zhí)行。在屬性框(

102、attributes column)中可以快速瀏覽斷點設(shè)置情況和源程序行的位置。代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。</p><p>  調(diào)試函數(shù)語言:uVision2中,你可以編寫或使用類似C的數(shù)語言進行調(diào)試。 </p><p>  a.內(nèi)部函數(shù):如printf, memset, rand及其它功能的函數(shù)。</p>

103、<p>  b.信號函數(shù):模擬產(chǎn)生CPU的模擬信號和脈沖信號(simulate analog and digital inputs to CPU )。</p><p>  c.用戶函數(shù):擴展指令范圍,合并重復(fù)動作。</p><p><b>  變量和存儲器:  </b></p><

104、;p>  用戶可以在編輯器中選中編程來觀察其取值。雙層窗口顯示,可進行以下調(diào)整: </p><p>  當前函數(shù)的局部變量 </p><p>  b. 用戶在兩個不同watch窗口頁面上的自定義變量 </p><p>  c. 堆棧調(diào)用(call stack)頁面上的調(diào)用記錄(樹)(call tree)

105、0; </p><p>  d. 不同格式的四個存儲區(qū)</p><p>  4.2.2.3 C51編譯器 </p><p>  KEIL C51編譯器在遵循ANSI標準的同時,為8051微控制器系列特別設(shè)計。語言上的擴展能讓用戶使用應(yīng)用中的所有資源。</p><p>  存儲器和特殊功能寄存器的存取:C51編譯器可以實現(xiàn)對

106、8051系列所有資源的操作。SFR的存取由sfr和sbit兩個關(guān)鍵字來提供。變量可旋轉(zhuǎn)到任一個地址空間。用關(guān)鍵字——at,還能把變量放入固定的存儲器.存儲模式(大,中,?。Q定了變量的存儲類型。</p><p>  連接定位器支持的代碼區(qū)可達32個,這就允許用戶在原有64K ROM的8015基礎(chǔ)上擴展程序。在V2的編譯器和許多高性能仿真器中,可以 支持應(yīng)用程序的調(diào)試。</p><p&

107、gt;  中斷功能:C51允許用戶使用C語言編寫中斷服務(wù)程序,快速進、出代碼和寄存器區(qū)的轉(zhuǎn)換功能使C語言中斷功能更加高效。可再入功能是用關(guān)鍵字來定義的。多任務(wù),中斷或非中斷的代碼要求必須具備可再入功能。 </p><p>  靈活的指針 :C51提供了靈活高效的指針。通用指針用3個字節(jié)來存儲存儲器類型及目標地址,可以在8051的任意存儲區(qū)內(nèi)存取任何變量。特殊指針在聲明的同時已指定了存儲器類型,

108、指向某一特定的存儲區(qū)域。由于地址的存儲只需1-2字節(jié),因此,指針存取非常迅速。 </p><p>  4.2.2.4 代碼優(yōu)化  </p><p><b>  通用代碼優(yōu)化 :</b></p><p>  常量重疊(constant folding)</p><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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論