- 1、本文档共167页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 智能仪表的键盘和显示器接口
智能化测控仪表的操作管理是通过计算机的外部输入输出设备完成的,键盘、显示器和打印机是最常用的外部输入/输出设备。
4.1 键盘接口技术
键盘实际上是由排列成矩阵形式的一系列按键开关组成的,最常用的人机联系的一种输入设备。
键盘按其结构形式可分为编码式键盘和非编码式键盘两大类。
编码式键盘是由其内部硬件逻辑电路自动产生被按键的编码。这种键盘使用方便,但价格较贵。
智能仪表中普遍使用非编码式键盘。非编码式键盘硬件接口简单,但要占用较多的CPU时间。这类键盘应主要解决以下几个问题:
(1)键的识别;
(2)反弹跳;
(3)串键的保护。
√
(1)键的识别;
——决定是否有键按下,若有,识别是哪个键。
常用方法:行扫描法和线反转法。
(2)反弹跳;
——由于按键采用的是机械开关,当开关的触点闭合或者断开到稳定,会产生一个短暂的抖动和弹跳。
消除方法:
☆硬件方法(适用于键数较少的情况)
☆软件延时的方法(键数较多时)
(3)串键保护
由于操作不慎,可能会造成同时有几个键被按下,称为串键。处理技术有三:
①两键同时按下
*只有一个键按下才读取键盘,最后仍被按下的是有效的正确按键——软件扫描键盘;
*当第1个按键未松开时,按第2个按键不产生选通信号
②n键同时按下
不理会所有按下的键,或者将所有的按键信息存储,然后逐个处理。
③n键锁定
只处理1个键,任何其他按下又松开的键不产生任何码。通常第一个按下或者最后一个松开的按键产生代码。
1.非编码式键盘的结构
非编码式键盘一般采用行列式结构并按矩阵形式排列,如图4.3所示。
通过检查行线的输出电平和列线的输入电平来识别按键
列线
2.按键识别方法
非编码式键盘识别闭合键通常有两种方法:一种称为行扫描法,另一种称为线反转法。
1)行扫描法
——就是通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所连接的输出端口得到的是全“1”信号;如果有键按下的话,则得到的是非全“1”信号。
图4.4 行扫描按键识别
图4.4 行扫描按键识别
行号
列号
键值
采用行扫描法进行按键识别时,常用软件编程来提供串键保护。
基本思路:当有多个按键被压下时,不立即求取键值,而是重新回到按键识别直至只剩下1个键压下为止。
2) 线反转法
线反转法也是识别闭合键的一种常用方法。该方法比行扫描法速度要快,但在硬件电路上要求行线与列线均需有上拉电阻,故比行扫描法稍复杂些。
线反转法借助并行接口实现,比行扫描法的速度快。
要求所使用的并行接口芯片具有方向寄存器和数据寄存器。
列线信息:PB7~PB4=101100001111
并行
接口
数据寄存器
方向寄存器
+5V
+5V
INT
“1”输入端口
“0”输出端口
0123
0 1 2 3
行
列
PB0PB1PB2PB3PB4PB5PB6PB7
行线信息:PB3~PB0=1011
完整信息:PB7~PB0
图4.7 单片机80C51通过8155实现的键盘、显示器接口
KEY: MOV DPTR, #7F00H ;8155命令口地址
MOV A, #03H ;置8155的PA、PB为输入,PC为输出
MOVX @DPTR, A
MOV R4, #00H ;0 键号寄存器
MOV R2, #01H ;扫描方式 R2
KEY1: MOV DPTR, #7F01H
MOV A, R2
MOVX @DPTR, A
INC DPTR
INC DPTR ;指向PC口
MOVX A, @DPTR
JB ACC.0, KEY2; 判断PC0=1?即第0列有键入么?
MOV A, #00H
AJMP KEY5
KEY2: JB ACC.1, KEY3
MOV A, #01H
AJMP KEY5
KEY3: JB ACC.2, KEY4
MOV A, #02H
AJ
文档评论(0)