<tt id="8cw2k"></tt>
<acronym id="8cw2k"><noscript id="8cw2k"></noscript></acronym>
<sup id="8cw2k"><wbr id="8cw2k"></wbr></sup><object id="8cw2k"></object>
<rt id="8cw2k"><div id="8cw2k"></div></rt>
歡迎來上自儀表有限公司!我們將為您提供周到的服務(wù)!
全國服務(wù)熱線021-59189606
ARTICLE / 技術(shù)文章
首頁 > 技術(shù)文章 > 監(jiān)控主程序設(shè)計和鍵盤管理模塊設(shè)計

監(jiān)控主程序設(shè)計和鍵盤管理模塊設(shè)計

更新時間:2014-08-25      瀏覽次數(shù):2626

智能儀器系統(tǒng)軟件的構(gòu)成與設(shè)計

智能儀器的系統(tǒng)軟件不僅要處理來自鍵盤、通信接口的命令,實現(xiàn)人機對話、機機對話, 更重要的是它具有實時處理能力,即根據(jù)被控過程(對象),實時申請中斷,完成各種測量、 控制功能。儀器的功能主要由中斷服務(wù)程序來實現(xiàn)。

智能儀器系統(tǒng)軟件由主監(jiān)控模塊、測量與控制模塊、數(shù)據(jù)處理模塊、中斷處理模塊、通信 模塊、鍵盤顯示器管理模塊、各種功能模塊(子程序塊,子程序庫)和數(shù)據(jù)表模塊構(gòu)成。

1.監(jiān)控主程序設(shè)計

監(jiān)控程序是智能儀器軟件中的主線,實現(xiàn)對儀器的全部管理功能。各功能模塊均由監(jiān)控程 序調(diào)用并構(gòu)成有機的整體。監(jiān)控程序的主要功能如下。

(1) 管理鍵盤和顯示器,按儀器的鍵入命令轉(zhuǎn)入相應(yīng)的功能服務(wù)程序。

(2) 接收輸入/輸出接口、內(nèi)部電路等發(fā)出的中斷請求信號,按中斷優(yōu)先級的順序轉(zhuǎn)入相 應(yīng)的中斷服務(wù)程序,進行實時測量、控制或數(shù)據(jù)處理。

(3) 系統(tǒng)的定時器管理。

(4) 儀器自身的檢測和故障診斷處理。

(5) 儀器初始化、手動/自動切換控制、電源監(jiān)測、掉電保護等。

監(jiān)控程序是整個儀器軟件系統(tǒng)的核心部分,其主要任務(wù)是接受命令、解釋命令并執(zhí)行命令。 監(jiān)控程序可分為監(jiān)控主程序和命令處理子程序兩大部分。監(jiān)控主程序負(fù)責(zé)識別按鍵、解釋命令 并獲得命令處理子程序的入口地址;命令處理子程序的任務(wù)則是具體執(zhí)行命令,完成命令所規(guī) 定的各項處理任務(wù)。命令處理子程序因智能儀器的不同而異,而監(jiān)控主程序的結(jié)構(gòu)卻具有共性。

智能儀器上電復(fù)位后,儀器首*入監(jiān)控主程序。主監(jiān)控程序一般都被放在0號單元開始 的內(nèi)存中,它的任務(wù)是識別命令、解釋命令,并獲得完成該命令的相應(yīng)模塊的入口。如果把整 個軟件比作一棵樹,則監(jiān)控主程序就是樹干,其余是樹枝和樹葉。監(jiān)控主程序起著引導(dǎo)儀器進 入正常工作狀態(tài),并協(xié)調(diào)各部分軟硬件有條不紊工作的重要作用。

監(jiān)控主程序通常包括對系統(tǒng)中可編程器件輸入/輸出口參數(shù)的初始化、自檢、調(diào)用鍵盤顯 示管理模塊及實時中斷管理和處理模塊等功能。除初始化和自檢外,監(jiān)控主程序一般總是把其 余部分連接起來構(gòu)成一個無限循環(huán),儀器所有功能都在這一循環(huán)中周而復(fù)始地有選擇地執(zhí)行。 除非掉電或按復(fù)位(RESET)鍵。圖8-12為監(jiān)控主程序流程圖。

上述監(jiān)控主程序是一種示例,不同的硬件、不同的系統(tǒng)釆取的主監(jiān)控方法也不相同。在這 種監(jiān)控系統(tǒng)中,首*入初始化,然后再進行自檢,自檢后即等待鍵盤/外設(shè)中斷,若有中斷, 首先區(qū)分是鍵盤中斷還是外設(shè)。如果是鍵盤中斷,設(shè)立鍵盤服務(wù)標(biāo)志;如果是外設(shè)中斷,需判 明是手動還是自動,根據(jù)相應(yīng)的狀態(tài)轉(zhuǎn)入相應(yīng)的中斷服務(wù)子程序中。無論是什么中斷,執(zhí)行完 之后都必須返回主監(jiān)控程序中繼續(xù)執(zhí)行主監(jiān)控程序。編制程序時要注意程序可能產(chǎn)生的各種結(jié) 果,防止出現(xiàn)死循環(huán)。

2.鍵盤管理模塊設(shè)計

智能儀器的鍵盤可以采用編碼式鍵盤,也可采用軟件掃描方式(非編碼鍵盤)。不論采用 哪一種方法,在獲得當(dāng)前按鍵值后,都要轉(zhuǎn)入相應(yīng)的鍵盤服務(wù)程序入口,以便完成相應(yīng)的功能。 各鍵所能完成的具體功能由設(shè)計者根據(jù)儀器總體要求,兼顧軟件、硬件,從合理、方便、經(jīng)濟 等因素出發(fā)來確定。目前常用的兩種方法為一鍵一義和一鍵多義。

(1) 一鍵一義鍵盤管理程序設(shè)計方法(直接分析法)

直接分析法即一個按鍵代表一個確切的命令或一個數(shù)字。編程時,只要根據(jù)當(dāng)前按鍵的編 碼,把程序直接分支到相應(yīng)處理模塊的入口,而無須知道在此以前的情況。其軟件框圖如圖8-13 所示。

微處理器平時周而復(fù)始地掃描鍵盤,當(dāng)發(fā)現(xiàn)按鍵時,首先判別是命令鍵還是數(shù)字鍵。若是 數(shù)字鍵,則把按鍵讀數(shù)存入存儲器,通常不進行顯示;若是命令鍵,則根據(jù)按鍵查閱轉(zhuǎn)移表以 獲得處理程序的入口。處理程序執(zhí)行完后繼續(xù)掃描鍵盤。直接分析法的核心是一鍵一義的轉(zhuǎn)移 表。表內(nèi)順序登記各個處理子程序的入口。

(2) 一鍵多義鍵盤管理程序設(shè)計方法

在一鍵多義的情況下,一個命令不是用一次按鍵而是由一個按鍵序組成的。換句話講’對 一個按鍵含義的解釋除了取決于本次按鍵之外,還取決于以前按了些什么鍵。因此對一鍵多義的監(jiān)控程序首先要判斷一個按鍵序列是否已構(gòu)成命令。若已構(gòu)成命令則執(zhí)行命令,否則等待重 新輸入新的值。

一鍵多義的監(jiān)控程序可采用轉(zhuǎn)移表法進行設(shè)計,不過這時要用多張轉(zhuǎn)移表,組成一個命令 的前幾個按鍵起著引導(dǎo)作用,把控制引向某張合適的轉(zhuǎn)移表,根據(jù)zui后一個按鍵查閱該轉(zhuǎn)移表 就可以找到要求的子程序入口。按鍵的管理可以用查詢式,也可以用中斷方式,由于有些按鍵 功能往往需執(zhí)行一段時間,這時若用查詢式處理鍵盤會影響整個儀器實時處理功能。另外,智 能儀器監(jiān)控程序具有實時性,一般鍵盤中斷不應(yīng)中斷正進行的測量控制運算。因此通常把鍵盤 服務(wù)程序設(shè)計成比過程中斷低一級的中斷源。 

Contact Us
  • 聯(lián)系QQ:1718261188
  • 聯(lián)系郵箱:1718261188@qq.com
  • 傳真:021-60917975
  • 聯(lián)系地址:上海市廣中西路190號

掃一掃  微信咨詢

©2024 上自儀表有限公司(www.sky-lark.net)版權(quán)所有  備案號:滬ICP備15055501號-9  技術(shù)支持:化工儀器網(wǎng)    sitemap.xml    總訪問量:279243 管理登陸

<tt id="8cw2k"></tt>
<acronym id="8cw2k"><noscript id="8cw2k"></noscript></acronym>
<sup id="8cw2k"><wbr id="8cw2k"></wbr></sup><object id="8cw2k"></object>
<rt id="8cw2k"><div id="8cw2k"></div></rt>
华安县| 汽车| 高青县| 舞钢市| 贺州市| 藁城市| 永新县| 扶风县| 梅河口市| 衡阳市| 江城| 邹平县| 丹巴县| 林西县| 正安县| 涞水县| 衡南县| 龙陵县| 杭锦旗| 乾安县| 定州市| 宜春市| 沐川县| 深水埗区| 贵南县| 洛宁县| 德保县| 安平县| 晋州市| 全南县| 澄城县| 景泰县| 万全县| 新民市| 峨边| 布拖县| 祁连县| 行唐县| 呼图壁县| 浦北县| 昂仁县| http://444 http://444 http://444 http://444 http://444 http://444