新闻中心

EEPW首页 > 测试测量 > 设计应用 > 测控系统的微机化监控程序设计

测控系统的微机化监控程序设计

作者:时间:2012-04-17来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/194041.htm

程序负责系统中全部硬件和软件资源的分配、调度工作,是系统设计中的一个重要组成部分。它提供用户接口, 使用户获得友好的工作环境, 使计算机获得很高的效率和高度的自动化。随着系统结构的日益复杂和功能的全面, 其程序的设计难度也越来越大。程序的质量直接影响系统的操作和运行,一个高质量的监控程序应是功能齐全、键数合理、操作方便、容错性好。监控程序在一定的意义上就是键盘分析程序,因此如何在面积较小的面板上设计一个功能多、操作简便的键盘操作系统成为智能仪器设计中非常重要的任务之一。

键盘上的按键可分为2类:单义键和多义键。单义键,是指按键的含义是固定的,一个按键代表一个命令或一个数字,执行一种功能,即一键一义;多义键是指一个按键的键义不是单一的,而是具有多重含义,多个键互相配合才产生一个动作,执行一种功能,即一键多义。下面结合实例介绍这2种键盘监控程序的设计。

1 单义键监控程序的设计

CPU对键盘管理的方式一般有3种,即查询法、中断法和定时查询法。这3种方式的主要差别在于CPU转向键盘处理程序的方法。如果从逻辑讲,都是“有键按下则转去处理”。因此它们的键盘管理程序是可以相互转化的。下面以查询法为例,介绍一键一义键盘管理程序的设计。

微处理器周而复始地扫描键盘,当发现按键时,首先判别是命令键还是数字键。若是数字键,则把按键读数读入存储器,通常还进行显示;若是命令键,则根据按键读数查阅转移表,以获得处理子程序的入口。设一4×8的键盘,其中下面16个键为数字键,上面16个键为功能键。通过键盘扫描已经获得按键的编码,并且将该编码存储于累加器A中。那么,当键码小于10H时为数字键,否则为功能键。具体程序如下:

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:……

一键一义键盘管理的核心是一张一维的转移表,在转移表内顺序登记了各个处理子程序的转移命令。

2 多义键监控程序的设计

对于功能复杂的化系统,若仍然采用“一键一义”,则按键使用往往过多,不但增加了费用,而且面板难以布置,操作也不方便。因此,有些键盘设计成一键多义方式。在一键多义的情况下,一个命令不是由按键,而是由一个按键序列组成。也就是说,对于一个按键的解释除了本次的按键外,还取决于这之前按了一些什么键。一键多义的监控程序有2种方法,即转移表法和状态转移法。下面对这两种方法进行介绍。

2.1 转移表法实现多义键监控程序

多义键的监控程序仍然可以采用转移表法进行设计,不过这时要用多张转移表。首先,要判断一个按键序列是否构成了一个合法的命令。若已经构成了合法命令,则根据前几个按键把控制引向某张合适的转移表,根据最后一个按键编码查阅该转移表,就找到了要求的子程序入口。

以一个8回路温控仪为例。该系统中有6个按键:C(回路号为1~8,第8回路为环境温度补偿,其余为控温点)、P(参数号,有实测值、设定值、P、I、D参数,上下限报警值,输出控制值等8个参数)、 Δ(加1)、Δ(减1)、R(运行)和S(停止运行)。显然,这些按键都是一键多义的。 Δ和Δ键的工作执行与否,取决于前面按过的C和P键;R键的功能执行与否,取决于当前的C值。用转移表法实现这些功能的流程如图1所示。

11.jpg

图1 转移表法实现多义键监控程序流程

从流程图可以看出,用转移表法实现多义键的设计需要两级转移表。

一级转移表

TBJ1 AJMP RUM

AJMP STOP

AJMP INCR

AJMP DECR

AJMP CHAL

AJMP PARA

二级转移表

TBJ2 AJMP C1P0

……

AJMP C1P7

AJMP C2P0

……

AJMPC7P7

2.2 状态转移法实现多义键监控程序

状态转移法是整体地来考虑应用系统,把它看作是一个系统,从而引入“状态”的概念。将系统工作过程划分为若干个“状态”,在任一状态下,每个按键都有一个确定的含义,即执行某一个子程序且变迁到下一个状态(称为“次态”,NEXST)。因此,就需要在存储器内开辟一个单元记住当前状态(称为“现态”,PREST),根据当前状态和当前按键这两个关键词,就能对当前按键的含义作出正确的解释。用状态转移法设计的监控程序,其程序基本框架是相同的,具有通用性强、修改方便、便于阅读的优点。本文结合“多功能波形发生器”应用实例,详细介绍了状态转移法的监控过程。

2.2.1 键语分析的定义

键语必须有明确的定义, 而且应有一套无二意的语法规则。假设多功能波形发生器的按键如图2 所示,且各按键的定义如下: AMPL(幅度)、FREQ(频率)、FUNC(函数)、OFST(偏移)、MODE(模式)、UNIT(单元号)、ON(开)、OFF(关)、CHS(换符号)、DIG(数字键统称)、MULT(乘法)。

22.jpg

图2 多功能波形发生器的按键

2.2.2 建立键语状态图

用普通语言对全部键语做出详尽准确的规定是很困难的, 可以用键语状态图的方法对全部的键语做出完备的定义。这里用图3所示的键语状态图来描述键语的完备集。状态图中每一个方框表示一个状态(按过一次键), 框内的数字是状态的代号。箭头表示状态变迁的方向, 箭头上的标语是一个按键的代名, 表示变迁的条件, 其中非法键统称为“*”。假设最初开机时初始化使系统处于0态, 只要按过一个键之后, 系统就不可能再处于0态。假定系统现在处于0态,按下AMPL键后系统就转入了1态。在1态中,如果按下CHS或者DIG键就可以进行幅值的设定;如果按下其他的键,则为无效键,系统重新回到0态。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭