課程設計題目退火爐_第1頁
課程設計題目退火爐_第2頁
課程設計題目退火爐_第3頁
課程設計題目退火爐_第4頁
課程設計題目退火爐_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 課程設計題目 溫度控制是工業(yè)控制對象中主要的被控對象之一。本設計被控對象是退火爐,被控參數(shù)是爐內(nèi)溫度。燃料為煤氣,通過改變閥門的位置改變煤氣的流量,從而改變爐內(nèi)溫度。爐溫由熱電偶控制。通過微機實現(xiàn)閉環(huán)控制。要求研究的內(nèi)容如下:1.設計退火爐溫度控制系統(tǒng)框圖,選擇各組成元件,參數(shù)的設定。2.設計不同算法的數(shù)字控制器對爐溫進行閉環(huán)控制。3.設計開關功能,能進行CPU選擇、監(jiān)視定時器復位、EPROM擴展選擇開關和手動復位開關等。4.設計LED鍵盤/顯示板。能用來選定控制算法;顯示、輸入或修改參數(shù)并顯示系統(tǒng)溫度值。設計參數(shù):退火爐溫度檢測范圍是01000°C,爐溫由熱電偶檢測元件檢測

2、得到。第二章 總體方案2.1 設計背景退火爐是一種新型換熱設備。廣泛應用于化工、石油、食品、冶金、機械、輕工、電力、船舶、造紙、礦山、醫(yī)藥、集中供熱等工業(yè)部門的加熱、冷卻、冷凝、蒸發(fā)等工藝過程中。由于其本身所具有的許多優(yōu)點,使其在各行業(yè)中的應用越來越廣泛。工業(yè)常用退火爐的發(fā)熱體為電阻絲,常規(guī)方式大多采用模擬儀表測量溫度,并通過控制交流接觸器的通斷時間比例來控制加熱功率。由于模擬儀表本身的測量精度差,加上交流接觸器的壽命短,通斷比例低,故溫度控制精度低,且無法實現(xiàn)按程序設定的升溫曲線升溫和故障自診斷功能。本文提出的退火爐以煤氣為燃料,爐溫控制系統(tǒng)采用多點棒形鎳鉻-鎳硅熱電偶為溫度檢測元件,利用高

3、性能采樣/保持器及A/D轉(zhuǎn)換器以獲得較高的測溫精度,并采用多路模擬開關對多路溫度信號進行選擇,利用兩片MCS-51系列單片機8031(一主一輔)實現(xiàn)控制算法,按鍵盤設定值、所測溫度值,自動進行溫度控制,按程序設定溫度曲線升溫,并具有鍵盤輸入及LED顯示功能。另外,為提高系統(tǒng)工作的可靠性,本系統(tǒng)采用獨特兩片單片機(一主一輔),當主單片機出現(xiàn)故障時,自動切換至輔單片機工作狀態(tài),用以保證退火爐的正常使用。采用煤氣比例控制閥對煤氣流量進行控制,進而控制爐溫。本文主要介紹利用單片機對退火爐的溫度進行控制的閉環(huán)控制系統(tǒng)。下面介紹本系統(tǒng)的基本原理和組成。2.2 總體控制原理及系統(tǒng)組成 本系統(tǒng)主要由溫度信號檢

4、測電路、鎳鉻-鎳硅熱電偶、采樣保持器、多路切換電路開關、信號放大器和A/D轉(zhuǎn)換電路、晶體振蕩電路、由兩片單片機組成雙CPU系統(tǒng)、兩片擴展4K×8的EPROM程序存儲器、LED顯示板、4×6鍵盤、D/A轉(zhuǎn)換器及運算放大器、反向多路切換電路及煤氣比例閥門控制電路等組成。系統(tǒng)原理:通過在退火爐中的鎳鉻-鎳硅熱電偶檢測到信號,傳到采樣保持器中進行輸入前的保持,由多路切換電路開關選擇檢測哪一個點的溫度,由此可將選擇的信號傳輸?shù)紸/D轉(zhuǎn)換電路中將模擬信號轉(zhuǎn)換成數(shù)字信號輸入兩塊8031單片機中,從監(jiān)控電路采集的信號輸入雙CPU邏輯控制電路,通過控制輸出電路中的三態(tài)門來選擇哪個單片機的數(shù)據(jù)

5、輸出到鍵盤及顯示板中,以及輸出到D/A轉(zhuǎn)換器進行轉(zhuǎn)換控制信號,再通過運算放大器放大信號,控制多路開關的開啟和關閉來控制來自煤氣源的比例控制閥控制煤氣的流量進行改變爐溫。溫度檢測元件有多種選擇,常用的有熱電偶、熱電阻以及其他溫度傳感器。由于熱電偶可以將被測溫度直接轉(zhuǎn)換成電勢信號,便于遠傳、自動記錄和實現(xiàn)自動控制,在工業(yè)中應用極為廣泛。所以本系統(tǒng)采用熱電偶為溫度檢測元件。由于所測的溫度范圍不同,所選用的熱電偶材料及型號也不盡相同,目前的熱電偶傳感器有:鉑銠10鉑熱電偶,其可在1100以下范圍長期工作,符號S;鎳鉻鎳鋁(硅)熱電偶,測量范圍在-40+1200,符號K型;此外還有鉑銠13鉑熱電偶(R型

6、),鎳鉻硅鎳硅熱電偶(N型),等等。本系統(tǒng)采用多點棒形鎳鉻-鎳硅熱電偶為溫度檢測元件,測溫范圍為-40+1200,允差值為2.5,滿足控制系統(tǒng)設計要求。熱電偶測量溫度時要求其冷端(測量端為熱端,通過引線與測量電路連接的端稱為冷端)的溫度保持不變,其熱電勢大小才與測量溫度呈一定的比例關系。若測量時,冷端的(環(huán)境)溫度變化,將影響嚴重測量的準確性。在冷端采取一定措施補償由于冷端溫度變化造成的影響稱為熱電偶的冷端補償。本系統(tǒng)采用的冷端補償電路如圖1所示。圖1 熱電偶冷端補償電路模擬信號進行A/D轉(zhuǎn)換時,從啟動轉(zhuǎn)換到轉(zhuǎn)換結(jié)束輸出數(shù)字量,需要一定的轉(zhuǎn)換時間,當輸入信號頻率較高時,會造成很大的轉(zhuǎn)換誤差。因

7、此,需要采用采樣/保持器在A/D轉(zhuǎn)換時保持住輸入信號電平,在A/D轉(zhuǎn)換結(jié)束后跟蹤輸入信號的變化。采樣/保持器AD582由高性能運放、低漏電模擬開關和JEEP集成放大器組成,可以很好地完成這一功能。其結(jié)構(gòu)如圖2。 圖2 采樣/保持器AD582由于本系統(tǒng)有16路熱電偶循環(huán)檢測爐內(nèi)溫度,因此需要使用多路模擬開關將輸入信號依次或隨機接到公用放大器或A/D轉(zhuǎn)換器上。本系統(tǒng)選用CC4067多路模擬開關,本芯片為單端16通道(16選1或1分16)多路模擬開關,有四個二進制輸入端A0A3 和控制端EN,輸入的任意一個組合可選擇一路開關。圖3為CC4067的引腳圖和原理圖,其主要參數(shù)有:1)導通電阻RON 30

8、0 歐,導通電阻溫漂0.5,路間偏差4;2)開關時間: ton=0.8 s, tof=0.8 s;3)極限電源電壓:VDD17V,Vss-17V。圖3 CC4067的引腳圖和原理圖本系統(tǒng)采用3位半雙積分A/D轉(zhuǎn)換器MC14433進行A/D轉(zhuǎn)換。該芯片抗干擾性強;輸入電阻1000M;轉(zhuǎn)換精度高;自動校零;自動極性輸出;自動量程控制信號輸出;動態(tài)字位掃描BCD碼輸出;單基準電壓;轉(zhuǎn)換率為110次/秒。采樣/保持、多路切換及A/D轉(zhuǎn)換電路工作過程為:首先,在8031的控制下,模擬信號采用保持器放大后進人多路模擬開關,在多路模擬開關選取輸入信號后進入A/D轉(zhuǎn)換器進行A/D轉(zhuǎn)換??梢姡撾娐返淖饔檬前?

9、6路熱電偶拾取的信號進行采樣、保持、放大,以及把模擬信號在單片機的控制下轉(zhuǎn)換為數(shù)字信號。該電路原理圖如圖4所示。圖4 采樣/保持、多路切換及A/D轉(zhuǎn)換電路原理圖 為提高系統(tǒng)的可靠性,特別設計了一種雙CPU控制系統(tǒng)。在該系統(tǒng)中,兩個CPU彼此獨立運行,可以自動或手動實現(xiàn)雙機的主輔切換,只有主CPU能正常讀寫外部REPROM數(shù)據(jù)和控制輸出數(shù)據(jù),當主CPU發(fā)生故障時自動切換為輔CPU工作模式,從而大大提高了系統(tǒng)的可靠性。此外,由于8031接口及程序存儲限制,還采用8155擴展I/O接口及EPROM擴展程序存儲器。詳細設計見下一章。由8031擴展I/O接口8155輸出的信號為數(shù)字信號,不能直接用來控制

10、煤氣閥門,故需采用D/A轉(zhuǎn)換器進行D/A轉(zhuǎn)換。DAC0832是8位分辨率D/A轉(zhuǎn)換集成芯片,與處理器完全兼容,其價格低廉,接口簡單,轉(zhuǎn)換控制容易等優(yōu)點,在單片機應用系統(tǒng)中得到了廣泛的應用。本系統(tǒng)采用此芯片。圖5是DAC0832的邏輯框圖和引腳排列。圖5 DAC0832的邏輯框圖和引腳圖DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運算放大器轉(zhuǎn)換成電壓。應用線路如圖6所示。圖6 DAC0832實際應用電路圖 為了實現(xiàn)爐內(nèi)溫度的多點控制,本系統(tǒng)特別設計了與多路熱電偶配合協(xié)調(diào)工作的多路煤氣比例閥門系統(tǒng)。由D/A轉(zhuǎn)換器DAC0832輸出的0+5V電壓信號輸入到多路模擬開關CC

11、4067中,此多路模擬開關(記為B)與前述多路模擬開關(記為A)應用相反,即為1分16用法。且B的各路開關與A聯(lián)合控制,比如,當A的第3路開關接通時,B的第3路開關同時接通,此時3號熱電偶所測溫度信號被選中,進入后續(xù)環(huán)節(jié)進行處理,所得電壓信號進入接通了的B的第3路開關,從而控制3號煤氣比例閥門開度,對3點溫度進行控制。最終實現(xiàn)了爐內(nèi)溫度的多點分別控制,保證了大型退火爐爐內(nèi)溫度均勻一致。 最終執(zhí)行環(huán)節(jié)由16路放大器及16個煤氣比例閥門組成,通過改變煤氣流量來調(diào)節(jié)爐溫,分別對爐內(nèi)16個熱電偶測溫點進行溫度調(diào)節(jié)。鍵盤是由若干個鍵組成的開關矩陣,踏實最佳但的單片機輸入設備,通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)

12、簡單的人機對話。鍵盤上閉合鍵的識別是由專用硬件來實現(xiàn)的,稱為編碼鍵盤,靠軟件實現(xiàn)的稱為非編碼鍵盤。在退火爐溫度的單片機控制系統(tǒng)設計中,爐內(nèi)溫度由6位LED顯示器顯示,同時也可以通過鍵盤輸入一定的溫度值,通過LED顯示器顯示出來,并通過單片機系統(tǒng)控制退火爐內(nèi)的溫度,以保證鋼材等所需的退火溫度。退火爐溫度控制系統(tǒng)的溫度檢測范圍為01000,為了保證精度,保留小數(shù)點后一位有效數(shù)字,這樣顯示溫度值可以由數(shù)字09,“”組成,如果一旦出現(xiàn)了輸入錯誤,或需要修改溫度值,則要設置修改鍵,同時還要設置鍵盤開啟,關閉鍵,由于鍵盤向LED顯示器輸入數(shù)據(jù),所以還應設置確定輸入,數(shù)據(jù)顯示等功能鍵。第三章 雙CPU切換控

13、制電路工作原理單片微機具有小巧靈活、易擴展成為功能強大的控制系統(tǒng)。而Intel公司生產(chǎn)的MCS-51系列中的8031單片機是早期成熟的產(chǎn)品,體積小,功能全,面向控制,開發(fā)應用方便,是工業(yè)實時控制、智能控制、測控領域的首選,具有較高的性價比。因此在本雙CPU控制系統(tǒng)中選用兩片8031單片機作為控制核心。目前,一些監(jiān)控終端以及許多獨立的控制系統(tǒng)(如:發(fā)電機的微機勵磁裝置)多以單片機為核心構(gòu)成。但由于諸如工作環(huán)境惡劣、電磁干擾等原因,即使使用按工業(yè)測控環(huán)境要求設計的單片機也難以保證控制系統(tǒng)能長期可靠的運行,從而導致控制系統(tǒng)癱瘓。這樣,如何提高控制系統(tǒng)的可靠性,保證測控系統(tǒng)能正確穩(wěn)定的運行就尤為重要。

14、為了克服完善設計無法解決這類高可靠要求的困難,允許故障存在,并能自動地消除其影響。顯然,采用雙CPU冗余設計是非常有效的一種解決辦法。由于8031單片機的功能強大,價格低廉,為設計雙機冗余系統(tǒng)提供了很好的條件。為此,我們設計了一種由兩片單片微機組成的雙機容錯系統(tǒng),以比較簡單和與傳統(tǒng)的多CPU系統(tǒng)完全不同思路的設計方法實現(xiàn)了雙機的互為備用及相互切換。在該雙機冗余系統(tǒng)設計中,其關鍵問題是雙機系統(tǒng)的重構(gòu)策略和雙機系統(tǒng)的仲裁邏輯切換。3.1雙CPU 切換控制系統(tǒng)的結(jié)構(gòu)和工作原理該雙CPU 切換控制系統(tǒng)由兩片Intel公司生產(chǎn)的MCS-51系列單片機8031構(gòu)成,雙機互為備用,彼此獨立并行運行,通過邏輯

15、電路切換。其雙CPU 控制系統(tǒng)原理框圖如圖7所示。 圖7雙CPU 控制系統(tǒng)原理框圖 這是一種非表決式的雙機冗余系統(tǒng),一個CPU作為另一CPU的熱備份,雙機在任務上同步運行。所有輸入信號通過輸入接口同時送給兩個CPU,但CPU運算、處理后的輸出量受到仲裁切換電路的控制,只有主CPU才能允許讀寫外部數(shù)據(jù)存貯器及輸出至外部設備,當主CPU發(fā)生故障時,系統(tǒng)的自我檢測切換邏輯將發(fā)出信號,自動切斷其輸出通道,并通過CPU 的工作指示系統(tǒng)報警。此時,系統(tǒng)或自動或人工切換到另一個備用的CPU,并同時打開其輸出通道,備用機變?yōu)橹鳈C運行狀態(tài),控制系統(tǒng)這時降級為單機運行。人們可以將原主機拔離系統(tǒng)以便進行維修,同時,

16、保證了系統(tǒng)的正常運行。從圖中可知,兩個CPU 的地址、數(shù)據(jù)及控制總線都通過一組三態(tài)門(三態(tài)門1、2)輸出與外部數(shù)據(jù)存貯器相接,兩個CPU 的某些輸出控制I/O 口都通過另一組三態(tài)門(三態(tài)門3、4)輸出與外部輸出控制設備相接,兩組三態(tài)門的控制端都同時受仲裁切換電路控制,而仲裁切換電路的兩路輸出互為反邏輯,即只有一路輸出能使所控制的對應三態(tài)門(如三態(tài)門1、3)正常輸出,另一路輸出使所控制的對應三態(tài)門(如三態(tài)門2、4)處于高阻狀態(tài),從而不影響主CPU 正常讀寫數(shù)據(jù)和向控制I/O 口輸出數(shù)據(jù)。3.2 雙CPU仲裁切換邏輯電路在該雙CPU 控制系統(tǒng)中,兩者互為熱備份,同時運行,一臺為主機,另一臺為備份機

17、。在雙CPU都正常運行的情況下,系統(tǒng)默認CPU1 為主機,CPU2 為備份機。當主機出現(xiàn)故障時,要求系統(tǒng)能自動切換到備份機,使備份機提升成為主機,從而代替原主機從故障發(fā)生處連續(xù)運行并發(fā)出報警信號。同時要求能通過手動開關人為選定主機運行。設判別兩個CPU 是否正常工作的信號分別為ST1、ST2,工作正常時它們的狀態(tài)為1,工作不正常時狀態(tài)為0。仲裁切換電路輸出為0 的控制端控制工作正常的CPU的相應三態(tài)門組允許輸出,仲裁切換電路輸出為1的控制端控制另一CPU的相應三態(tài)門組禁止輸出。自動或手動選擇主機的控制開關為S,當兩個CPU 都工作正常時,可通過S 開關自動選擇或指定主機(當S開關狀態(tài)為1 時為

18、自動默認CPU1 為主機,當S開關狀態(tài)為0 時則強制CPU2 為主機);當兩個CPU中任意一個工作不正常時,則此時與S開關的狀態(tài)無關,仲裁切換電路的輸出能確保只有與工作正常的CPU相連的三態(tài)門組的使能端為0,從而控制該正常CPU正常讀寫數(shù)據(jù)和輸出控制;當兩個CPU 都不正常時,仲裁切換電路的兩個輸出都為1,兩個CPU都不能正常讀寫數(shù)據(jù)和輸出控制。這樣當兩個CPU 中任何一個或全正常時就能保證只有一個CPU能正常讀寫數(shù)據(jù)和輸出控制,當兩個CPU 都不正常時,則理所當然系統(tǒng)不能正常工作。按要求可得真值表如表1所示。表1 雙CPU仲裁切換電路邏輯真值表由真值表可得仲裁切換電路的兩路控制三態(tài)門的控制信

19、號邏輯CTL1、CTL2 分別為:構(gòu)成的仲裁切換電路如圖8所示。圖8 雙CPU仲裁切換邏輯電路3.3程序存儲器的擴展 MCS-51單片機程序存儲器的尋址空間為64KB,對于80518751片內(nèi)程序存儲器為4KB的ROM或EPROM,在單片機的應用系統(tǒng)中、片內(nèi)的存儲容量往往不夠,特別是8031,片內(nèi)沒有程序存儲器,必須外擴程序存儲器。 擴展程序存儲器常用芯片有EPROM(紫外線可擦除型),如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等,另外還有5V電擦除E2PROM,如2816(2KB)、2864(8KB)等等。1. 選擇芯片原則

20、在選擇程序存儲器芯片時,首先滿足程序容量,其次在價格合理情況下盡量選用容量大的芯片。芯片少,接線簡單,芯片儲存容量大,程序調(diào)整余量大。如估計程序總長4KB左右,最好擴展一片8KB的EPROM2764,留有一定的余量。另外,能用一片8KBEPROM2764則不要選2片2732(4KB),多一個芯片接線就復雜許多,且功耗增多,盡量減少擴展芯片個數(shù)使電路結(jié)構(gòu)簡單,提高可靠性。2. 本系統(tǒng)的程序存儲器擴展的選擇 選用8031單片機,程序總量3KB左右,考慮程序存儲器的最小擴展系統(tǒng)。 分析:8031單片機內(nèi)部無ROM,無論程序長短都必須擴展程序存儲器,考慮本系統(tǒng)的程序量,擴展一片4KB的EPROM最合適

21、。 在存儲器芯片擴展電路設計時,重點弄清地址線,數(shù)據(jù)線及控制線的連接方法。(1) 地址線 2732共12根地址線AOAll(212=4096B=4KB),低8位A0A7通過74LS373與P0接口連接,高四位A8A11直接與P2接口的P2.0P2.3連接,P2接口有鎖存功能。(2) 數(shù)據(jù)線 2732數(shù)據(jù)線D0D7共8位直接與P0接口的P0.0P0.7相連。P0接口兼做數(shù)據(jù)線和低8位地址線。(3) 控制線 CPU對擴展芯片的控制通過控制線實現(xiàn)。圖中地址鎖存器74LS373的G端與8031的地址鎖存允許端ALE連接。ALE作鎖存擴展地址低位字節(jié)的控制端。2732的 輸出使能端與8031的 (讀選通

22、信號)端連接,在訪問片外程序存儲器時,只要此端出現(xiàn)負脈沖,即可從2732中讀出程序。因為僅擴展一個芯片,片選端 接地即可, 端有低電平表示該芯片被選中。若擴展多片時還需要專門的片選電路。(4) 工作原理 當單片機從擴展程序存儲器2732中讀程序時,過程如下: 先由CPU送出地址低8位到PO接口,當鎖存控制信號ALE的下降沿到來時則把低8位地址鎖存到74LS373中,通過74LS373的輸出端Q7Q0送至2732的低位地址A7A0端;高位地址經(jīng)P2接口的P2.0-P2.3送到2732的A8All,這樣所需程序地址被選中。在 讀選通信號(低脈沖)有效期間則把該地址中的程序(指令或數(shù)據(jù)),經(jīng)P0接口

23、讀入單片機內(nèi)部,準備執(zhí)行。EPROM是只讀存儲器。3.4 軟件實現(xiàn)本系統(tǒng)是兩個單片機組成的雙機系統(tǒng)。我們把上邊甲機的普通片外RAM地址尋址空間分為0000H7FFFH和8000H0FFFFH兩個不同的區(qū)域。其中,0000H7FFFH可作為普通片外RAM空間,8000H0FFFFH可作為數(shù)據(jù)傳輸通道。在這里,我們把8000H803FH的片外RAM尋址空間映射到右端乙機的0000H003FH的地址空間。(其實甲機8000H以上的任意地址都會映射到相應的乙機0000H 003FH空間。這里為簡單起見,只用甲機的最高位地址線直接線選,并約定甲機的通信數(shù)據(jù)都往8000H803FH中寫。)因此,

24、甲機端的低六位地址線通過74ALS373接到乙機端的低六位地址線。同時,讀寫控制線也接過來。兩邊的數(shù)據(jù)線通過74ALS245接起來以進行雙向數(shù)據(jù)傳輸。不傳數(shù)據(jù)時,乙機的P1.7為高電平,74ALS373處于高阻態(tài),74ALS245也因為沒有被甲機的地址線選通而呈高阻態(tài),兩邊的CPU可以在自己的空間運行程序,保持相對獨立。甲單片機P1.0接到乙機的INT0腳,可通知乙單片機做傳輸數(shù)據(jù)的相應處理,同時可以通過中斷來喚醒處于ID狀態(tài)的乙機。傳數(shù)據(jù)時,乙機的P1.7為低電平,打開74ALS373,同時乙機的P1.7還接到甲機的INT0口,以通知甲機可以開始送數(shù)或取數(shù)。甲機最高位地址線A15作為數(shù)據(jù)選通

25、信號,使甲機端可以讀寫乙機端0000H003FH地址空間RAM中的數(shù)據(jù)。數(shù)據(jù)傳送方向由乙機的P1.6腳進行控制。甲機要把數(shù)據(jù)傳到乙機時,先通過P1.0輸出一個下降沿脈沖到乙機的INT0口通知乙單片機,乙機中斷服務程序判斷是甲機要送數(shù)據(jù)過來,用指令MOV DPTR, #003FHMOV A, #0FFHMOVX DPTR 0FFH 把地址線置為003FH,P0口置為FFH。為什么要做這個工作呢?因為乙機把地址線置為003FH后,進入ID狀態(tài),地址線會保持這種狀態(tài),甲機就可以控制乙機的低六位地址線;同時乙機的高十位地址線保持為"

26、0",這樣就確保了甲機的數(shù)據(jù)映射到乙機的0000H003FH的地址空間。乙機向數(shù)據(jù)線上寫FFH,是保證把P0口都置?quot;1",進入ID工作方式后,P0口(即數(shù)據(jù)線)也會保持這種狀態(tài),以保證甲機端數(shù)據(jù)順利寫入。然后,乙機P1.6腳輸出高電平,置數(shù)據(jù)傳送方向為甲機到乙機。最后,乙機在P1.7腳發(fā)一個下降沿脈沖,以中斷通知甲機可以送數(shù)據(jù),同時保持低電平,打開74ALS373,再執(zhí)行ORL PCON.0,#00000001B 進入ID狀態(tài)。甲機的INT0中斷服務程序把數(shù)據(jù)從8000H803FH送過來。送完后,通過甲機P1.0再給乙單片機的INT0端發(fā)一個下降沿脈沖喚

27、醒乙機,乙機INT0中斷服務程序判斷數(shù)據(jù)已經(jīng)傳送完,進行接收數(shù)據(jù)處理。同理,乙機要送數(shù)據(jù)到甲機時,先把數(shù)據(jù)寫到0000H003FH,最后是向003FH寫FFH,以完成正確置位地址線和數(shù)據(jù)線。還要把P1.6腳置為低電平,控制數(shù)據(jù)從乙機傳向甲機。再在乙機P1.7發(fā)下降沿脈沖觸發(fā)甲機INT0中斷,同時P1.7保持低電平,打開三態(tài)門,然后進入ID狀態(tài)。甲機INT0中斷服務程序判斷乙機要送數(shù)據(jù)過來,并且已經(jīng)做好準備,就把數(shù)據(jù)從8000H803FH取過來(當然,803FH中數(shù)據(jù)無效)。取完后,甲機再通過P1.0給乙單片機的INT0端發(fā)一個"1"下降沿脈沖喚醒乙機,讓乙機繼續(xù)運行程序。

28、乙機的INT0中斷服務程序要處理幾個不同事務,有幾個分支。如果是乙機向甲機傳數(shù)據(jù),乙機INT0不用做實質(zhì)工作,退出中斷繼續(xù)運行主程序即可;如果是甲機向乙機傳數(shù)據(jù),在傳數(shù)據(jù)之前,乙機INT0要為傳數(shù)據(jù)做好準備,并置乙機為ID狀態(tài)。傳數(shù)據(jù)之后,乙機INT0處理數(shù)據(jù)。這里要設置數(shù)據(jù)傳送方向和數(shù)據(jù)傳送狀態(tài)兩個標志,用以引導程序正確運行。甲機的INT0根據(jù)傳數(shù)據(jù)方向標志傳數(shù)據(jù)或讀數(shù)據(jù)即可。這里不再寫具體程序。雙CPU切換控制系統(tǒng)控制流程圖如圖9所示。圖9 雙CPU切換控制系統(tǒng)控制流程圖雙CPU的讀寫外部存儲器的程序代碼為:/定義頭文件和變量#include <reg52.h>#include

29、 <absacc.h>#include <stdio.h>#include <math.h>#include <stdlib.h>#define uchar unsigned char#define uint unsigned intUint numyaw,numroll,numpitch;/定義雙EPROM中的存儲單元地址#define dsyawh XBYTE0x0600 #define dsyawl XBYTE0x0100#define dspitchh XBYTE0x0200#define dspitchl XBYTE0x0300#define dsrollh XBYTE0x0400#define dsroll XBYTE0x0500Sbit EXF2=T2CON6;uint I;uchar sf1,sf2,sf3,sf4,send;uint yawh,yawl,pitchh,pitchl,rollh,roll;int yaw,pitch,roll,yawold,pitchold,rollold,delta;/

溫馨提示

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

最新文檔

評論

0/150

提交評論