理论教育 人机通道配置及接口技术优化

人机通道配置及接口技术优化

时间:2023-07-01 理论教育 版权反馈
【摘要】:图7-25 人机通道配置的集合由于机械触点的弹性作用,一个按键在闭合时不会马上稳定地接通,断开时也不会一下子断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,如图7-27所示。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。图7-28是最简单的键盘结构,该电路为查询方式电路。

人机通道配置及接口技术优化

单片机应用系统中,通常都需要进行人机对话。它包括人对应用系统的状态干预、数据输入以及应用系统向人报告运行状态、运行结果等。对于各种类型的单片机应用系统,其人机通道配置的集合如图7-25所示。

在单片机应用系统中为了控制系统的工作状态以及向系统中输入数据,应用系统应设有按键或键盘,例如,复位用的复位键,功能转化用的功能键以及数据输入用的数字键盘等。

(1)按键原理 按键是一种常开型按钮,如图7-26所示。常态时,按键的触点处于断开状态,按下键时它们才闭合。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的这种键盘称为编码键盘,如BCD码键盘、ASCII码键盘等;靠软件识别的称为非编码键盘。在单片机组成的测控系统及智能化仪器中,用得最多的是非编码键盘。这里着重讨论非编码键盘的原理、接口技术和程序设计。

978-7-111-46732-8-Chapter07-125.jpg

图7-25 人机通道配置的集合

由于机械触点的弹性作用,一个按键在闭合时不会马上稳定地接通,断开时也不会一下子断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,如图7-27所示。抖动时间长短由按键的机械特性决定,一般为5~10ms。键抖动会引起一次按键被误读多次。为了确保CPU对按键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法消除。通常,在键数较少时可用硬件方法消除键抖动。如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生5~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平。则确认为真正有键按下。当检测到按键释放后,也要给5~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

978-7-111-46732-8-Chapter07-126.jpg

图7-26 按键电路

978-7-111-46732-8-Chapter07-127.jpg

图7-27 按键时的抖动

(2)键盘结构 键盘是一组按键的集合。可以分为独立连接式和行列式矩阵式)两类,每一类按其译码方法不同都可分为编码及非编码两种类型。

1)独立式非编码键盘接口及处理程序。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。图7-28是最简单的键盘结构,该电路为查询方式电路。

当任何一个键按下时,与之相连的输入数据线即被置0(低电平),而平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。

978-7-111-46732-8-Chapter07-128.jpg

图7-28 独立式非编码按键电路

图7-28所示查询方式键盘的处理程序中设有使用转移指令,并且省略了软件去抖动措施,只包括键查询、键功能程序转移。P0F~P7F为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节;PROM0~PROM7分别为每个按键的功能程序。

程序清单(设I/O为P1口):

978-7-111-46732-8-Chapter07-129.jpg

由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。

2)行列式键盘接口及工作原理。为了减少键盘与单片机接口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式,如图7-29所示。每一水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通。利用这种行列矩阵结构只需N条行线和M条列线,即可组成具有N×M个按键的键盘。键盘处理程序首先执行等待按键并确认有无键按下的程序段,程序框图如图7-30所示。当确认有按键按下后,再识别哪一个按键被按下。对键的识别通常有两种方法:一种是常用的逐行(或列)扫描查询法,另一种是速度较快的线反转法。

978-7-111-46732-8-Chapter07-130.jpg

图7-29 行列式编码的键值与键号

a)二进制键值 b)顺序排列的键号(www.daowen.com)

978-7-111-46732-8-Chapter07-131.jpg

图7-30 判别有无键按下

以图7-29所示的4×4键盘为例,介绍行(或列)扫描法的工作原理。

首先判别键盘中有无键按下,由单片机I/O口向键盘列线送入(输出)全扫描字,然后从行线读入(输入)行线状态来判断。方法是:向列线(图中垂直线)输出全扫描字00H,把列线的所有I/O口线均置为低电平,然后将行线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平,从而使行输入不全为1。

判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的不在此列,如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。

键盘上的每个键都有一个键值。键值赋值的最直接办法是将行、列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到给该列置零电平,若读出各行状态为非全1,这时的行、列数据组合成键值。图7-29所示为用4行、4列线构成的16个键的键盘,在使用一个8位I/O口线的高低4位对16位键进行编码时,16个键的编码及各键相应键值如图7-29a所示。这种键值编码软件较为直观,但其间隔差异较大,散转入口地址安排不方便。因此,常采用依次序排列的键号方式,如图7-29b所示。

(3)单片机对非编码键盘扫描的控制方式 单片机对非编码键盘扫描的控制有以下3种方式供选择。用户可根据应用系统中CPU的“忙”、“闲”情况以及所需按键数目的多少来选择工作方式

1)程序控制扫描方式,即查询方式。

2)定时扫描方式,利用单片机内部定时器产生中断(例如10ms),CPU响应中断后对键盘扫描一次。定时扫描方式的硬件电路与程序扫描方式相同。

3)中断扫描方式,引起外部中断(INT0或INT1)后,CPU响应中断,对键盘进行扫描。

(4)显示及显示器接口 单片机应用系统中使用的显示器主要有LED(发光二极管)显示块和LCD(液晶显示器)两种类型。

LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是7段LED。这种显示块有共阴极与共阳极两种。共阴极LED显示块的发光二极管阴极共地。当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管阳极并接。通常的7段LED显示块中有8个发光二极管,也有人叫做8段显示器。其中7个发光二极管构成7笔字形“8”,1个发光二极管构成小数点

7段LED显示块非常容易与单片机接口。只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,见表7-16。通常将控制发光二极管的8位字节数据称为段选码。共阳极与共阴极的段选码互为补数。

在单片机应用系统中使用LED显示块构成N位LED显示器。图7-31是N位LED显示器的构成原理图。N位LED显示器有N根位选线和S×N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮、暗。

7-16 共阴极7LED显示字型编码表

978-7-111-46732-8-Chapter07-132.jpg

978-7-111-46732-8-Chapter07-133.jpg

图7-31 N位LED显示器

LED显示器有静态显示与动态显示两种方式。LED显示器工作在静态显示方式下,共阴极或共阳极连接在一起接地或5V;每位的段选线(a~dp)与一个8位并行口相连。电路每一位可独立显示,只要在该位的段选线上保持段选码电子,该位就能保持相应显示字符。

由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。N位静态显示器要求有N×8根I/O口线,占用I/O资源较多。故在位数较多时往往采用动态显示方式。

动态显示方式就是将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。8位LED动态显示电路只需要两个8位I/O口。其中一个控制段选码,另一个控制位选。由于所有位的段选码皆由一个I/O控制,因此,在每个瞬间,8位LED只可能显示相同的字符。要想每位显示不同的字符,必须采用扫描显示方式,即在每一瞬间只使某一位显示相应字符。在此瞬间,段选控制I/O口输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平、共阳极送高电平)以保证该位显示相应字符。如此轮流,使每位显示该位应显示字符,并保持延时一段时间,以造成视觉暂留效果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈