第六章监控主程序精选文档.ppt





《第六章监控主程序精选文档.ppt》由会员分享,可在线阅读,更多相关《第六章监控主程序精选文档.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章监控主程序本讲稿第一页,共八十一页 监控程序的任务是接受、分析和执行监控程序的任务是接受、分析和执行 来自键盘和来自键盘和GP-IBGP-IB接口的命令接口的命令。第六章第六章 监控主程序的设计监控主程序的设计本讲稿第二页,共八十一页 监控程序可分为:(1)监控主程序 其任务是识别按键、解释命令并获得相应的处理子程序的入口地址。(2)接口管理主程序 接受和分析来处GP-IB接口的命令,把控制转到相应的命令处理子程序的入口。(3)命令处理子程序 其任务是具体执行命令、完成命令所规定的各项实际动作。第六章第六章 监控主程序的设计监控主程序的设计本讲稿第三页,共八十一页 命令处理子程序随智能仪
2、器不同而异,即使在同一智能仪器中,也随命令不同而异。但监控主程序在不同智能仪器中却有相同的结构和通用的设计方法,本章介绍监控主程序的两种设计方法。6.1 直接分析法 6.2 状态变量法第六章第六章 监控主程序的设计监控主程序的设计本讲稿第四页,共八十一页6.1 直接分析法 所谓直接分析法,就是只需根据当前按键的编码,把控制直接分支到相应的处理子程序的入口,而无需知道在此之前的按键情况。这种方法适用于一键一义的情况。具体设计时可用选择结构,也可用转移表。本讲稿第五页,共八十一页一、用选择结构法设计监控主序 这种方法适用于比较简单的场合。在单片机应用系统中,键盘接口提供了被按键读数,即有键按下时C
3、PU可得到被按键的读数(即键值),监控主程序根据键读数把控制转到相应的处理子程序入口。本讲稿第六页,共八十一页一、用选择结构法设计监控主序按键数字键命令键主功能命令非主功能命令通常智能仪器键盘上按键分两大类:用选择结构法设计的监控主程序的流程图如图6-1所示:本讲稿第七页,共八十一页一、用选择结构法设计监控主序 本讲稿第八页,共八十一页一、用选择结构法设计监控主序 若某智能仪器键值K为09是数字键,为AF是命令键,设均为主功能命令,且暂不设主功能标志,分别对应于命令处理子程序1、26,键值暂存于寄存器B中。汇编程序如下:本讲稿第九页,共八十一页一、用选择结构法设计监控主序汇编程序如下:MOV
4、A,BCLR CSUBB A,#0AHJC DIGCJNE A,#00H,02HAJMP addr11.1CJNE A,#01H,02H本讲稿第十页,共八十一页 AJMP addr11.2 CJNE A,#05H,02H AJMP addr11.6DIG:一、用选择结构法设计监控主序本讲稿第十一页,共八十一页一、用选择结构法设计监控主序 其中addr11.1、addr11.2、addr11.6分别为各处理子程序入口地址的低11位。这样转移的范围不超过2K字节。也可用LJMP指令,子程序便可在64K范围内任意安排。本讲稿第十二页,共八十一页二、用转移表法设计监控主程序 这种方法的核心是建立一张一
5、维的转移表。转移表:就是顺序登记了各命令处理子程序的入口地址(或转移指令)的数据表格。本讲稿第十三页,共八十一页二、用转移表法设计监控主程序 a)用子程序入口地址构成的转移表。b)用转移指令构成的转移表。本讲稿第十四页,共八十一页 对于前例,若用转移表法设计监控主程序,就是根据当前按键的编码,查阅转移表,便可获得相应命令处理子程序的入口。所设计的监控主程序流程如图6-3所示。二、用转移表法设计监控主程序本讲稿第十五页,共八十一页本讲稿第十六页,共八十一页二、用转移表法设计监控主程序对于6-2(a)所示的转移表,监控主程序如下:MOV DPTR,#TABL MOV A,B ;取键值 CLR C
6、SUBB A,#0AH ;是数字键吗?JC DIG RLC A MOV R3,A MOVC A,A+DPTR本讲稿第十七页,共八十一页二、用转移表法设计监控主程序 MOV R2,A INC DPTR MOV A,R3 MOVC A,A+DPTR MOV DPH,A MOV DPL,R2 CLR A JMP A+DPTR TABL:ADSUB1 ADSUB2 DIG:a)用子程序入口地址 构成的转移表本讲稿第十八页,共八十一页二、用转移表法设计监控主程序对于图6-2(b)所示的转移表,监控主程序如下:MOV A,B CLR C SUBB A,#0AH JC DIG RLC A MOV DPTR,
7、#TABL JMP A+DPTRTABL:AJMP addr11.1 AJMP addr11.2 DIG:b)用转移指令构成的转移表 本讲稿第十九页,共八十一页二、用转移表法设计监控主程序 在一键多义的情况下,一个命令是由一个按键序列所组成,因此对于一键多义的监控程序,首先要判断一个按键序列是否已经构成命令,若已构成合法命令、则执行命令,否则等待新的按键输入。本讲稿第二十页,共八十一页二、用转移表法设计监控主程序 一键多义的监控程序仍可采用转移表法进行设计,但要用多张转移表,前面几张起着引导作用,最后一张可找到命令处理子程序的入口。本讲稿第二十一页,共八十一页二、用转移表法设计监控主程序 例:
8、某电压频率计面板上有A、B、C、D、GATE、SET、OFS、RESET等八个键、按RESET键使仪器初始化并启动测量,初始化后直接按A或B、C、D键,分别进行测频或测周期、测时间间隔、测电压等,按GATE键后再按A或B、C、D键,则输入一个常数(偏移),若按奇数次OFS键,进入偏移工作方式,按偶数次OFS键,则为正常工作方式。本讲稿第二十二页,共八十一页二、用转移表法设计监控主程序 采用转移表法所设计的监控程序如图6-4。该程序内包含了三张转移表。GATE、SET键分别把控制引向转移表2与3,以区别A、B、C、D键的三种含义。每执行完一个命令,微处理器继续扫描键盘,等待新的命令输入。本讲稿第
9、二十三页,共八十一页二、用转移表法设计监控主程序本讲稿第二十四页,共八十一页二、用转移表法设计监控主程序 以查询方式处理键盘接口的方法在智能仪器中有时会遇到困难。因为在智能仪器中,当接到某些命令后,通常要反复执行这些命令,直到接收新的主功能命令为止,这样微处理器就无时间询问并扫描键盘。这时宜采用中断方式处理键盘接口较好。本讲稿第二十五页,共八十一页二、用转移表法设计监控主程序 此外,智能仪器监控程序具有实时性,一旦出现按键中断后,通常应该作废正在进行的一次测量;当中断服务程序完成后,重新启动一次测量,而不回到程序中断点处恢复原来进行的测量多半是一次错误的测量。考虑到这些因素。上例监控程序可设计
10、成图6-5所示的形式。本讲稿第二十六页,共八十一页二、用转移表法设计监控主程序二、用转移表法设计监控主程序本讲稿第二十七页,共八十一页二、用转移表法设计监控主程序 上述这些监控程序的特点是命令的识别与处理子程序的执行交织在一起,相互牵连,结构复杂而凌乱无序,不易修改、阅读与调试。当按键较多、复用次数较多时,这一矛盾尤为突出。在一键多义的情况下,用状态变量法设计监控主程序可以克服这些缺点。本讲稿第二十八页,共八十一页 6.2 状态变量法 一、状态变量法的实质 二、状态变量法设计步骤 三、设计状态图和状态表的原则与技巧 四、用状态变量法设计监控主程序实例本讲稿第二十九页,共八十一页 6.2 状态变
11、量法 所谓状态变量法就是将仪器工作的整个过程划分为若干个状态,在任一状态下,每个按键都有一个准确的含义。即状态与按键的每一种组合均应执行一个子程序并变迁到下一个状态(称为次态,用NEXST表示)。这可用一个矩阵来表示,称状态矩阵或状态表,如表6-1所示:本讲稿第三十页,共八十一页一、状态变量法的实质 按键状态K1K2KnST0SUB01NEXST01SUB02NEXST02SUB0nNEXST0nST1SUB11NEXST11SUB12NEXST12SUB1nNEXST1nSTmSUBm1NEXSTm1SUBm2NEXSTm2SUBmnNEXSTmn本讲稿第三十一页,共八十一页一、状态变量法的
12、实质 这样智能仪器内部CPU只要记住仪器当前的状态即现态,当有键入时,根据当前按键和现态这两个关键字查阅状态表,便可确定按键的含义,这就是状态变量法的实质。本讲稿第三十二页,共八十一页一、状态变量法的实质 上述状态表中表示仪器有n个按键、m+1个状态。若在STi(0 i m)态按Kj(1 j n)键,则将执行SUBi子程序(i为子程序号数或首址),并变迁到NEXSTr态(0 r m)。本讲稿第三十三页,共八十一页一、状态变量法的实质 表6-1是一个稀疏矩阵,若直接利用则占用内存量大,程序运行速度也慢。因而必须进行压缩,将那些无效组合集中起来进行处理,稍微改变排列,就成为表6-2所示形式。本讲稿
13、第三十四页,共八十一页一、状态变量法的实质本讲稿第三十五页,共八十一页一、状态变量法的实质 表中“*”号表示各无意义按键的集合。这一状态表明确规定了仪器在每个状态下接受各种按键时所应进行的实际动作,也规定了状态的变迁,因而是监控程序的“大纲”。本讲稿第三十六页,共八十一页一、状态变量法的实质 用状态变量法设计监控主程序是将仪器工作的整个过程划分为若干个“状态”,在任一状态下,每个按键都有一个确定的含义,即执行另一个子程序且变迁到另一个状态(次态),把这种状态与按键对应关系的组合列成一张表 状态表,存入存储器中。仪器现在所处的状态即现态专门用一个存储单元来记忆,监控主程序就根据现态和当前按键这两
14、个关键字查阅状态表,便可确定按键的确切含义。本讲稿第三十七页,共八十一页二、状态变量法设计步骤 下面举例来说明设计步骤。设某电压频率计的键盘安排如图6-6所示。本讲稿第三十八页,共八十一页二、状态变量法设计步骤 其中F、T、TA-B及V键规定了仪器的测量功能,SET键规定数字键09及小数点键作输入常数或自诊断用,GATE键规定数字键作闸门时间或电压量程用。若按OFS键奇数次,则进入偏移工作方式,按OFS键偶数次,为正常工作方式,按CHS键改变常数符号,负数为负偏移方式,正数为正偏移方式。本讲稿第三十九页,共八十一页 第一步画出键盘状态图,本例可设计成如图6-7的键盘状态图。二、状态变量法设计步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 监控 主程序 精选 文档

限制150内