一、人机接口框图
一般来说,微机保护的人机接口回路是指键盘、显示器及接口 CPU插件电路。人机接口回路的主要作用是通过键盘和显示器完成人机对话任务、时钟校对及与各保护CPU插件通信和巡检任务。在单CPU结构的保护中,接口 CPU就由保护CPU兼任。为了减轻保护CPU的负担,可由可编程键盘、显示器专用接口芯片8279来完成键盘、显示器与保护CPU的接口任务,时钟校对由MC146818独立完成,如图l-29所示。
在多CPU结构的保护中,另设有专用的人机接口 CPU插件。此时接口 CPU要完成人机接口(键盘、显示器)的任务,还要完成与各CPU通信管理,巡检及时间校对、程序出格自复位等多项任务。人机接口 CPU插件框图如图 1-30所示。与保护CPU插件相类似,在接口 CPU插件上除了 8031CPU外,还扩展有EPROM、 RAM,串行及并行扩展芯片8256,时钟电路MC146818芯片及自复位用的计数器74LS393。
二、键盘输入电路
(一)键输入的接口功能
键盘输入电路应能可靠而快速实现键盘输入任务,为此应具有以下键输入接口功能:
1.键开关状态的可靠输入
目前,无论是按键或键盘大都是利用机械触点的合断作用。一个电压信号通过机械触点的闭合、断开过程,均要伴随一个抖动过程,会出现一系列脉冲,其抖动时间约为5~10ms。为了电路的简单起见,一般采用软件去抖动,即在检测到有键按下时,执行一个10ms的延时程序再确定该键是否仍保持闭合状态电平,如保持闭合状态电平则确认为该键已真正按下。
2.按键编码
为了识别按键,通常都对每个键进行编码,即给定键值,不同的键盘结构采用不同的编码方法。软件中根据键值安排执行程序的地址,按键值执行不同的功能程序。
3.键盘检测功能
对是否有键按下的监测方式,通常有中断方式和查询方式两种。中断方式是在键盘接下时,通过按键信息传送至CPU的中断请求输入端口,CPU响应中断请求后即转入中断服务程序,做键盘输入的处理工作。查询方式的键盘监测较为简单,通常是采用查询键盘的办法判断有否按键,没有按键时输入的码值与有按键时是不相同的。通过查询键值,然后执行键功能程序转移,完成键功能的处理工作。
(二)键盘输入电路
为了简便操作,单片机键盘不必像PC机那么繁杂,保护装置键盘键的数量应尽可能减少。人机接口的面板上键盘只有七个键:“↑”“↓”“→”“←”上下左右键、“Q”返回键、复位和确认键。复位和确认键用于装置复位和操作确认。这样可以使得电路十分简单,操作也很方便。键盘输入电路有两种,一种是独立式键盘电路,另一种是行列式按键电路。如图1-31(a)、(b)所示。
1.独立式按键电路
由于只需少量键,因此可采用最简单的独立式键盘电路如图1-31(b),而不必采用行列式按键电路,从而大大简化了电路,也使键盘程序简单得多。在监控程序安排下,接口 CPU对74LS245输出不停地检测。由于每一个按键都有特定键值,例如 AN1的键值为 11111100即 FCH, AN2为11111010即为FAH。输入CPU后,根据该键特定键值就可转向执行该键的功能程序,例如按下“↑”键,就转入执行将光标移上一行的程序。当键均未被按下时,74LS245接口芯片的输入数码为11111ll0即FEH,接口CPU就认为无键输入。
2.行列式按键电路
如果键的数量较多采用行列式按键电路,可节省 I/O口线,如图 1-31(a)所示,CPU依次给列线P2.4~P2.7扫描输出“0”,然后从行线PI.6、PI.7读入按键输入数码。在没有键按下时行线输入均为“1”,当某个键按下,该键对应的行线输入就变为“0”,此时行线的数码与列线的数码是唯一确定的,将行线与列线数码组合起来,就能确定是哪一键按下。根据该键数码可以转向执行该键的功能程序。例如图 l-31(a)AN1~AN8共八个键,各自十六进制数码值分别为 27, 2B,2D, 2E,17,1B,1D,1EH,值得注意的是高位在前,AN1键值为 10 0111即 27H。 AN8键值为 01 1110即1EH。