




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章微機(jī)測(cè)控系統(tǒng)的神經(jīng)中樞—監(jiān)控程序6.1測(cè)控系統(tǒng)監(jiān)控程序的功能和組成6.2監(jiān)控主程序和初始化管理6.3鍵盤管理6.4顯示、中斷與時(shí)鐘管理6.5系統(tǒng)自檢思考題與習(xí)題6.1測(cè)控系統(tǒng)監(jiān)控程序的功能和組成
6.1.1測(cè)控系統(tǒng)監(jiān)控程序的作用與功能測(cè)控系統(tǒng)監(jiān)控程序的主要作用是能及時(shí)地響應(yīng)來(lái)自系統(tǒng)或儀器內(nèi)部的各種服務(wù)請(qǐng)求,有效地管理測(cè)控系統(tǒng)自身的軟、硬件資源。其功能可歸納為:①鍵盤和顯示管理;②中斷管理;③時(shí)鐘管理;④實(shí)現(xiàn)對(duì)系統(tǒng)自身的診斷處理;⑤初始化、自動(dòng)/手動(dòng)切換、掉電保護(hù)等。
6.1.2測(cè)控系統(tǒng)監(jiān)控程序的組成測(cè)控系統(tǒng)監(jiān)控程序的組成主要取決于測(cè)控系統(tǒng)的組成規(guī)模,以及系統(tǒng)的硬件配備與功能。它通常由監(jiān)控主程序、初始化管理、鍵盤管理、顯示管理、中斷管理、時(shí)鐘管理、自診斷和自動(dòng)/手動(dòng)切換等模塊組成,如圖6-1所示。
圖6-1監(jiān)控程序的基本組成
6.2監(jiān)控主程序和初始化管理
6.2.1監(jiān)控主程序
1.監(jiān)控主程序的任務(wù)和存放位置監(jiān)控主程序是整個(gè)監(jiān)控程序的管理程序,它起到引導(dǎo)測(cè)控系統(tǒng)進(jìn)入正常工作過(guò)程,并根據(jù)測(cè)控要求來(lái)協(xié)調(diào)系統(tǒng)各軟件模塊的工作,從而實(shí)現(xiàn)控制系統(tǒng)硬件的作用。監(jiān)控主程序一般都放在0000H單元開(kāi)始的ROM中,系統(tǒng)上電復(fù)位后即進(jìn)入監(jiān)控主程序運(yùn)行。監(jiān)控主程序的任務(wù)是識(shí)別命令、解釋命令并獲得完成該命令的相應(yīng)模塊的入口地址。
2.監(jiān)控主程序的基本結(jié)構(gòu)與運(yùn)行過(guò)程監(jiān)控主程序通常包括可編程器件和輸入/輸出端口的初始化、初始參數(shù)的設(shè)定、自診斷管理模塊、鍵盤顯示管理模塊以及中斷管理和處理模塊等。由于各個(gè)微機(jī)測(cè)控系統(tǒng)的功能不同,硬件結(jié)構(gòu)不同,程序編制方法不同,因而監(jiān)控主程序沒(méi)有統(tǒng)一的模式。但監(jiān)控主程序除了初始化和自診斷外,其余部分必須構(gòu)成一個(gè)循環(huán),即測(cè)控系統(tǒng)的所有功能都在這一循環(huán)圈中周而復(fù)始地或有選擇地執(zhí)行,除非掉電或按復(fù)位(Reset)鍵,否則測(cè)控系統(tǒng)不會(huì)也不應(yīng)該跳出這一循環(huán)。圖6-2(a)和圖6-2(b)分別給出監(jiān)控主程序及相應(yīng)中斷管理程序的一般結(jié)構(gòu)。
圖6-2監(jiān)控主程序的一般結(jié)構(gòu)(a)監(jiān)控主程序流程;(b)中斷服務(wù)程序流程
3.監(jiān)控主程序設(shè)計(jì)應(yīng)注意的問(wèn)題
在編寫各種功能模塊時(shí),必須考慮到模塊在運(yùn)行時(shí)可能遇到的所有情況,保證任何模塊運(yùn)行后均能返回到主程序中的規(guī)定入口,特別要考慮到可能出現(xiàn)的各種意外情況。例如,做乘法時(shí)結(jié)果溢出,做除法時(shí)除數(shù)為零等,使程序不致陷入不應(yīng)有的死循環(huán)或進(jìn)入不該進(jìn)入的程序段,導(dǎo)致程序無(wú)法正常運(yùn)行。
6.2.2初始化管理
1.可編程器件初始化可編程器件初始化是指對(duì)可編程硬件接口電路的工作模式的初始化。微機(jī)測(cè)控系統(tǒng)中常用的可編程器件有鍵盤顯示接口8279、I/O擴(kuò)展接口8155和8255、定時(shí)計(jì)數(shù)器接口8253等。這些器件的初始化都有固定的格式,只是格式中的初始化參數(shù)隨應(yīng)用方式不同而已,因此,均可編成一定的子程序模塊,隨時(shí)調(diào)用即可。
3.參數(shù)初始化參數(shù)初始化是指對(duì)測(cè)控系統(tǒng)的整定參數(shù)(如PID算法的KP、TI、TD的初值)、報(bào)警值以及過(guò)程輸入通道的數(shù)據(jù)與過(guò)程輸出通道的數(shù)據(jù)初始化。系統(tǒng)的整定參數(shù)初值由被控對(duì)象的特性確定。對(duì)于過(guò)程輸入通道的數(shù)據(jù)初值,例如采樣初值、偏差初值、多路模擬開(kāi)關(guān)的初始狀態(tài)、濾波初值等,一般由測(cè)量控制算法決定。對(duì)于過(guò)程輸出通道,通常都置模擬量輸出為0狀態(tài)或其他預(yù)定狀態(tài);置開(kāi)關(guān)量輸出為無(wú)效狀態(tài),如繼電器處于釋放狀態(tài)等。根據(jù)結(jié)構(gòu)化思想,通常把這些參數(shù)的初始化工作集中在一個(gè)模塊中,以便集中管理,也有利于實(shí)現(xiàn)模塊獨(dú)立性。
6.3
鍵盤管理
6.3.1一鍵一義的鍵盤管理
1.一鍵一義鍵盤的涵義所謂一鍵一義,就是指一個(gè)按鍵只代表一個(gè)確切的命令或一個(gè)數(shù)字。對(duì)于這類鍵盤,編程時(shí)只要根據(jù)當(dāng)前按鍵的編碼把程序直接分支到相應(yīng)的處理模塊的入口,而無(wú)需知道在此以前的按鍵情況。
2.一鍵一義鍵盤管理程序的設(shè)計(jì)技術(shù)鍵盤信號(hào)的獲得有查詢法、中斷法和定時(shí)查詢法三種。下面將分別討論這三種方法的管理程序的設(shè)計(jì)技術(shù)。
1)查詢法查詢法是由主程序通過(guò)循環(huán)掃描鍵盤來(lái)獲取鍵盤信息的。此方法對(duì)應(yīng)的管理程序的設(shè)計(jì)思路是:微處理器周而復(fù)始地掃描鍵盤,當(dāng)發(fā)現(xiàn)有鍵按下時(shí),先判別是命令鍵還是數(shù)字鍵。若是數(shù)字鍵,則把該鍵值讀入存儲(chǔ)器,通常還進(jìn)行顯示;若是命令鍵,則根據(jù)鍵值查閱轉(zhuǎn)移表,以獲得鍵處理子程序的入口。處理子程序執(zhí)行完后,返回鍵盤掃描。其程序流程圖如圖6-3所示。
圖6-3查詢法管理程序流程圖
一鍵一義鍵盤管理的核心是一張一維的轉(zhuǎn)移表,在轉(zhuǎn)移表內(nèi)順序登記了各個(gè)處理子程序的轉(zhuǎn)移指令。設(shè)累加器A的內(nèi)容為讀到的某按鍵的鍵值,當(dāng)鍵值小于10H時(shí),為數(shù)字鍵;當(dāng)鍵值等于或大于10H時(shí),為命令鍵。以圖6-3所示的程序流程圖為例,編寫的查詢法處理的一鍵一義監(jiān)控程序如下:
MOVR1,ACLRCSUBBA,#10H;判斷是何種閉合鍵JNCDIGIT;是數(shù)字鍵,轉(zhuǎn)DIGITMOVDPTR,#TBJ2;轉(zhuǎn)換表首址→DPTR
MOVA,R1
ANLA,#0FH;取出命令鍵碼
ADDA,A;鍵碼加倍
JNCNADD
INCDPH;大于或等于256時(shí),DPH內(nèi)容加1NADD:MP@A+DPTR;執(zhí)行處理子程序TBJ2:AJMPPROG1;轉(zhuǎn)移表
AJMPPROG2
AJMPPROGnDIGIT:;數(shù)字送顯示緩沖器,并顯示
……
2)中斷法所謂中斷法,是指監(jiān)控主程序平時(shí)不進(jìn)行鍵盤掃描,只有當(dāng)有鍵按下時(shí)便引起中斷請(qǐng)求,然后在中斷子程序中進(jìn)行鍵盤掃描及按鍵的處理。這種方法需獨(dú)自占用一個(gè)外部中斷源。其管理程序流程圖如圖6-4所示。
圖6-4中斷法管理程序流程圖
3)定時(shí)查詢法在定時(shí)查詢法中,監(jiān)控程序每隔一定時(shí)間查詢一次鍵盤,由于時(shí)間間隔通常很短,因此對(duì)于操作者來(lái)說(shuō),鍵盤的響應(yīng)是實(shí)時(shí)的。鍵盤的查詢過(guò)程安排在定時(shí)中斷程序中完成,常用于鍵盤操作并不頻繁的測(cè)控系統(tǒng)。其管理程序流程圖如圖6-5所示。
圖6-5定時(shí)中斷法管理程序流程圖
6.3.2一鍵多義的鍵盤管理
1.一鍵多義的涵義一鍵多義是指一個(gè)按鍵有多種功能。在一鍵多義的情況下,一個(gè)命令不是由一次按鍵所決定的,而是由一個(gè)按鍵序列組成。即一個(gè)按鍵的含義除了取決于本次按鍵外,還取決于以前所按的鍵。
2.一鍵多義鍵盤管理程序的設(shè)計(jì)技術(shù)
采用一鍵多義的鍵盤管理,可使鍵盤硬件設(shè)計(jì)工作量減少,但軟件相對(duì)復(fù)雜。因此對(duì)于一鍵多義鍵盤的管理,首先要判斷一個(gè)按鍵序列(而不是一次按鍵)是否已構(gòu)成一個(gè)合法命令,若已構(gòu)成合法命令,則執(zhí)行命令,否則等待新按鍵輸入。
1)一鍵多義鍵盤管理程序的設(shè)計(jì)思路
一鍵多義鍵盤的管理程序仍可采用轉(zhuǎn)移表法進(jìn)行設(shè)計(jì),不過(guò)這時(shí)要用多張轉(zhuǎn)移表。組成一個(gè)命令的前幾個(gè)按鍵起著引導(dǎo)的作用,把控制引向某張合適的轉(zhuǎn)移表,根據(jù)最后一個(gè)按鍵編碼查閱該轉(zhuǎn)移表,就找到了要求的子程序入口。
按鍵的管理可以用查詢法也可以用中斷法。由于有些按鍵功能往往需執(zhí)行一段時(shí)間,例如,修改一個(gè)參數(shù),采用單鍵遞增(或遞減)方法,當(dāng)參數(shù)的變化范圍比較大時(shí),運(yùn)行時(shí)間就比較長(zhǎng),這時(shí)若用查詢法處理鍵盤,會(huì)影響整個(gè)系統(tǒng)的實(shí)時(shí)處理功能。此外,微機(jī)測(cè)控系統(tǒng)的監(jiān)控程序具有實(shí)時(shí)性,一般按鍵中斷不應(yīng)干擾正在進(jìn)行的控制運(yùn)算(控制運(yùn)算一般比按鍵具有更高的優(yōu)先級(jí),除非是“停止運(yùn)行”等一類按鍵)??紤]到這些因素,常常把按鍵服務(wù)設(shè)計(jì)成比過(guò)程通道中斷低一級(jí)的中斷源。
2)一鍵多義鍵盤的管理程序設(shè)計(jì)示例設(shè)一個(gè)8回路微機(jī)溫控儀有6個(gè)按鍵:回路選擇鍵C(回路號(hào)1~8,第8回路為環(huán)境溫度補(bǔ)償回路,其余為控溫點(diǎn))、參數(shù)設(shè)定鍵P(用來(lái)輸入設(shè)定值,實(shí)測(cè)值,P、I、D參數(shù)值,上、下限報(bào)警值,輸出控制值等8個(gè)參數(shù))、加1鍵▲、減1鍵、運(yùn)行鍵R和停止鍵S。顯然,這些按鍵都是一鍵多義的。C鍵對(duì)應(yīng)了8個(gè)回路,且第8回路(環(huán)境溫度補(bǔ)償回路)與其余7個(gè)回路不同,它只有實(shí)測(cè)值一個(gè)參數(shù),沒(méi)有其他參數(shù)。P鍵對(duì)應(yīng)了每一回路(除第8回路外)的8個(gè)參數(shù)。這些參數(shù),有的需要執(zhí)行加1、減1功能,如設(shè)定值,P、I、D參數(shù),上、下限報(bào)警值;有的不能修改,如實(shí)測(cè)溫度值。加1鍵和減1鍵的功能執(zhí)行與否,取決于在它們前面按過(guò)的C鍵和P鍵;R鍵的功能執(zhí)行與否,則取決于當(dāng)前的C值。
圖6-6一鍵多義鍵盤管理程序流程
根據(jù)圖6-6編寫的一鍵多義管理程序如下。因無(wú)特定對(duì)象,各按鍵服務(wù)子程序略。設(shè)各鍵的編碼為:R=00H;S=01H;▲=02H;▼=03H;C=04H;P=05H。內(nèi)存RAM20H中高四位為通道(回路)號(hào)標(biāo)記,低四位為參數(shù)號(hào)標(biāo)記。假設(shè)8279命令口地址為7FFFH,數(shù)據(jù)口地址為7FFEH。程序中保護(hù)現(xiàn)場(chǎng)部分略。
KI:MOVDPTR,#7FFFHMOVA,#40HMOVX@DPTR,A;讀FIFO命令送8279MOVDPTR,#7FFEHMOVXA,@DPTR;讀按鍵編碼
ADDA,AMOVDPTR,#TBJ1;一級(jí)轉(zhuǎn)移表入口地址→D
PTRJNCKI1INCDPHKI1:JMP@A+DPTRTBJ1:AJMPRUN
AJMPSTOP
AJMPINCR
AJMPDECR
AJMPCHAL
AJMPPARARUN:JNB07H,RUN1;若C≠8,則轉(zhuǎn)RUN1
RETIRUN1:LCALLRUN2;調(diào)用啟運(yùn)子程序
RETISTOP:LCALLSTP1;調(diào)用停止當(dāng)前回路運(yùn)行的子程序
RETIINCR:JNB07H,INC1;若C≠8,則轉(zhuǎn)INC1
RETIINC1:MOVR0,#20H
MOVA,@R0
ANLA,#0FHCJNEA,#01H,INC2;若P≠1,則轉(zhuǎn)INC2RETIINC2:LCALLINC3 ;調(diào)用加1子程序
RETIDECK: ;與INCR類似,略CHAL:MOVR0,#20HMOVA,@R0ADDA,#10H ;通道號(hào)加1MOV@R0,AANLA,#0F0HCJNEA,#90H,CHA1;判C是否大于8SETB04H ;若C>8,置C=1CLR07HCHA1:RETIPARA:JB07H,C8 ;若C=8,則轉(zhuǎn)C8MOVR0,#20HMOVA,@R0ADDA,#01H ;參數(shù)序號(hào)P+1JB03H,PAR1 ;若P>7,則轉(zhuǎn)PAR1MOV@R0,AAJMPPAR2PAR1:CLR03H ;若P>7,置P=0PAR2:MOVDPTR,#TBJ2 ADDA,AJNCKI2INCDPHKI2:JMP@A+DPTR;轉(zhuǎn)二級(jí)表TBJ2:ATMPC1P0;以下為通道號(hào)C對(duì)應(yīng)各參數(shù)值P的子程序入口
AJMPC1P7AJMPC2P0AJMPC2P7AJMPC7P7C8:
;對(duì)補(bǔ)償回路的處理
…6.3.3自動(dòng)/手動(dòng)切換
1.自動(dòng)/手動(dòng)切換的涵義自動(dòng)/手動(dòng)切換實(shí)質(zhì)是系統(tǒng)工作方式的變換,即系統(tǒng)是采用自動(dòng)方式連續(xù)運(yùn)行,還是采用步進(jìn)方式斷續(xù)運(yùn)行。所謂自動(dòng)方式連續(xù)運(yùn)行,是指測(cè)控系統(tǒng)在監(jiān)控程序的控制下,實(shí)現(xiàn)自動(dòng)測(cè)量、自動(dòng)控制的過(guò)程。它的特點(diǎn)是在不改變測(cè)控初始參數(shù)或測(cè)控對(duì)象的情況下,無(wú)需人為干涉。而步進(jìn)方式斷續(xù)運(yùn)行是指測(cè)控系統(tǒng)在系統(tǒng)調(diào)試或測(cè)試階段,實(shí)現(xiàn)單步測(cè)量、單步控制的過(guò)程。它的特點(diǎn)是必須在人的參與下完成既定測(cè)控任務(wù)。
2.自動(dòng)/手動(dòng)切換的功能在微機(jī)測(cè)控系統(tǒng)中,自動(dòng)/手動(dòng)切換主要有以下基本功能:
(1)在手動(dòng)操作方式時(shí),能通過(guò)一定的手動(dòng)操作來(lái)方便、準(zhǔn)確地調(diào)整輸出值;
(2)能實(shí)現(xiàn)手動(dòng)/自動(dòng)的無(wú)擾動(dòng)切換。
3.自動(dòng)/手動(dòng)切換管理技術(shù)
實(shí)現(xiàn)手動(dòng)操作,有硬件方法和軟件方法兩種。目前大多數(shù)微機(jī)測(cè)控系統(tǒng)采用軟件方法,由操作面板上的按鍵來(lái)實(shí)現(xiàn)。常用于自動(dòng)/手動(dòng)切換功能的按鍵有手動(dòng)/自動(dòng)切換鍵、控制對(duì)象選擇鍵、手動(dòng)進(jìn)給加鍵和手動(dòng)進(jìn)給減鍵等。監(jiān)控程序通過(guò)判斷手動(dòng)/自動(dòng)切換鍵的狀態(tài)來(lái)進(jìn)行工作方式的選擇。在手動(dòng)方式時(shí),系統(tǒng)由操作面板上的手動(dòng)操作部分的按鍵控制,一般先通過(guò)控制對(duì)象選擇鍵來(lái)選擇被控對(duì)象,再由進(jìn)給加、減兩鍵來(lái)調(diào)整輸出值。
應(yīng)注意的是,在進(jìn)行手動(dòng)/自動(dòng)切換時(shí),必須保證無(wú)擾動(dòng)。所謂手動(dòng)/自動(dòng)無(wú)擾動(dòng)切換,是指在微機(jī)測(cè)控系統(tǒng)中,手動(dòng)/自動(dòng)工作狀態(tài)的切換不會(huì)對(duì)系統(tǒng)運(yùn)行產(chǎn)生沖擊,即平滑過(guò)渡。實(shí)現(xiàn)系統(tǒng)手動(dòng)/自動(dòng)無(wú)擾動(dòng)切換的主要措施是保證系統(tǒng)參量不跳變。在軟件設(shè)計(jì)時(shí),先開(kāi)辟一個(gè)輸出控制值單元,作為當(dāng)前輸出控制量的映像,無(wú)論是手動(dòng)還是自動(dòng)控制,都是對(duì)這一輸出值的映像單元進(jìn)行加或減,在輸出模塊程序作用下,輸出通道把此值送到執(zhí)行機(jī)構(gòu)上去,這樣就實(shí)現(xiàn)了無(wú)擾動(dòng)切換。因?yàn)槭謩?dòng)和自動(dòng)是針對(duì)同一輸出控制量單元進(jìn)行操作,因此當(dāng)從自動(dòng)切換到手動(dòng)時(shí),手動(dòng)的初值就是切換前自動(dòng)調(diào)節(jié)的結(jié)果;而從手動(dòng)切換到自動(dòng)時(shí),自動(dòng)調(diào)節(jié)的初值就是原來(lái)手動(dòng)時(shí)的結(jié)果,無(wú)需做任何特別的處理。這種方法不增加硬件投入,是一種切實(shí)可行的方案。其缺點(diǎn)是當(dāng)主機(jī)、輸出通道等硬件電路發(fā)生故障時(shí),手動(dòng)控制也就無(wú)法實(shí)現(xiàn)了。
6.4
顯示、中斷與時(shí)鐘管理
6.4.1顯示管理
1.測(cè)控系統(tǒng)的顯示方式微機(jī)測(cè)控系統(tǒng)的顯示方式目前主要有模擬指示、數(shù)字顯示和模擬數(shù)字混合顯示三種。模擬指示主要指采用模擬表頭作為顯示器件,一般只要在過(guò)程輸入通道的模擬量部分取出信號(hào)送入指示儀表即可,無(wú)需軟件管理;數(shù)字顯示主要指采用LED、LCD或CRT作為顯示器件,需要相應(yīng)的軟、硬件支持。這里的顯示管理是針對(duì)數(shù)字式顯示而言的。
2.顯示管理軟件的基本任務(wù)與實(shí)現(xiàn)方法
1)顯示數(shù)據(jù)的刷新顯示管理軟件在輸入通道采集到一個(gè)新的過(guò)程參數(shù)或操作人員鍵入一個(gè)參數(shù)或測(cè)控系統(tǒng)出現(xiàn)異常情況時(shí),應(yīng)及時(shí)刷新當(dāng)前的顯示數(shù)據(jù)或顯示特征符號(hào)。在軟件設(shè)計(jì)時(shí),為了使過(guò)程信息、按鍵內(nèi)容與顯示緩沖器相銜接,設(shè)計(jì)人員可在用戶RAM區(qū)開(kāi)辟一個(gè)參數(shù)區(qū)域,作為顯示管理模塊與其它功能模塊的數(shù)據(jù)接口。
2)多參數(shù)的巡測(cè)和定點(diǎn)顯示管理對(duì)于一個(gè)多路測(cè)控系統(tǒng),每一路都有一個(gè)實(shí)測(cè)值。由于系統(tǒng)不可能為每一路的參數(shù)都設(shè)計(jì)一組顯示器,因此,通常都采用巡回顯示的方法并輔以定點(diǎn)顯示功能,即在一般情況下作巡回顯示,而當(dāng)操作人員對(duì)某一參數(shù)特別感興趣時(shí),可中止巡回方式,進(jìn)入定點(diǎn)跟蹤方式。巡回顯示和定點(diǎn)顯示之間的切換由面板按鍵控制。在定點(diǎn)顯示方式中,顯示管理軟件只是不斷地刷新當(dāng)前顯示的參數(shù)值,而不改換通道或參數(shù)。在巡回顯示方式的顯示管理軟件中,每隔一定時(shí)間(例如2s)改換一個(gè)新的顯示參數(shù),并顯示該值。值得指出的是,延時(shí)時(shí)間一般不采用軟件延時(shí)的方法,因?yàn)樵谲浖訒r(shí)期間,主機(jī)不能做其他事。
3)指示燈顯示管理為了實(shí)現(xiàn)報(bào)警功能或被控對(duì)象工作狀態(tài)的指示,微機(jī)測(cè)控系統(tǒng)常在面板上設(shè)置一定數(shù)量的指示燈。指示燈的管理通常由與該指示燈有關(guān)的功能模塊直接管理,例如,上、下限報(bào)警模塊直接管理上下報(bào)警指示燈,也可在用戶RAM中開(kāi)辟一個(gè)指示燈狀態(tài)映像區(qū),由各功能模塊改變映像區(qū)的狀態(tài),該模塊由監(jiān)控主程序中的顯示管理模塊來(lái)管理。
6.4.2中斷管理
1.中斷在測(cè)控系統(tǒng)中的作用由于微機(jī)測(cè)控系統(tǒng)的各個(gè)被測(cè)、被控對(duì)象要求微機(jī)為其服務(wù)是隨機(jī)出現(xiàn)的,這樣微機(jī)就要及時(shí)進(jìn)行處理。所以,若在監(jiān)控軟件中采用定時(shí)掃描會(huì)造成系統(tǒng)響應(yīng)的遲滯,這種遲滯有可能會(huì)對(duì)系統(tǒng)產(chǎn)生較嚴(yán)重的后果。為此,提高各種可能事件的實(shí)時(shí)處理能力已成為測(cè)控系統(tǒng)不可回避的問(wèn)題。中斷功能的引入是提高系統(tǒng)實(shí)時(shí)處理能力最有效的手段。幾乎所有的微機(jī)測(cè)控系統(tǒng)都具有中斷功能,即允許被控過(guò)程的某一狀態(tài)、實(shí)時(shí)時(shí)鐘或鍵操作等,均可中斷正在進(jìn)行的工作,轉(zhuǎn)而處理該過(guò)程的實(shí)時(shí)問(wèn)題,當(dāng)這一處理工作完成后,再返回執(zhí)行原先的任務(wù)。
2.測(cè)控系統(tǒng)中的中斷源
能夠發(fā)出中斷請(qǐng)求信號(hào)的外設(shè)或事件稱為中斷源。微機(jī)測(cè)控系統(tǒng)中常見(jiàn)的中斷源有過(guò)程通道、實(shí)時(shí)時(shí)鐘、面板按鍵、通信接口和系統(tǒng)故障等。
3.中斷響應(yīng)過(guò)程微機(jī)測(cè)控系統(tǒng)上電復(fù)位后,一般中斷處于封鎖狀態(tài)。需在初始化軟件中,進(jìn)行中斷的相關(guān)設(shè)置,再經(jīng)過(guò)監(jiān)控主程序執(zhí)行一條“開(kāi)中斷”命令后,才能使測(cè)控系統(tǒng)一旦發(fā)現(xiàn)中斷,即可進(jìn)入中斷工作方式。中斷響應(yīng)過(guò)程如下:
(1)保護(hù)斷點(diǎn)地址并關(guān)中斷,防止其他中斷干擾本中斷;
(2)按中斷源提供的中斷矢量轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序;
(3)自動(dòng)撤除本次中斷請(qǐng)求(有些中斷標(biāo)志需軟件復(fù)位);
(4)保護(hù)現(xiàn)場(chǎng),即在中斷服務(wù)程序開(kāi)始時(shí),必須將服務(wù)程序所占用的資源(例如累加器、進(jìn)位位、專用的寄存器等)暫時(shí)保護(hù)起來(lái),并在服務(wù)程序結(jié)束時(shí)再恢復(fù)其內(nèi)容;
(5)如果允許響應(yīng)更高級(jí)別的中斷,則在保護(hù)現(xiàn)場(chǎng)后再將中斷開(kāi)放,并在中斷返回前再次關(guān)中斷;
(6)在中斷服務(wù)結(jié)束后,恢復(fù)現(xiàn)場(chǎng),以便返回到被中斷的程序。
4.中斷開(kāi)放的時(shí)機(jī)
通常中斷的開(kāi)放是在中斷設(shè)置完成后進(jìn)行的。當(dāng)有兩個(gè)以上的中斷源時(shí),要根據(jù)測(cè)控系統(tǒng)的功能特點(diǎn),先確定它們的優(yōu)先級(jí),再開(kāi)放中斷;若CPU正在響應(yīng)某中斷時(shí),在中斷服務(wù)程序保護(hù)現(xiàn)場(chǎng)之后,應(yīng)開(kāi)放中斷,以響應(yīng)更高級(jí)別中斷源的中斷請(qǐng)求,但應(yīng)屏蔽掉同級(jí)或較低級(jí)的中斷請(qǐng)求??傊袛嗟拈_(kāi)放時(shí)機(jī)要根據(jù)系統(tǒng)的具體設(shè)計(jì)要求來(lái)合理設(shè)置。
5.中斷管理軟件的基本構(gòu)成不同的微處理器的中斷結(jié)構(gòu)不同,處理方法也不同。軟件設(shè)計(jì)人員應(yīng)充分掌握所選用的微處理器的中斷結(jié)構(gòu),以設(shè)計(jì)相應(yīng)的中斷模塊。中斷模塊分為中斷管理模塊和中斷服務(wù)模塊兩部分。微處理器響應(yīng)中斷后所執(zhí)行的具體服務(wù)內(nèi)容,由各測(cè)控系統(tǒng)的功能決定。與前面的中斷響應(yīng)過(guò)程相對(duì)應(yīng),中斷管理軟件模塊通常應(yīng)包括以下功能:保護(hù)現(xiàn)場(chǎng);如果允許中斷嵌套,則再次開(kāi)放中斷;中斷服務(wù);中斷服務(wù)結(jié)束后恢復(fù)現(xiàn)場(chǎng);中斷返回。其基本流程如圖6-7所示。
圖6-7中斷管理程序流程
6.中斷優(yōu)先級(jí)的設(shè)置與判定不同的微處理器的中斷優(yōu)先級(jí)各不相同,一般不可屏蔽中斷源的優(yōu)先級(jí)別最高,可屏蔽中斷源也有默認(rèn)的優(yōu)先級(jí)別,在設(shè)置時(shí),由設(shè)計(jì)人員根據(jù)系統(tǒng)的功能特點(diǎn)來(lái)確定。這里以MCS-51單片機(jī)為例來(lái)進(jìn)行說(shuō)明。
MCS-51單片機(jī)有5~7個(gè)中斷源,其默認(rèn)的中斷優(yōu)先級(jí)別順序是:(最高)INT0→T0→INT1→T1→串行口(最低)。若需要改變默認(rèn)順序,可在中斷初始化設(shè)置時(shí),對(duì)IP寄存器進(jìn)行設(shè)置即可。對(duì)于相同類型的多個(gè)中斷源情況,如MCS-51單片機(jī)的INT0(INT1),可以采用如下兩種方法來(lái)進(jìn)行識(shí)別。
(1)利用定時(shí)/計(jì)數(shù)器的外部事件計(jì)數(shù)輸入端(T0或T1),作為邊沿觸發(fā)的外部中斷輸入端,這時(shí)定時(shí)/計(jì)數(shù)器應(yīng)工作于計(jì)數(shù)器方式,計(jì)數(shù)寄存器應(yīng)預(yù)置滿度數(shù)。
(2)每個(gè)中斷源都接在同一個(gè)外部中斷輸入端(INT0或INT1)上,同時(shí)利用輸入口來(lái)識(shí)別某裝置的中斷請(qǐng)求,具體電路如圖6-8所示。
圖6-8多中斷識(shí)別電路
圖6-8中,外部中斷輸入引腳INT0上接有4個(gè)中斷源,集電極開(kāi)路的非門構(gòu)成或非電路,無(wú)論哪個(gè)外部裝置提出中斷請(qǐng)求,都會(huì)使INT0引腳電平變低。究竟是哪個(gè)外部裝置申請(qǐng)的中斷,可以查詢P1.4~P1.7的邏輯電平獲知,這4個(gè)中斷源的優(yōu)先級(jí)由軟件決定。下面是有關(guān)的程序片斷,中斷優(yōu)先級(jí)按裝置1~4由高到低的順序排列。
LJMPINTRPTINTRPT:PUSHPSWPUSHAJB
P1.7,DINTR1JB
P1.6,DINTR2JB
P1.5,DINTR3JB
P1.4,DINTR4BACK:POP
APOPPSWRETIDINTR1: ;裝置1中斷服務(wù)程序
AJMPBACKDINTR2: ;裝置2中斷服務(wù)程序
AJMPBACKDINTR3: ;裝置3中斷服務(wù)程序
AJMPBACKDINTR4: ;裝置4中斷服務(wù)程序AJMPBACK…………
7.中斷管理軟件的設(shè)計(jì)技術(shù)
中斷管理軟件包含中斷初始化設(shè)置和中斷服務(wù)程序兩部分。在初始化管理中,第一要完成堆棧指針的設(shè)置;第二要對(duì)各中斷源的觸發(fā)標(biāo)志位進(jìn)行設(shè)定;第三是對(duì)有初始參量的中斷源,應(yīng)設(shè)置初始參量(如定時(shí)/計(jì)數(shù)中斷源),并發(fā)出啟動(dòng)命令;第四是當(dāng)存在多個(gè)中斷源時(shí),應(yīng)根據(jù)系統(tǒng)要求設(shè)置中斷優(yōu)先權(quán);第五是開(kāi)中斷。中斷服務(wù)程序可按照上述基本流程編寫。6.4.3時(shí)鐘管理
1.時(shí)鐘管理的功能時(shí)鐘是微機(jī)測(cè)控系統(tǒng)中不可缺少的組成部分,主要作為定時(shí)器,并用于以下7個(gè)方面:
(1)過(guò)程輸入通道的數(shù)據(jù)采樣周期定時(shí);
(2)過(guò)程輸出通道控制周期的定時(shí);
(3)參數(shù)修改按鍵數(shù)字增減速度的定時(shí)(對(duì)一些采用+/-兩個(gè)按鍵來(lái)修改參數(shù)的測(cè)控系統(tǒng),通??偸窍嚷?、減幾步,然后快加、減或呈指數(shù)速度變化);(4)多參數(shù)巡回顯示時(shí)的顯示周期定時(shí);(5)動(dòng)態(tài)保持方式輸出過(guò)程通道的動(dòng)態(tài)刷新周期定時(shí);(6)電壓-頻率型A/D轉(zhuǎn)換器定時(shí)電路;(7)故障監(jiān)視電路(Watchdog)的定時(shí)信號(hào)。
2.實(shí)現(xiàn)定時(shí)的方法與技術(shù)實(shí)現(xiàn)上述各種定時(shí),不外乎使用硬件、軟件兩種方法。硬件方法是采用可編程定時(shí)/計(jì)數(shù)器接口電路(如8253)以及微處理器內(nèi)的定時(shí)電路。使用時(shí),只要在監(jiān)控主程序的初始化程序或時(shí)鐘管理程序中,對(duì)它進(jìn)行工作方式預(yù)置和時(shí)間常數(shù)預(yù)置即可。但由于受到硬件上的限制,這種定時(shí)方法的定時(shí)間隔不可能太長(zhǎng),也難以用一兩個(gè)定時(shí)器實(shí)現(xiàn)多種不同時(shí)間的定時(shí)。軟件延時(shí)方案雖然簡(jiǎn)單,僅編寫一段程序雖無(wú)需硬件成本,但要占用大量的CPU時(shí)間,且實(shí)時(shí)性差,定時(shí)精度低,是一種不可取的方法。
軟、硬件結(jié)合定時(shí)的實(shí)現(xiàn)方法是:首先由硬件定時(shí)電路產(chǎn)生一個(gè)基本的脈沖,當(dāng)硬件定時(shí)時(shí)間到,就產(chǎn)生一中斷,CPU響應(yīng)中斷后使監(jiān)控主程序轉(zhuǎn)入時(shí)鐘中斷管理模塊。在設(shè)計(jì)軟件結(jié)構(gòu)時(shí),可以串行或并行方式設(shè)置幾個(gè)軟件定時(shí)器(在用戶RAM區(qū))。若一個(gè)定時(shí)間隔是另一個(gè)的整數(shù)倍,軟件定時(shí)器可設(shè)計(jì)成串行的;若不是整數(shù)倍,則可設(shè)計(jì)成并行的。當(dāng)硬件定時(shí)中斷一到,這些軟件時(shí)鐘分別用累加或遞減方法計(jì)時(shí),并由軟件來(lái)判斷是否溢出或回零(即定時(shí)時(shí)間到),這一程序段一般不會(huì)很長(zhǎng),故對(duì)測(cè)控系統(tǒng)的實(shí)時(shí)性影響極小。采用這一方法,可方便地實(shí)現(xiàn)多個(gè)定時(shí)器功能。時(shí)鐘管理模塊的任務(wù)僅是在監(jiān)控主程序中對(duì)各定時(shí)器預(yù)置初值和在響應(yīng)時(shí)鐘中斷過(guò)程中判斷定時(shí)時(shí)間是否已到。一旦時(shí)間到,則重新預(yù)置初值,并建立一個(gè)標(biāo)志,以提示應(yīng)該執(zhí)行上述7種功能中的某項(xiàng)服務(wù)程序。服務(wù)程序的執(zhí)行一般都安排在時(shí)鐘中斷返回以后進(jìn)行,通過(guò)查詢中斷過(guò)程中建立的標(biāo)志狀態(tài)來(lái)決定是否執(zhí)行該功能。
6.5系統(tǒng)自檢
6.5.1系統(tǒng)自檢的方式與內(nèi)容
1.自檢的定義與作用自檢就是利用事先編制的程序?qū)y(cè)控系統(tǒng)的主要部件進(jìn)行自動(dòng)檢測(cè),以確定是否有故障以及故障的內(nèi)容和位置。自檢是微機(jī)測(cè)控系統(tǒng)應(yīng)具備的基本功能之一,也是提高可靠性和可維護(hù)性的重要手段之一。
2.自檢的基本原理自檢的實(shí)質(zhì)就是故障診斷,其基本原理是向被檢部件輸出試驗(yàn)數(shù)據(jù),然后采樣運(yùn)行后的反饋結(jié)果數(shù)據(jù),并對(duì)其結(jié)果進(jìn)行分析,確定故障的內(nèi)容和位置。試驗(yàn)數(shù)據(jù)、反饋結(jié)果數(shù)據(jù)和故障的對(duì)應(yīng)關(guān)系應(yīng)在故障診斷前準(zhǔn)備好。
3.測(cè)控系統(tǒng)的自檢方式微機(jī)測(cè)控系統(tǒng)的自檢方式可分為開(kāi)機(jī)自檢、周期性自檢和鍵盤自檢三種類型。(1)開(kāi)機(jī)自檢:是在電源接通或系統(tǒng)復(fù)位之后進(jìn)行的。自檢中如果沒(méi)發(fā)現(xiàn)問(wèn)題,就進(jìn)入測(cè)控程序;如果發(fā)現(xiàn)問(wèn)題,則及時(shí)報(bào)警,以避免測(cè)控系統(tǒng)帶“病”工作。開(kāi)機(jī)自檢是對(duì)測(cè)控系統(tǒng)正式投入運(yùn)行之前所進(jìn)行的全面檢查。
(2)周期性自檢:是指在測(cè)控系統(tǒng)運(yùn)行過(guò)程中,間斷插入的自檢操作,這種操作可以保證測(cè)控系統(tǒng)在使用過(guò)程中一直處于正常狀態(tài)。周期性自檢不影響測(cè)控系統(tǒng)的正常工作,因而只有當(dāng)出現(xiàn)故障并給予報(bào)警時(shí),用戶才會(huì)覺(jué)察。(3)鍵盤自檢:具有鍵盤自檢功能的測(cè)控系統(tǒng)面板上應(yīng)設(shè)有“自檢”按鍵,當(dāng)用戶對(duì)系統(tǒng)的可信度產(chǎn)生懷疑時(shí),便可通過(guò)該鍵來(lái)啟動(dòng)一次自檢過(guò)程。
4.測(cè)控系統(tǒng)自檢的內(nèi)容自檢過(guò)程中,如果檢測(cè)到系統(tǒng)出現(xiàn)某些故障,應(yīng)該以適當(dāng)?shù)男问桨l(fā)出指示。微機(jī)測(cè)控系統(tǒng)一般都借用本身的顯示器,以文字或數(shù)字的形式顯示“出錯(cuò)代碼”,出錯(cuò)代碼通常以“ErrorX”字樣表示,其中“X”為故障代號(hào),操作人員根據(jù)“出錯(cuò)代碼”,查閱操作手冊(cè),便可確定故障內(nèi)容。除了給出故障代號(hào)之外,往往還給出指示燈的閃爍或者音響報(bào)警信號(hào),以提醒操作人員注意。微機(jī)測(cè)控系統(tǒng)的自檢項(xiàng)目與其功能、特性等因素有關(guān)。一般來(lái)說(shuō),自檢內(nèi)容包括ROM、RAM、總線、顯示器、鍵盤以及測(cè)控電路等部件的檢測(cè)。測(cè)控系統(tǒng)能夠進(jìn)行自檢的項(xiàng)目越多,使用和維修就越方便,但相應(yīng)的硬件和軟件也就越復(fù)雜。6.5.2系統(tǒng)自檢的實(shí)現(xiàn)
1.ROM/EPROM的自檢
ROM/EPROM是程序存儲(chǔ)器,存放著測(cè)控系統(tǒng)的控制軟件。在運(yùn)行過(guò)程中ROM/EPROM表征為只讀存儲(chǔ)器,其自檢常用“校驗(yàn)和”的方法。其具體方法是:在將程序機(jī)器碼寫入ROM/EPROM的時(shí)候,保留最后一個(gè)單元寫入“校驗(yàn)字”,“校驗(yàn)字”應(yīng)能滿足ROM/EPROM中所有單元的每一列都具有奇數(shù)個(gè)1。自檢程序?qū)γ恳涣袛?shù)進(jìn)行異或運(yùn)算,如果ROM/EPROM無(wú)故障,各列的運(yùn)算結(jié)果應(yīng)都為“1”,即校驗(yàn)和等于FFH。其校驗(yàn)和算法如表6-1所示。但這種算法不能發(fā)現(xiàn)同一位上的偶數(shù)個(gè)錯(cuò)誤,若要考慮,須采用更復(fù)雜的校驗(yàn)方法。
表6-1校驗(yàn)和算法
2.RAM的自檢
數(shù)據(jù)存儲(chǔ)器RAM自檢可通過(guò)校驗(yàn)其“讀寫性能”的有效性來(lái)實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62680-1-3:2024 EN-FR Universal serial bus interfaces for data and power - Part 1-3: Common components - USB Type-C?cable and connector specification
- 2025-2030年中國(guó)鋁包木門窗行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)金融資產(chǎn)交易所行業(yè)發(fā)展趨勢(shì)規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)葡萄及深加工行業(yè)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)色紡紗市場(chǎng)運(yùn)行動(dòng)態(tài)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)羊絨產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)程控交換機(jī)行業(yè)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)離心泵制造行業(yè)市場(chǎng)運(yùn)營(yíng)狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025遼寧省安全員C證考試(專職安全員)題庫(kù)附答案
- 2025廣東省安全員《C證》考試題庫(kù)及答案
- 申論公務(wù)員考試試題與參考答案(2024年)
- 《幼兒行為觀察與分析案例教程》教學(xué)教案
- 小學(xué)科學(xué)教育課程實(shí)施方案
- DB11T 1035-2013 城市軌道交通能源消耗評(píng)價(jià)方法
- 2024新能源光伏電站運(yùn)行規(guī)程和檢修規(guī)程
- 供應(yīng)室課件大全
- 銀行存管三方協(xié)議書
- 2024義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022版)
- 2024年新人教版化學(xué)九年級(jí)上冊(cè)全冊(cè)課件(新版教材)
- 智能體脂秤市場(chǎng)洞察報(bào)告
- 教科版 二年級(jí)科學(xué)上冊(cè)第一單元第6課《不同的季節(jié)》同步練習(xí)(附答案解析)
評(píng)論
0/150
提交評(píng)論