<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 測控系統的微機化監控程序設計

測控系統的微機化監控程序設計

作者: 時(shí)間:2012-04-17 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/194041.htm

程序負責系統中全部硬件和軟件資源的分配、調度工作,是系統設計中的一個(gè)重要組成部分。它提供用戶(hù)接口, 使用戶(hù)獲得友好的工作環(huán)境, 使計算機獲得很高的效率和高度的自動(dòng)化。隨著(zhù)系統結構的日益復雜和功能的全面, 其程序的設計難度也越來(lái)越大。程序的質(zhì)量直接影響系統的操作和運行,一個(gè)高質(zhì)量的監控程序應是功能齊全、鍵數合理、操作方便、容錯性好。監控程序在一定的意義上就是鍵盤(pán)分析程序,因此如何在面積較小的面板上設計一個(gè)功能多、操作簡(jiǎn)便的鍵盤(pán)操作系統成為智能儀器設計中非常重要的任務(wù)之一。

鍵盤(pán)上的按鍵可分為2類(lèi):?jiǎn)瘟x鍵和多義鍵。單義鍵,是指按鍵的含義是固定的,一個(gè)按鍵代表一個(gè)命令或一個(gè)數字,執行一種功能,即一鍵一義;多義鍵是指一個(gè)按鍵的鍵義不是單一的,而是具有多重含義,多個(gè)鍵互相配合才產(chǎn)生一個(gè)動(dòng)作,執行一種功能,即一鍵多義。下面結合實(shí)例介紹這2種鍵盤(pán)監控程序的設計。

1 單義鍵監控程序的設計

CPU對鍵盤(pán)管理的方式一般有3種,即查詢(xún)法、中斷法和定時(shí)查詢(xún)法。這3種方式的主要差別在于CPU轉向鍵盤(pán)處理程序的方法。如果從邏輯講,都是“有鍵按下則轉去處理”。因此它們的鍵盤(pán)管理程序是可以相互轉化的。下面以查詢(xún)法為例,介紹一鍵一義鍵盤(pán)管理程序的設計。

微處理器周而復始地掃描鍵盤(pán),當發(fā)現按鍵時(shí),首先判別是命令鍵還是數字鍵。若是數字鍵,則把按鍵讀數讀入存儲器,通常還進(jìn)行顯示;若是命令鍵,則根據按鍵讀數查閱轉移表,以獲得處理子程序的入口。設一4×8的鍵盤(pán),其中下面16個(gè)鍵為數字鍵,上面16個(gè)鍵為功能鍵。通過(guò)鍵盤(pán)掃描已經(jīng)獲得按鍵的編碼,并且將該編碼存儲于累加器A中。那么,當鍵碼小于10H時(shí)為數字鍵,否則為功能鍵。具體程序如下:

MOV R1,A

CLR C

SUBB A,#10H

JC DIGIT

MOV DPTR,#TBJ2

MOV A,R1

ANL A,#0FH

ADD A,A

JMP @A+DPTR

TBJ2: AJMP PROG1

AJMP PROG2

……

AJMP PROGn

DIGIT:……

一鍵一義鍵盤(pán)管理的核心是一張一維的轉移表,在轉移表內順序登記了各個(gè)處理子程序的轉移命令。

2 多義鍵監控程序的設計

對于功能復雜的化系統,若仍然采用“一鍵一義”,則按鍵使用往往過(guò)多,不但增加了費用,而且面板難以布置,操作也不方便。因此,有些鍵盤(pán)設計成一鍵多義方式。在一鍵多義的情況下,一個(gè)命令不是由按鍵,而是由一個(gè)按鍵序列組成。也就是說(shuō),對于一個(gè)按鍵的解釋除了本次的按鍵外,還取決于這之前按了一些什么鍵。一鍵多義的監控程序有2種方法,即轉移表法和狀態(tài)轉移法。下面對這兩種方法進(jìn)行介紹。

2.1 轉移表法實(shí)現多義鍵監控程序

多義鍵的監控程序仍然可以采用轉移表法進(jìn)行設計,不過(guò)這時(shí)要用多張轉移表。首先,要判斷一個(gè)按鍵序列是否構成了一個(gè)合法的命令。若已經(jīng)構成了合法命令,則根據前幾個(gè)按鍵把控制引向某張合適的轉移表,根據最后一個(gè)按鍵編碼查閱該轉移表,就找到了要求的子程序入口。

以一個(gè)8回路溫控儀為例。該系統中有6個(gè)按鍵:C(回路號為1~8,第8回路為環(huán)境溫度補償,其余為控溫點(diǎn))、P(參數號,有實(shí)測值、設定值、P、I、D參數,上下限報警值,輸出控制值等8個(gè)參數)、 Δ(加1)、Δ(減1)、R(運行)和S(停止運行)。顯然,這些按鍵都是一鍵多義的。 Δ和Δ鍵的工作執行與否,取決于前面按過(guò)的C和P鍵;R鍵的功能執行與否,取決于當前的C值。用轉移表法實(shí)現這些功能的流程如圖1所示。

11.jpg

圖1 轉移表法實(shí)現多義鍵監控程序流程

從流程圖可以看出,用轉移表法實(shí)現多義鍵的設計需要兩級轉移表。

一級轉移表

TBJ1 AJMP RUM

AJMP STOP

AJMP INCR

AJMP DECR

AJMP CHAL

AJMP PARA

二級轉移表

TBJ2 AJMP C1P0

……

AJMP C1P7

AJMP C2P0

……

AJMPC7P7

2.2 狀態(tài)轉移法實(shí)現多義鍵監控程序

狀態(tài)轉移法是整體地來(lái)考慮應用系統,把它看作是一個(gè)系統,從而引入“狀態(tài)”的概念。將系統工作過(guò)程劃分為若干個(gè)“狀態(tài)”,在任一狀態(tài)下,每個(gè)按鍵都有一個(gè)確定的含義,即執行某一個(gè)子程序且變遷到下一個(gè)狀態(tài)(稱(chēng)為“次態(tài)”,NEXST)。因此,就需要在存儲器內開(kāi)辟一個(gè)單元記住當前狀態(tài)(稱(chēng)為“現態(tài)”,PREST),根據當前狀態(tài)和當前按鍵這兩個(gè)關(guān)鍵詞,就能對當前按鍵的含義作出正確的解釋。用狀態(tài)轉移法設計的監控程序,其程序基本框架是相同的,具有通用性強、修改方便、便于閱讀的優(yōu)點(diǎn)。本文結合“多功能波形發(fā)生器”應用實(shí)例,詳細介紹了狀態(tài)轉移法的監控過(guò)程。

2.2.1 鍵語(yǔ)分析的定義

鍵語(yǔ)必須有明確的定義, 而且應有一套無(wú)二意的語(yǔ)法規則。假設多功能波形發(fā)生器的按鍵如圖2 所示,且各按鍵的定義如下: AMPL(幅度)、FREQ(頻率)、FUNC(函數)、OFST(偏移)、MODE(模式)、UNIT(單元號)、ON(開(kāi))、OFF(關(guān))、CHS(換符號)、DIG(數字鍵統稱(chēng))、MULT(乘法)。

22.jpg

圖2 多功能波形發(fā)生器的按鍵

2.2.2 建立鍵語(yǔ)狀態(tài)圖

用普通語(yǔ)言對全部鍵語(yǔ)做出詳盡準確的規定是很困難的, 可以用鍵語(yǔ)狀態(tài)圖的方法對全部的鍵語(yǔ)做出完備的定義。這里用圖3所示的鍵語(yǔ)狀態(tài)圖來(lái)描述鍵語(yǔ)的完備集。狀態(tài)圖中每一個(gè)方框表示一個(gè)狀態(tài)(按過(guò)一次鍵), 框內的數字是狀態(tài)的代號。箭頭表示狀態(tài)變遷的方向, 箭頭上的標語(yǔ)是一個(gè)按鍵的代名, 表示變遷的條件, 其中非法鍵統稱(chēng)為“*”。假設最初開(kāi)機時(shí)初始化使系統處于0態(tài), 只要按過(guò)一個(gè)鍵之后, 系統就不可能再處于0態(tài)。假定系統現在處于0態(tài),按下AMPL鍵后系統就轉入了1態(tài)。在1態(tài)中,如果按下CHS或者DIG鍵就可以進(jìn)行幅值的設定;如果按下其他的鍵,則為無(wú)效鍵,系統重新回到0態(tài)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 測控系統 微機 監控 程序設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>