第六章計算機控制系統(tǒng)綜合設(shè)計舉例_第1頁
第六章計算機控制系統(tǒng)綜合設(shè)計舉例_第2頁
第六章計算機控制系統(tǒng)綜合設(shè)計舉例_第3頁
第六章計算機控制系統(tǒng)綜合設(shè)計舉例_第4頁
第六章計算機控制系統(tǒng)綜合設(shè)計舉例_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 1 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 2 6.1 控制系統(tǒng)的工程設(shè)計方法控制系統(tǒng)的工程設(shè)計方法 6.1.1 系統(tǒng)設(shè)計的原則系統(tǒng)設(shè)計的原則 1、安全可靠、安全可靠計算機控制系統(tǒng)設(shè)計最重要的一個基本要計算機控制系統(tǒng)設(shè)計最重要的一個基本要 求。在計算機控制系統(tǒng)設(shè)計時,通常應(yīng)考慮后援手段,如配求。在計算機控制系統(tǒng)設(shè)計時,通常應(yīng)考慮后援手段,如配 備常規(guī)控制裝置或手動控制裝置作后備。備常規(guī)控制裝置或手動控制裝置作后備。 2、系統(tǒng)操作性能好、系統(tǒng)操作性能好使用方便和維修容易,從軟硬件角使用方便和維修容易,從軟硬件角 度考慮。度考慮。 3、實時性強、實時性強對內(nèi)部和外部

2、的事件能及時地響應(yīng),并做對內(nèi)部和外部的事件能及時地響應(yīng),并做 出相應(yīng)的處理,不丟失信息、不延誤操作。出相應(yīng)的處理,不丟失信息、不延誤操作。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 3 4、通用性好、通用性好系統(tǒng)設(shè)計時應(yīng)考慮能適應(yīng)各種不同設(shè)備系統(tǒng)設(shè)計時應(yīng)考慮能適應(yīng)各種不同設(shè)備 和各種不同控制對象,使系統(tǒng)不必大改動就能很快適應(yīng)新和各種不同控制對象,使系統(tǒng)不必大改動就能很快適應(yīng)新 的情況,能靈活地進(jìn)行擴充。的情況,能靈活地進(jìn)行擴充。 5、經(jīng)濟效益高、經(jīng)濟效益高在滿足精度、速度和其它性能要求在滿足精度、速度和其它性能要求 的前提下,應(yīng)縮短設(shè)計周期和盡可能采用價格低的元器的前提下,應(yīng)縮短設(shè)計周期和盡可能采用

3、價格低的元器 件,以降低整個控制系統(tǒng)的費用。件,以降低整個控制系統(tǒng)的費用。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 4 6.1.2 確定工程項目與控制任務(wù)確定工程項目與控制任務(wù) 1、甲方提出任務(wù)委托書、甲方提出任務(wù)委托書 2、乙方研究任務(wù)委托書、乙方研究任務(wù)委托書 3、雙方對委托書進(jìn)行確認(rèn)性修改、雙方對委托書進(jìn)行確認(rèn)性修改 4、乙方初步進(jìn)行系統(tǒng)總體方案設(shè)計、乙方初步進(jìn)行系統(tǒng)總體方案設(shè)計 5、乙方進(jìn)行方案可行性論證、乙方進(jìn)行方案可行性論證 6、簽訂合同書、簽訂合同書 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 5 6.1.3 工程項目的設(shè)計工程項目的設(shè)計 1、組建項目研制小組、組建項目研制小組 2、形成總體

4、方案、形成總體方案 3、方案論證與評審、方案論證與評審 4、硬件和軟件的分別細(xì)化設(shè)計、硬件和軟件的分別細(xì)化設(shè)計 5、硬件和軟件的分別調(diào)試、硬件和軟件的分別調(diào)試 6、系統(tǒng)的組裝、系統(tǒng)的組裝 6.1.4 項目仿真與調(diào)試項目仿真與調(diào)試 1、離線仿真和調(diào)試、離線仿真和調(diào)試 2、在線調(diào)試和運行、在線調(diào)試和運行 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 6 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 7 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 8 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 9 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 10 選擇變送器和執(zhí)行機構(gòu)選擇變送器和執(zhí)行機構(gòu) 選擇變送器選擇變送器 選擇執(zhí)行機構(gòu)選擇執(zhí)行機構(gòu) 傳感器

5、傳感器 信信 號號 放大器放大器 V/F 光光 電電 耦合器耦合器 CPU 小信號小信號 VI 0 10V f 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 11 6.3 計算機控制系統(tǒng)的軟件設(shè)計計算機控制系統(tǒng)的軟件設(shè)計 6.3.1 軟件的工程設(shè)計與實現(xiàn)軟件的工程設(shè)計與實現(xiàn) v數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃 v資源分配資源分配 v實時控制軟件設(shè)計實時控制軟件設(shè)計 數(shù)據(jù)采集及數(shù)據(jù)處理程序數(shù)據(jù)采集及數(shù)據(jù)處理程序 控制算法程序控制算法程序 控制量輸出程序控制量輸出程序 實時時鐘和中斷處理程序?qū)崟r時鐘和中斷處理程序 數(shù)據(jù)管理程序數(shù)據(jù)管理程序 數(shù)據(jù)通信程序數(shù)據(jù)通信程序 第六章計算機控制系統(tǒng)綜合設(shè)計舉

6、 例 12 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 13 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 14 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 15 v8086CPU只有一個中斷請求輸入線,所以用只有一個中斷請求輸入線,所以用8255管理管理8個外個外 部中斷,而部中斷,而8個中斷源中只有個中斷源中只有IR2空閑,所以通常將外設(shè)中斷空閑,所以通常將外設(shè)中斷 引到引到IR2。 vIR0IR7的中斷號對應(yīng)的是的中斷號對應(yīng)的是8H-0FH。 v中斷向量:中斷服務(wù)程序的入口地址(首地址)中斷向量:中斷服務(wù)程序的入口地址(首地址) v邏輯地址含有段地址邏輯地址含有段地址CS和偏移地址和偏移地址IP(32位)位) v

7、每個中斷向量的低字是偏移地址、高字是段地址,每個中斷向量的低字是偏移地址、高字是段地址, 需占用需占用4個字節(jié)個字節(jié) 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 16 8088的中斷向量表的中斷向量表 向量號向量號255的的CS值值 用戶中斷用戶中斷 (向量號(向量號255) 3FCH 向量號向量號255的的IP值值 向量號向量號2的的CS值值 非屏蔽中斷非屏蔽中斷 (向量號(向量號2) 008H 向量號向量號2的的IP值值 向量號向量號1的的CS值值 單步中斷單步中斷 (向量號(向量號1) 004H 向量號向量號1的的IP值值 向量號向量號0的的CS值值 除法錯中斷除法錯中斷 (向量號(向量號0)

8、000H 向量號向量號0的的IP值值 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 17 修改中斷矢量方法修改中斷矢量方法 1 直接填寫:直接填寫: MOV AX,0 MOV DS,AX MOV AX,SEG P_INT0AH; 中斷服務(wù)程序段地址中斷服務(wù)程序段地址 MOV DI,22H MOV DI,AX MOV AX,OFFSET P_INT0AH; 中斷服務(wù)程序偏移地址中斷服務(wù)程序偏移地址 MOV DI,20H MOV DI,AX 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 18 修改中斷矢量方法修改中斷矢量方法 MOV AX,OFFSET P_INT0AH MOV DX,AX MOV AX,SEG P_

9、INT0AH MOV DS,AX MOV AX,250AH INT 21H 設(shè)置中斷向量(設(shè)置中斷向量(DOS功能調(diào)用功能調(diào)用INT 21H) 功能號:功能號:AH25H 入口參數(shù):入口參數(shù):AL中斷向量號中斷向量號 DS:DX中斷向量(段地址:偏移地址)中斷向量(段地址:偏移地址) 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 19 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 20 由上可見,想要實現(xiàn)定時操作首先應(yīng)將采樣控制程序的地址放入規(guī)定 的內(nèi)存單元中,即我們所說的修改中斷矢量。修改的方法有兩種:直接填 寫和系統(tǒng)調(diào)用。我們以 INT0AH 為例給出這兩種方法的實例。 1 直接填寫: MOV AX,0 MO

10、V DS,AX MOV AX,SEG P_INT0AH; 中斷服務(wù)程序段地址 MOV DI,2AH MOV DI,AX MOV AX,OFFSET P_INT0AH; 中斷服務(wù)程序偏移地址 MOV DI,28H MOV DI,AX 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 21 2 系統(tǒng)調(diào)用: MOV AX,OFFSET P_INT0AH MOV DX,AX MOV AX,SEG P_INT0AH MOV DS,AX MOV AX,250AH INT 21H 注意中斷服務(wù)程序?qū)τ谥鞒绦騺碚f是隨機調(diào)用的, 因此在 中斷服務(wù)程序中用到的寄存器都需要保存,否則中斷返回后, 執(zhí)行主程序?qū)⒊鲥e。 第六章計算機

11、控制系統(tǒng)綜合設(shè)計舉 例 22 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 23 外部硬件中斷的中斷源通常用 8253 可編程定時/計數(shù)器實現(xiàn)。 8253 有 6 種工作方式,在用作中斷源時通常用方式 3 (方波發(fā)生 器) ,接線方法如圖 如圖想產(chǎn)生一個 1 秒 鐘中斷,只要初始化 8253 使其工作在方式 3,計數(shù)初值為 1000 即可。因此上圖需外 接 8253 和 1KHZ 的時 鐘,因而我們稱其為 外部硬件中斷。 OUT0 圖 7-4 中斷信號接線圖 5V 8253 CS 1kHz GATE0 CLK0 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 時鐘中斷 鍵盤中斷 COM2

12、 中斷 COM1 中斷 硬磁盤中斷 軟磁盤中斷 打印中斷 300H 8259 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 24 首先介紹 IR0的內(nèi)部接線及功能。內(nèi)部接線如圖 7-5,因為內(nèi)部的 8253 在初始化時,將計數(shù)器 0 設(shè)定為工 作方式 3,計數(shù)初值為 0 即 65536。因此 IRQ0的方波頻率為1.19M/65536=18.2HZ 即中斷周期為 55ms,每隔 55ms 產(chǎn)生一 個中斷號為 8H 的中斷。 該中斷的主要功 能是修改計算機內(nèi)部時鐘。在中斷 8 服 務(wù)程序的結(jié)尾有一個 1CH 的軟中斷,其中斷服務(wù)程序只有一條返 回語句(IRET)無任何內(nèi)容。用戶可以通過修改 INT 1CH

13、 的中斷 矢量來實現(xiàn)定時操作。 OUT0 圖 7-5 計算機內(nèi)部 8253 接線圖 5V 8253 IRQ0 1.19M GATE0 CLK0 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 25 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 26 6. 4 系統(tǒng)的調(diào)試與運行系統(tǒng)的調(diào)試與運行 v離線仿真和調(diào)試離線仿真和調(diào)試 硬件調(diào)試硬件調(diào)試 軟件調(diào)試軟件調(diào)試 系統(tǒng)仿真系統(tǒng)仿真 v在線調(diào)試和運行在線調(diào)試和運行 檢測元件,保證精確度要求。檢測元件,保證精確度要求。 各種接線和導(dǎo)管必須經(jīng)過檢查,保證連接正確。各種接線和導(dǎo)管必須經(jīng)過檢查,保證連接正確。 對在流量中采用隔離液的系統(tǒng),要在清洗好引壓導(dǎo)管對在流量中采用隔離液的系

14、統(tǒng),要在清洗好引壓導(dǎo)管 以后,灌入隔離液以后,灌入隔離液 。 檢查調(diào)節(jié)閥能否正確工作。檢查調(diào)節(jié)閥能否正確工作。 檢查系統(tǒng)的干擾情況和接地情況檢查系統(tǒng)的干擾情況和接地情況 。 對安全防護(hù)措施也要檢查。對安全防護(hù)措施也要檢查。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 27 計算機控制系統(tǒng)設(shè)計步驟計算機控制系統(tǒng)設(shè)計步驟 1研究被控對象、確定控制任務(wù)研究被控對象、確定控制任務(wù) 2確定系統(tǒng)整體方案確定系統(tǒng)整體方案 確定系統(tǒng)的性質(zhì)和結(jié)構(gòu)確定系統(tǒng)的性質(zhì)和結(jié)構(gòu) 確定執(zhí)行機構(gòu)方案確定執(zhí)行機構(gòu)方案 控制系統(tǒng)總體控制系統(tǒng)總體“黑箱黑箱”設(shè)計設(shè)計 控制系統(tǒng)層次以及硬件、軟件功能劃分控制系統(tǒng)層次以及硬件、軟件功能劃分 在總

15、體方案設(shè)計完成后,形成了系統(tǒng)組成的粗線條框圖結(jié)在總體方案設(shè)計完成后,形成了系統(tǒng)組成的粗線條框圖結(jié) 構(gòu)、硬件與軟件劃分等文件,供詳細(xì)設(shè)計使用。以此作為進(jìn)一構(gòu)、硬件與軟件劃分等文件,供詳細(xì)設(shè)計使用。以此作為進(jìn)一 步設(shè)計的依據(jù)。步設(shè)計的依據(jù)。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 28 計算機控制系統(tǒng)設(shè)計步驟計算機控制系統(tǒng)設(shè)計步驟 3建立數(shù)學(xué)模型,確定控制算法建立數(shù)學(xué)模型,確定控制算法 4硬件的設(shè)計硬件的設(shè)計 確定過程的輸入、輸出通道及其處理方式確定過程的輸入、輸出通道及其處理方式 計算機系統(tǒng)選擇計算機系統(tǒng)選擇 過程通道及接口設(shè)計過程通道及接口設(shè)計 控制臺設(shè)計控制臺設(shè)計 可靠性設(shè)計可靠性設(shè)計 硬件調(diào)試

16、硬件調(diào)試 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 29 5軟件的設(shè)計軟件的設(shè)計 選擇編程語言選擇編程語言匯編語言、高級語言、混合語言匯編語言、高級語言、混合語言 軟件設(shè)計步驟軟件設(shè)計步驟問題定義、細(xì)化設(shè)計、編制源程序、形成可執(zhí)行問題定義、細(xì)化設(shè)計、編制源程序、形成可執(zhí)行 代碼、調(diào)試代碼、調(diào)試 6系統(tǒng)仿真與調(diào)試系統(tǒng)仿真與調(diào)試 實驗室硬件聯(lián)調(diào)實驗室硬件聯(lián)調(diào) 實驗室軟件聯(lián)調(diào)實驗室軟件聯(lián)調(diào) 實驗室系統(tǒng)仿真實驗室系統(tǒng)仿真 7現(xiàn)場安裝調(diào)試現(xiàn)場安裝調(diào)試 計算機控制系統(tǒng)設(shè)計步驟計算機控制系統(tǒng)設(shè)計步驟 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 30 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 31 第六章計算機控制系統(tǒng)綜合設(shè)計舉

17、 例 32 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 33 本系統(tǒng)采用外部硬件定時中斷,中 斷周期為 20ms。外接 8253 定時器使其 產(chǎn)生一個周期為 20ms 方波,然后接在 8259 的 IRQ2 上。 這樣計算機每隔 20ms 便產(chǎn)生一個中斷號為 0AH 的中斷。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 34 根據(jù)具體情況可將控制周期設(shè)為 5 秒,由于中斷周期為 20ms,所以,在一個控制周期內(nèi)共有 250 個時間段。在每個 時間段內(nèi)電爐絲可以有“通電”和“斷開”兩種狀態(tài)。通過 調(diào)節(jié)“通電”的時間段的數(shù)目,即控制加熱的占空比,可以 達(dá)到調(diào)節(jié)加熱功率的目的,因此這種調(diào)節(jié)方案也可稱為調(diào)功 法控制溫

18、度。 在每個控制周期啟始時采樣溫度,采用 PID 控制算法,PID 運算程序所計算的輸出量是一個控制周期中應(yīng)該通電的時間 段數(shù), 再通過 8255 的 PA0在該時間段內(nèi)輸出高電平使固態(tài)開 關(guān)通電,以達(dá)到控制烘箱溫度的目的。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 35 控制軟件主要實現(xiàn)烘箱溫度的 PID 控制、顯 示溫度值和控制量。整個程序包括四部分: 主程序、PID 運算子程序、限幅子程序、A/D 采樣和中斷子程序。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 36 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 37 (三) 、限幅子程序的功能是把 PID 程序運算結(jié)果進(jìn)行限 幅運算,以得到一個 0-250 之

19、間的數(shù),以滿足調(diào)功控制溫 度的需要,子程序框圖如圖 7-10。 (四)中斷子程序每 20ms 執(zhí)行一次,中斷時對中斷計數(shù) 器 CNT 加 1,將之與 PID 的運算結(jié)果 POUT 的值相比較, 當(dāng) CNT 大于 POUT 時,停止加熱,否則繼續(xù)加熱。每執(zhí) 行 250 次調(diào)用一次采樣控制程序, 已實現(xiàn)控制周期為 5 秒。 具體程序框圖如圖 7-11。(注:程序中 KP、KI、KD都擴大 了 8 2倍,因此輸出量應(yīng)相應(yīng)減小 8 2倍。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 38 控制軟件設(shè)計控制軟件設(shè)計 圖 6-8 主程序框圖 調(diào)用顯示程序 調(diào)用 PID 程序 調(diào)用限幅程序 控制量=0? PA0=1

20、 N Y 調(diào)用顯示程序 按鍵退出? 關(guān)定時器 0 結(jié)束 N Y 開始 8255 方式 0 輸出 8253 0#方式 3 20ms 方波 設(shè)置INT0A中斷矢量 CNT=250? N Y CNT=0; 調(diào)用 A/D 采樣程序 調(diào)用變 BCD 碼程序 PA0=0 標(biāo)度變換 顯示提示信息 允許 IRQ2中斷 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 39 PID 子程序框圖 求偏差 求 PP=KP(e0e1) P=P+PP 求 Pi=Kie0 P=P+Pi 求PP=KP(e0e1+e2) P=P+Pd e2=e1; e1=e0 返回 限幅子程序框圖 P 250 ? N P=250 Y N P=0 POUT

21、=P 返回 CNTPOUT? N Y 8259 復(fù)位 恢復(fù)現(xiàn)場 返回 保護(hù)現(xiàn)場 CNT=CNT+1 PA0=0 中斷子程序框圖 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 40 DOSSEG .MODEL SMALL .STACK 100H .DATA UR EQU 80H KP EQU 0300H KI EQU 0010H KD EQU 0H E0 DW 0 E1 DW 0 E2 DW 0 PU DW 2 DUP(0) ;DOS簡化段定義簡化段定義 ;小模式小模式 ;棧深棧深100H ;數(shù)據(jù)段數(shù)據(jù)段 ;設(shè)定值,對應(yīng)設(shè)定值,對應(yīng)50 ;放大放大28的比例系數(shù)的比例系數(shù)KP=3 ;放大放大28的積分系數(shù)

22、的積分系數(shù)KI=0.0625 ;放大放大28的微分系數(shù)的微分系數(shù)KD=0 ; E(k) ; E(k-1) ; E(k-2) ; U(k) 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 41 ADZ DB ? POUT DB ? CNT DB 0 MES1 DB TEMPREATURE=$ MES2 DB CONTROL=$ .CODE ; A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 ; 0250個時間輸出段數(shù)個時間輸出段數(shù) ;每個控制周期中的中斷個數(shù)每個控制周期中的中斷個數(shù) ;字符串字符串1:當(dāng)前溫度:當(dāng)前溫度= ;字符串字符串2:當(dāng)前控制量:當(dāng)前控制量= ;代碼段代碼段 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 42 STAR

23、T: MOV AX,DATA MOV DS,AX PUSH DS MOV AX,SEG INT0A MOV DS,AX MOV DX,OFFSET INT0A MOV AX,250AH INT 21H POP DS ;指定數(shù)據(jù)段指定數(shù)據(jù)段 ;保護(hù)數(shù)據(jù)段的段地址保護(hù)數(shù)據(jù)段的段地址 ;利用利用INT 21H軟中斷的軟中斷的25號功能,修改號功能,修改 ; 中斷矢量表的內(nèi)容,使指向用戶所編寫中斷矢量表的內(nèi)容,使指向用戶所編寫 ;的中斷服務(wù)子程序的段地址和偏移地的中斷服務(wù)子程序的段地址和偏移地 ;址。址。 ;恢復(fù)數(shù)據(jù)段的段地址恢復(fù)數(shù)據(jù)段的段地址 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 43 MOV DX,

24、203H MOV AL,36H OUT DX,AL MOV AX,20000 MOV DX,200H OUT DX,AL MOV AL,AH OUT DX,AL ;203H為定時器為定時器8253的控制字地址的控制字地址, ;定時器定時器0的工作模式為的工作模式為3,36H=00 11 011 0B ;定時器定時器0的地址為的地址為200H,計數(shù)初值為,計數(shù)初值為20000, ;則定時為則定時為20000/1MHz=20MS;先寫計數(shù)值的;先寫計數(shù)值的 ;低字節(jié),再寫高字節(jié)。低字節(jié),再寫高字節(jié)。 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 44 MOV DX,20BH MOV AL,80H OUT D

25、X,AL MOV AL,0 MOV DX,208H OUT DX,AL IN AL,21H MOV BP,AX AND AL,11111011B O U T 2 1 H , A L STI ; 20BH為為8255的控制字地址的控制字地址 ;定義定義A口為輸出口為輸出 ;第一個初始控制周期中,先從第一個初始控制周期中,先從A口(地址口(地址 ; 208H)輸出)輸出0關(guān)斷,不加熱。關(guān)斷,不加熱。 ; 8259屏蔽寄存器地址屏蔽寄存器地址21H ;保存中斷屏蔽字保存中斷屏蔽字 ;使使IR2允許中斷允許中斷 ;開中斷開中斷 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 45 A0 RD* WR* CS*功能

26、功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 寫入寫入ICW1、OCW2和和OCW3 寫入寫入ICW2ICW4和和OCW1 讀出讀出IRR、ISR和查詢字和查詢字 讀出讀出IMR屏蔽寄存器屏蔽寄存器 數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài) 數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài) ICW初始化寄存器初始化寄存器 OCW工作命令寄存器工作命令寄存器 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 46 PPP: MOV BL,250 CMP CNT,BL JE RP1 JMP PPP RP1: MOV CNT,0 CALL PICKAD LEA DX,MES1 MOV AH,9 I

27、NT 21H MOV AL,ADZ MOV BL,100 MUL BL MOV BL,255 DIV BL ;每個控制周期每個控制周期5秒中共有秒中共有250個個20MS的中斷,的中斷,5 ;秒已滿則跳,開始新周期;不滿則繼續(xù)循環(huán)至秒已滿則跳,開始新周期;不滿則繼續(xù)循環(huán)至 ; 250個中斷。個中斷。 ;調(diào)用調(diào)用A/D采樣子程序,結(jié)果存在采樣子程序,結(jié)果存在ADZ ;利用利用INT 21H軟中斷的軟中斷的9號功能顯示字符串號功能顯示字符串1 ;將將00HFFH的的AD轉(zhuǎn)換結(jié)果標(biāo)度變換到轉(zhuǎn)換結(jié)果標(biāo)度變換到0100 ; 的溫度值的溫度值,結(jié)果存在結(jié)果存在AL中。中。 第六章計算機控制系統(tǒng)綜合設(shè)計舉

28、例 47 CALL HEX_BCD CALL DSP_AL CALL PID C A L L L I M I T MOV DX,208H MOV AL,0 CMP POUT,0 JE M2 MOV AL,1 ;將將16進(jìn)制溫度值轉(zhuǎn)換成進(jìn)制溫度值轉(zhuǎn)換成BCD碼碼 ;調(diào)用溫度值顯示子程序調(diào)用溫度值顯示子程序 ;調(diào)用調(diào)用PID 控制子程序控制子程序 ;調(diào)用輸出限幅子程序調(diào)用輸出限幅子程序 ; 8255的的A口的地址口的地址 ;所計算的控制量所計算的控制量POUT如果為如果為0則則8255 ;輸出關(guān)斷,否則在控制周期輸出關(guān)斷,否則在控制周期250個時間個時間 ;段中的第一段先輸出開段中的第一段先輸出開

29、 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 48 LEA DX,MES2 MOV AH,9 INT 21H MOV AL,POUT CALL DSP_AL CALL CRLF MOV AH,0BH INT 21H INC AL JZ PPP2 JMP PPP ;利用利用INT 21H軟中斷的軟中斷的9號功能顯示字符串號功能顯示字符串2, ;顯示控制量,顯示控制量,00HFAH ;回車換行回車換行 ;利用利用INT 21H軟中斷的軟中斷的0B號功能,檢測是否號功能,檢測是否 ;有鍵按下,有有鍵按下,有AL=FFH,無則,無則AL=00H,加,加1 ;后,為后,為0則退出,否則繼續(xù)則退出,否則繼續(xù) 第六

30、章計算機控制系統(tǒng)綜合設(shè)計舉 例 49 PPP2: MOV DX,208H MOV AL,0 OUT DX,AL MOV DX,203H MOV AL,30H OUT DX,AL MOV AX,BP OUT 21H,AL MOV AX,4C00H INT 21H ;退出前,先令退出前,先令8255的的A口輸出口輸出0,停止加熱,停止加熱 ;將將8253改為外部脈沖計數(shù)模式,從而使改為外部脈沖計數(shù)模式,從而使 ; 8253停止計數(shù)停止計數(shù) ;恢復(fù)中斷屏蔽字恢復(fù)中斷屏蔽字 ;退出,返回退出,返回DOS 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 50 PID PROC NEAR MOV AX,E1 MOV

31、E2,AX MOV AX,E0 MOV E1,AX MOV AX,UR MOV BL,ADZ MOV BH,0 SUB AX,BX MOV E0,AX ;PID控制子程序控制子程序 ;偏差平移:前一個控制周期的偏差平移:前一個控制周期的E(k-1)平移平移 ;為當(dāng)前控制周期的為當(dāng)前控制周期的E(k-2) ;前一周期的前一周期的E(k)平移為當(dāng)前周期的平移為當(dāng)前周期的E(k-1) ;期望值期望值 ;當(dāng)前的采樣值當(dāng)前的采樣值 ;當(dāng)前周期的新當(dāng)前周期的新E(k) =UR-ADZ ;計算比例控制器的輸出:計算比例控制器的輸出:KP*E(K)-E(K-1) 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 51 MO

32、V BX,E1 SUB AX,BX MOV BX,KP IMUL BX MOV SI,OFFSET PU ADD SI,AX ADC SI+2,DX MOV AX, E0 MOV BX, KI IMUL BX ;結(jié)果的高低四位存入結(jié)果的高低四位存入DX、AX ;指針調(diào)整到指針調(diào)整到U(k-1) ;計算計算U(k-1)+ KP*(E(k)-E(k-1) ;計算積分控制器的輸出:計算積分控制器的輸出:KI*E(k) 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 52 MOV SI, OFFSET PU ADD SI, AX ADC SI+2, DX MOV AX, E0 ADD AX, E2 SUB AX,

33、 E1 SUB AX, E1 MOV BX, KD IMUL BX MOV SI, OFFSET PU ADD SI, AX ADC SI+2, DX RET PID ENDP ;指針調(diào)整指針調(diào)整 ;計算計算U(K-1)+ KP*E(K)-E(K-1)+ KI*E(K) ;計算微分控制器的輸出:計算微分控制器的輸出: ;KD*E(K)+E(K-2)-2*E(K-1) ;指針調(diào)整指針調(diào)整 ;PID增量增量 ;PID控制子程序結(jié)束,返回控制子程序結(jié)束,返回 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 53 LIMIT PROC NEAR MOV SI, OFFSET PU MOV AX, SI+2 CMP

34、 AX,0 JL MINUS JG BIG MOV AX,SI CMP AX,0FA00H JC MM5 MOV AX,0FA00H MOV SI,AX MM5: MOV AL,AH MOV POUT,AL RET ;限幅限幅00-FAH子程序子程序,積分飽和積分飽和 ;指針指向指針指向PID運算的結(jié)果運算的結(jié)果 ;對其高對其高16位進(jìn)行判斷位進(jìn)行判斷 ;為負(fù)為負(fù),小于小于0,跳轉(zhuǎn)跳轉(zhuǎn) ;為正為正,大于大于0000FFFF,跳轉(zhuǎn)跳轉(zhuǎn)0000FFFFH ;間的數(shù)間的數(shù) ;與最大輸出與最大輸出250比較比較 ;小于小于250, ,跳轉(zhuǎn)跳轉(zhuǎn) ;否則否則,置為最大的置為最大的250. ;將超限輸出值對

35、應(yīng)單元刷新將超限輸出值對應(yīng)單元刷新. ;輸出時除以輸出時除以28,右移右移8位位 ;返回返回 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 54 INT0A PROC NEAR PUSH AX PUSH DX INC CNT MOV AL, POUT CMP CNT,AL JBE PPP1 MOV AL,0 MOV DX,208H OUT DX,AL PPP1: MOV AL,20H OUT 20H,AL POP DX POP AX IRET INT0A ENDP ;中斷服務(wù)子程序中斷服務(wù)子程序,20MS一次一次 ;將中斷服務(wù)子程序需要使用的內(nèi)存單元壓棧將中斷服務(wù)子程序需要使用的內(nèi)存單元壓棧 ;中斷計數(shù)

36、加中斷計數(shù)加1 ;取控制量取控制量 ;輸出輸出1的時間段數(shù)是否已滿的時間段數(shù)是否已滿? ;未滿未滿,跳轉(zhuǎn)跳轉(zhuǎn),維持輸出維持輸出1等待下一等待下一20MS的中斷的中斷;已已 滿滿,則輸出則輸出0,關(guān)斷關(guān)斷,并等待下一并等待下一20MS的中斷的中斷,直到直到 CNT滿滿250. ;0A號中斷結(jié)束號中斷結(jié)束,8259中斷服務(wù)寄存器復(fù)位中斷服務(wù)寄存器復(fù)位 ;寫寫OCW2,發(fā),發(fā)EOI命令命令 ;中斷服務(wù)子程序結(jié)束返回中斷服務(wù)子程序結(jié)束返回, 出棧操作出棧操作,恢復(fù)恢復(fù) AX,DX中的內(nèi)容中的內(nèi)容,而而CS,IP,標(biāo)志寄存器則自動出標(biāo)志寄存器則自動出 棧棧 第六章計算機控制系統(tǒng)綜合設(shè)計舉 例 55 PICKAD PROC MOV

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論