日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]引言監(jiān)控程序負責系統(tǒng)中全部硬件和軟件資源的分配、調(diào)度工作,是系統(tǒng)設(shè)計中的一個重要組成部分。它提供用戶接口, 使用戶獲得友好的工作環(huán)境, 使計算機獲得很高的效率和高度的自動化。隨著系統(tǒng)結(jié)構(gòu)的日益復(fù)雜和功能的全

引言

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

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

1 單義鍵監(jiān)控程序的設(shè)計

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

微處理器周而復(fù)始地掃描鍵盤,當發(fā)現(xiàn)按鍵時,首先判別是命令鍵還是數(shù)字鍵。若是數(shù)字鍵,則把按鍵讀數(shù)讀入存儲器,通常還進行顯示;若是命令鍵,則根據(jù)按鍵讀數(shù)查閱轉(zhuǎn)移表,以獲得處理子程序的入口。設(shè)一4×8的鍵盤,其中下面16個鍵為數(shù)字鍵,上面16個鍵為功能鍵。通過鍵盤掃描已經(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:……

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

2 多義鍵監(jiān)控程序的設(shè)計

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

2.1 轉(zhuǎn)移表法實現(xiàn)多義鍵監(jiān)控程序

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

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

圖1 轉(zhuǎn)移表法實現(xiàn)多義鍵監(jiān)控程序流程

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

一級轉(zhuǎn)移表

TBJ1 AJMP RUM

AJMP STOP

AJMP INCR

AJMP DECR

AJMP CHAL

AJMP PARA

二級轉(zhuǎn)移表

TBJ2 AJMP C1P0

……

AJMP C1P7

AJMP C2P0

……

AJMPC7P7

2.2 狀態(tài)轉(zhuǎn)移法實現(xiàn)多義鍵監(jiān)控程序

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

2.2.1 鍵語分析的定義

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

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

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

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

圖3 鍵語狀態(tài)圖

2.2.3 建立鍵語狀態(tài)表

根據(jù)鍵語狀態(tài)圖就可以制作出鍵語狀態(tài)表。狀態(tài)表中規(guī)定:當儀器設(shè)備處于某一狀態(tài)(現(xiàn)態(tài))時,若滿足一定的條件就必須脫離該狀態(tài)而進入另一個指定的狀態(tài)(次態(tài)),以及儀器設(shè)備所應(yīng)采取的行動。該系統(tǒng)的部分狀態(tài)表如表1所列。

表1 鍵語狀態(tài)表

對于每個按鍵, 可以用2個變量描述其特征:

FNKYC = 功能性鍵碼(functional keycode),用來代替每一按鍵的實際鍵碼編碼。功能相同的按鍵可以賦予相同的FNKYC 值, 例如一切數(shù)字鍵的FNKYC值為1。各按鍵的FNKYC值如表2所列。

表2中,各按鍵的FNKYC 值NUMB=數(shù)。數(shù)字鍵所對應(yīng)的NUMB值就是該鍵所規(guī)定的數(shù)字, 例如, [3] 的NUMB為3;[GHz] [MHz] [kHz] [Hz] 規(guī)定為10、11、12、13;其他鍵的NUMB值統(tǒng)一規(guī)定為0。

表2 按鍵的FNKYC值對照表

2.2.4 建立狀態(tài)索引表

根據(jù)狀態(tài)表可以建立狀態(tài)索引表,狀態(tài)索引表為兩級表。其中,第一級狀態(tài)索引表中為每一狀態(tài)的轉(zhuǎn)移命令;第二級狀態(tài)索引表中,為該狀態(tài)下按下某一鍵后進入的次態(tài)和執(zhí)行的子程序號。

如圖3所示, 系統(tǒng)共有7 種不同的狀態(tài),可以在內(nèi)存的一塊連續(xù)空間中存儲這7 種狀態(tài)的特征,這就是第一級狀態(tài)索引表。而對應(yīng)于每一狀態(tài)的相關(guān)參數(shù)可以用下面幾個變量來描述。

① FNKYT: 狀態(tài)表中所列的功能性鍵碼。將根據(jù)實際按下的鍵的FNKYC 值, 查找狀態(tài)表中是否有一個與之相符的FNKYT值。

② NEXST: 下一個狀態(tài)(NEXT STATE)。它指出當某一FNKYC 與FNKYT 相符時, 系統(tǒng)應(yīng)進入哪一個狀態(tài)。

ACTN: 行動子程序號碼。它指出當系統(tǒng)處于某一狀態(tài)時所應(yīng)執(zhí)行的行動。

這3個參量就建立了第二級狀態(tài)索引表。該系統(tǒng)的狀態(tài)索引表如圖4所示。

圖4 狀態(tài)索引表

2.2.5 程序設(shè)計流程

現(xiàn)在可以設(shè)計鍵語分析程序。首先,要有一個識鍵程序來識別所按下的按鍵,從所獲得的實際鍵碼中求出其對應(yīng)的FNKYC 和NUMB 值, 這可以利用查表法或適當?shù)乃惴ǖ玫?;然后,根?jù)當前的狀態(tài)PREST在第一級狀態(tài)索引表中得到對應(yīng)當前狀態(tài)的第二級索引表的入口地址,在第二級狀態(tài)索引表中將FNKYC與表中的FNKYT逐項比較,當二者相同時得到對應(yīng)該按鍵的下一個狀態(tài)NEXST, 以及所對應(yīng)的行動ACTN; 隨后, 把這個NEXST 值替換為當前狀態(tài)PREST。如果FNKYT為0時始終沒有與FNKYC對應(yīng)的FNKYT,就意味著該FNKYT是一個非法鍵, 應(yīng)該不予理睬; 反之, 則是有效鍵, 程序就轉(zhuǎn)移到相應(yīng)的子程序去執(zhí)行。具體設(shè)計流程如圖5所示。

圖5 程序設(shè)計流程

3 結(jié)論

用狀態(tài)法進行多義鍵的設(shè)計,有以下幾方面的優(yōu)點:

① 應(yīng)用一張狀態(tài)表, 統(tǒng)一處理任何一組按鍵和狀態(tài)的組合, 化繁為簡, 降低了程序設(shè)計的難度, 增強了程序的可讀性。

② 翻譯、解釋按鍵程序和執(zhí)行子程序完全分離,避免了兩者之間的相互交叉和混淆。

③ 當系統(tǒng)的功能發(fā)生改變時, 主控程序的結(jié)構(gòu)不變, 只需對狀態(tài)表進行修改。

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉