文档介绍:维普资讯
软件年第期
显控台命令解释模块的设计方法
顾健
●●■■●●●●●●一
海军工程学院气
摘要命令解释模块是显控台人一机交互系统的关键组成部分。本文介绍一种
该模块的设计方法,并与其他设计进行
关键词:显控台模块命令
.
■■●。—。
\
一
、引言
显控台的人一机交互命令由字符,数字键,球中断以及特殊键如执行键组成。当按下键
盘时,发生键盘中断,同时将该键编码送人键盘寄存器。球中断发生后,当前跟踪球内光点
坐标铍记录在内光点坐标寄存器和里。每当中断发生,中断处理程序将读出相
应寄存器的内容,然后送命令解释摸块处理。.
要设计命令解释模块,就必须分析操作命令。操作命令是不规则的字符,数字和球中断的
:“设定检测区”为“球,球执行”,该命令在上面出由两个球中断确
定的坐标所指定的一块检测区。执行该命令必须依次键入,,,,然后中断两次跟踪球。再
按执行键。由于每次中断中取一个键码,经过次中断后才能知道是命令,再经过两次
球中断和一次执行键中断,才形成完整的命令。因此命令解释任务必须能记忆前面几次输入的
键码,当得到新键码时,必须判断它能否与前面输入的毽组成命令,如果能就接受这个,如果
不能就丢弃这个键码,等待新的输入。
为了便于舰上人员操作,命令是分层给出的,当打入初始化继“”时给出命令挺示菜单,
根据菜单提示键入下面的命令字。当命令字符输入完后,会出现命令的参数提示。如键入
后,表中的提示区内会出现“球,球执行”的提示,提醒操作人员应谚按什么
规范输入什么命令参数。如果中间有操作锚误,软件将进行判断并给出错误提示,这就是显控
台系统中的人一机交互,命令解释模块将完成这一功能。
二、设计方法
命令解释模块的关键是命令树的设计,为了方厦命令的识别,要将各种命令的键码以树的
形式事先存储起来。每次读入键后对命令树进行一定范围的查找,如果找到了,即是集合的组
成字符,若没找到就说明输入的是错键给出错误提示,要求重新输入。
命令树的组织有多种形式,但是基本都是使用二又树结构,在二叉树的每个节点存放一个
字符。如“, ,,,”五个命令的二又树形式如图所示。
维普资讯
年第期软件
图命令的二叉树形式
图命令解释模块的流程图
维普资讯
软件年第期
用这种方法,要实现某型显控台的三十基本命令就要五十四个节点,而且随着命令的
增加,节点以—倍的数量增加。尤其命令树的节点配置缺乏规律,而数量又多,这必须要耗
费大量的程序空间和运行时间。
以该类命令树为基础的命令解释模块的流程图如图所示。
本文介绍的设计方法的核心,就是用分层树代替二叉树。即将命令分成四层,父键相同的
命令键合为一节点。如“”,“”两命令前面都是“”,“”,“”合为一个节点。每
个节点的数据结构为:
,/该节点总共有几个命令字符/
,/命令字符,最多五个/
,/与上面五个命令字符对应的下层指针/
/指向该层命令提示字符串的指针/
用这种结构构造的命令树仅用个节点,而且命令的扩充非常方便,即使扩大到个命令,
节点数也不会增加。
同样以“, ,,,”为例,其命令树如图所示。
图分层