液晶显示器-Read.PPT

  1. 1、本文档共127页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
液晶显示器-Read

第八章 人机接口技术 1、键盘接口控制 2、鼠标接口 3、LED显示器接口 4、视屏显示接口 5、打印机接口 6、触摸屏原理和接口 7、光笔接口 键盘接口控制 键盘由一组按规则排列的按键开关组成,每个按键开关的动作,由键盘控制电路转换成相应的代码(比如键盘位置码),通过键盘接口电路传送给计算机系统,由计算机系统按用户意图作相应的处理。 键盘的种类很多。按键盘的构造原理,可以分为机械式键盘、电容式键盘、薄膜式键盘和电阻式键盘。 按照键盘插口方式,键盘可分为AT键盘(大口)、PS/2键盘(小口)两类。 按键盘按键位置码的识别方式,可以分为两大类:编码键盘和非编码键盘。 编码键盘是键盘电路在某个键被按下后,能提供该键所代表的信息代码。 非编码键盘是一种便宜而广泛用于微机系统的输入设备。这种键盘内部有一个扫描电路,不断地扫描键盘是否有键被按下。此键所代表的键盘信息代码,则由键盘接口及键盘处理软件根据键盘送来的位置信息产生。 键盘工作的基本原理 按键的结构特点 键盘上的按键,其实是仅仅供检测的电路开关,只提供电路逻辑上的通与断。 按键的识别要处理好去抖动和重键两个问题。 机械式按键在按下和释放时,通常伴随着一定时间的触点机械抖动,然后其触点才能稳定下来。 在触点抖动期间,或着由于外界的干扰在电路中产生毛刺期间,检测按键的通与断状态,可能就会导致判别出错。即一次按下或释放被错误的检测为用户多次的键盘操作,或者,干扰毛刺也被检测为用户有效的键盘操作。 计算机中必须做键盘去抖动处理。 目前去抖动的方法有两种:一是用硬件电路来实现,即使用RC滤波电路滤除抖动的波形。另外一种办法就是用软件延时的方法来解决。 软件延时的方法就是通过延时来等候信号稳定,在信号稳定以后再去识别键码。 其过程是在检查到有键按下以后延时一段时间)(10~15ms),再检查一次看是否有按键按下。若这一次检查不到,则说明前一次的检查结果是干扰或者抖动,若这一次检查到有按键按下,则说明信号已经稳定,然后判断闭合按键的键码。当闭合按键的键码确定以后,再去检测按键是否被释放,待按键释放以后再进行键盘处理,这样就可以消除释放抖动的干扰。 重键是指两个或两个以上的按键同时按下闭合,或者一个按键按下后还未弹开,另外一个按键已按下。 对重键处理的常用方法有两种: 一是最终检测法:连续不断的对键盘进行扫描,当有多个闭合键时不予识别,仅以最后检查到的一个闭合键为确认键。 二是初检法,它是确认一个闭合键后处于保持状态,只有当该键被释放以后再去处理,并开始识别其他键。 键码识别 编码式键盘是通过数字电路直接产生对应于按键的ASCII码,目前很少使用。 非编码式键盘将按键排列成矩阵的形式,由硬件或软件随时对矩阵扫描,一旦某一键被按下,该键的行列信息即被转换为位置码并送入主机,再由键盘驱动程序查表,从而得到按键的ASCII码,最后送入内存中的键盘缓冲区供主机分析执行。 非编码式键盘由于其结构简单、按键重定义方便而成为目前最常采用的键盘类型。计算机中使用的主要是非编码键盘。 常用的计算机键盘结构为矩阵键盘,它所需要的接口线数目是行数加列数,而所能够管理的键盘数目则是行数×列数。 设8255的片选信号为200H~203H。 键盘控制程序如下: 初始化部分: MOV AL,82H ;8255控制字:方式0,PA输出,PB输入 MOV DX,203H OUT DX,AL ;写该控制字 扫描键码部分: MOV AL,0H MOV DX,200H OUT DX,AL ;设各行线为0 INC DX LOP1: IN AL,DX ;读列数据 AND AL,0FH ;屏蔽无关位 CMP AL,0FH ;查各列有无为0 JZ LOP1 ;无按,继续等待按键(或转出) CALL DELAY ;有按,延时10~20毫秒,消除抖动 IN AL,DX ;读列数据 AND AL,0FH ;屏蔽无关位 CMP AL,0FH ;查各列有无为0 JZ LOP1 ;无按,继续等待按键(或转出) MOV BX,0404H ;有,行数送BL,列数送BH MOV CL,0FFH ;设起始键号(CL= -1) MOV AL ;起始扫描码,0行(=0)先测试。 LOP2:MOV DX,200H ;扫描一行 OUT DX,AL

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档