计算机接口与通信第八章

上传人:san****019 文档编号:84186100 上传时间:2019-03-03 格式:PPT 页数:86 大小:426KB
返回 下载 相关 举报
计算机接口与通信第八章_第1页
第1页 / 共86页
计算机接口与通信第八章_第2页
第2页 / 共86页
计算机接口与通信第八章_第3页
第3页 / 共86页
计算机接口与通信第八章_第4页
第4页 / 共86页
计算机接口与通信第八章_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《计算机接口与通信第八章》由会员分享,可在线阅读,更多相关《计算机接口与通信第八章(86页珍藏版)》请在金锄头文库上搜索。

1、第八章 人机接口技术,81 键盘接口控制,键盘由一组按规则排列的按键开关组成,每个按键开关的动作,由键盘控制电路转换成相应的代码(比如键盘位置码),通过键盘接口电路传送给计算机系统,由计算机系统按用户意图作相应的处理。,键盘的种类很多。按键盘的构造原理,可以分为机械式键盘、电容式键盘、薄膜式键盘和电阻式键盘。,按照键盘插口方式,键盘可分为AT键盘(大口)、PS/2键盘(小口)两类。 按键盘按键位置码的识别方式,可以分为两大类:编码键盘和非编码键盘。 编码键盘是键盘电路在某个键被按下后,能提供该键所代表的信息代码。 非编码键盘是一种便宜而广泛用于微机系统的输入设备。这种键盘内部有一个扫描电路,不

2、断地扫描键盘是否有键被按下。此键所代表的键盘信息代码,则由键盘接口及键盘处理软件根据键盘送来的位置信息产生。,811 键盘工作的基本原理,8.1.1.1 按键的结构特点 键盘上的按键,其实是仅仅供检测的电路开关,只提供电路逻辑上的通与断。,按键的识别要处理好去抖动和重键两个问题。,机械式按键在按下和释放时,通常伴随着一定时间的触点机械抖动,然后其触点才能稳定下来。 在触点抖动期间,或着由于外界的干扰在电路中产生毛刺期间,检测按键的通与断状态,可能就会导致判别出错。即一次按下或释放被错误的检测为用户多次的键盘操作,或者,干扰毛刺也被检测为用户有效的键盘操作。 计算机中必须做键盘去抖动处理。,目前

3、去抖动的方法有两种:一是用硬件电路来实现,即使用RC滤波电路滤除抖动的波形。另外一种办法就是用软件延时的方法来解决。 软件延时的方法就是通过延时来等候信号稳定,在信号稳定以后再去识别键码。 其过程是在检查到有键按下以后延时一段时间)(1015ms),再检查一次看是否有按键按下。若这一次检查不到,则说明前一次的检查结果是干扰或者抖动,若这一次检查到有按键按下,则说明信号已经稳定,然后判断闭合按键的键码。当闭合按键的键码确定以后,再去检测按键是否被释放,待按键释放以后再进行键盘处理,这样就可以消除释放抖动的干扰。,重键是指两个或两个以上的按键同时按下闭合,或者一个按键按下后还未弹开,另外一个按键已

4、按下。 对重键处理的常用方法有两种: 一是最终检测法:连续不断的对键盘进行扫描,当有多个闭合键时不予识别,仅以最后检查到的一个闭合键为确认键。 二是初检法,它是确认一个闭合键后处于保持状态,只有当该键被释放以后再去处理,并开始识别其他键。,8.1.1.2 键码识别,编码式键盘是通过数字电路直接产生对应于按键的ASCII码,目前很少使用。 非编码式键盘将按键排列成矩阵的形式,由硬件或软件随时对矩阵扫描,一旦某一键被按下,该键的行列信息即被转换为位置码并送入主机,再由键盘驱动程序查表,从而得到按键的ASCII码,最后送入内存中的键盘缓冲区供主机分析执行。 非编码式键盘由于其结构简单、按键重定义方便

5、而成为目前最常采用的键盘类型。计算机中使用的主要是非编码键盘。,常用的计算机键盘结构为矩阵键盘,它所需要的接口线数目是行数加列数,而所能够管理的键盘数目则是行数列数。,设8255的片选信号为200H203H。 键盘控制程序如下: 初始化部分: 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 J

6、Z LOP1 ;无按,继续等待按键(或转出) CALL DELAY ;有按,延时1020毫秒,消除抖动 IN AL,DX ;读列数据 AND AL,0FH ;屏蔽无关位 CMP AL,0FH ;查各列有无为0 JZ LOP1 ;无按,继续等待按键(或转出) MOV BX,0404H ;有,行数送BL,列数送BH MOV CL,0FFH ;设起始键号(CL= -1) MOV AL,11111110B ;起始扫描码,0行=0,LOP2:MOV DX,200H ;扫描一行 OUT DX,AL RCL AL,1 ;准备下一行数据 MOV AH,AL ;保存到AH INC DX ;设PB口地址 IN A

7、L,DX ;读列数据 AND AL,0FH ;屏蔽无关位 CMP AL,0FH ;查本扫描行有无列为0 JNZ LOP3 ;有,出LOP3查本行键号 ADD CL,4 ;无,键号+4,准备查下一行 MOV AL,AH ;重取下一行扫描码 DEC BL ;行数1 JMP LOP2 ;返回,扫描下一行,LOP3: INC CL ;键号1(预置时比实际小1) RCR AL,1 ;循环右移一位 JC LOP3 ;最低位=1,返回再找 LOP4: ;等待按键松开 IN AL,DX ;读列数据 AND AL,0FH ;屏蔽无关位 CMP AL,0FH ;查各列有无为0 JNZ LOP4 ;按,继续等待按键

8、松开 MOV AL,CL ;键号送AL CMP AL,0 ;查是否0号键 JZ KEY0;是,转0号键处理 CMP AL,1 ;查是否1号键 JZ KEY0;是,转1号键处理 ,812 PC键盘接口,PC系列键盘是用于各种微型计算机的键盘,从最初的83键基本键盘到现在的常用的带有Windows菜单控制键的104键的键盘。 当前,使用较多的是电容式键盘。 在实际的系统设计中,为了更有效的利用CPU的运行时间,减少CPU对键盘管理所用的时间,在通用的微机系统中常用专用硬件电路来完成键盘扫描、去抖动、键码查询的工作,CPU只是在有键按下时直接处理由编码键盘送来的键码值。,PC机键盘是一个典型的非编码

9、键盘,由专用的智能电路(8048单片机)做键盘控制器完成键盘扫描,键码的识别,最后送出键盘扫描码。PC机则用一个8042或者8742键盘控制器接受和发送有关键盘信息。,键盘上的8048单片机通过5芯插座与主机板上的键盘接口联结。,PC机的键盘接口电路的8042通过TEST0 (CLK)和TEST1(DATA)端口接受来自键盘的时钟和串行的键盘数据,检查键盘数据的奇偶性,并把它变换成扫描码,以便作为它的输出缓冲器中的一个数据字节,向系统传送。 当把这个数据字节送到键盘控制器的输出缓冲器中时,键盘控制器8042使其输出口P24变高,向主机送出中断请求信号IRQ1,请求主机系统进行读取,,这时,DA

10、TA(P27)=0,告诉键盘,目前不允许它继续送出扫描码。 等到中断服务程序将此扫描码读入后,8742的P24=0、P27=1,允许键盘再送入扫描码。 键盘送出的数据由键盘提供的时钟(CLK)进行同步。键盘也可以接受数据,通过8042的输出口P26和P27,将CLK和DATA信号送到键盘。,PC机键盘接口电路安装在主机系统板上,通过5芯接口电缆与键盘连接。,在PC机的ROM BIOS中,对键盘初始化和键盘中断的程序(PC机内8255地址是60H63H,见书P81图2-14)为: MOV AL,99H OUT 63H,AL MOV AL,0C8H OUT 61H,AL MOV AL,48H OU

11、T 61H,AL,PC机采用硬中断IRQ1(INT 09H)来实现键盘扫描码的读取、ASCII码转换以及组合键等的识别。 在IRQ1键盘中断服务程序中,对扫描码进行读取和对键盘接口进行控制的程序为: KEY_IN: IN AL,60H ;读入键盘数据端口 TEST AL,80H;按键是否松开 JNZ KEY_IN ;未松开,返回等待(防止重键) PUSH AX IN AL,61H;读键盘状态端口(8255PB口),MOV AH,AL OR AL,80H;置PB7=1 OUT 61H,AL;清除中断触发器 XCHG AH,AL ;恢复PB读入数据 OUT 61H,AL;恢复PB7=0,PB6=1

12、,允许接收下一个键 POP AX ;恢复读入的键盘扫描码 MOV AH,AL ;键盘扫描码送AH XLATB: ;查表,将扫描码转换为ASCII码,82 鼠标接口,821概述 由于图形用户界面的发展,鼠标已经成为微机的标准硬件输入设备。 功能是将用户在使用鼠标作平面运动过程中产生的x方向和y方向的位移量,通过鼠标接口传送给计算机,在计算机中再转换成显示屏幕上的坐标数据。 按结构分,常用的鼠标有机械式鼠标和光电式鼠标两种。机械式鼠标结构简单,价格便宜,而光电式鼠标精度高、可靠性高。,按接口分,常用的鼠标有串行通信接口鼠标和USB接口鼠标。 图8-7为鼠标的基本结构框图,串行通信鼠标一般采用RS-

13、232标准接口进行通信。这种鼠标不需要专门的电源线,由标准的RS-232串行通信接口电路里中的RTS提供驱动,SGND作为地线,使用TxD作为数据发送线,DTR作为联络信号线,进行鼠标器的控制。 在串行通信鼠标的接口板上有微处理器,其作用是判断鼠标是否启动,在鼠标工作时,控制输出在x、y方向的串行位移数据。 大多数鼠标采用7位数据位、1位停止位、无奇偶校验方式,以1200/2400bps的速率发送数据。,各种鼠标的数据格式都有差别,Microsoft公司制定的两键鼠标数据的标准格式如表8-1示。其中LB、RB分别表示鼠标的左键和右键按下。X7X0、Y7Y0表示相对于上次的位移量。鼠标位移量的基

14、本单位为米基(Mickeys),1米基=0.0005英寸,而三个字节的每个字节的D6位表示字节间的时序关系。,鼠标的精度与图形显示器有关,其坐标的纵横向取值范围与显示器的最大分辨率一致。如表8-1所示。,8.2.2 鼠标驱动 鼠标驱动程序 在计算机中,鼠标已经是标准输入设备,所以在系统中都配有鼠标的标准驱动程序。并在系统建立时加载。 一旦系统中加载了鼠标驱动程序,则用户每当移动一下鼠标或按动一下鼠标按钮,就会产生一次INT 33H中断。鼠标驱动程序处理这次中断,设置相应的内部变量,然后返回。,在DOS下的鼠标驱动程序若是MOUSE .SYS,则必须设置在CONFIG.SYS文件中,加如下1行:

15、 DEVICE=MOUSE.SYS 若鼠标驱动程序是 MOUSE.COM。则必须设置在AUTOEXEC.BAT文件中。加如下1行: MOUSE 若是在Windows环境下,则鼠标驱动程序为MOUSE.DRV,由于在图形界面下,鼠标是必要的输入设备,所以系统自动加载,无须用户设置。,8.2.2.2 鼠标的编程应用,Microsoft为鼠标提供了一个软件中断指令int 33H,只要在系统中加载了鼠标驱动程序,在应用程序中就可以对它直接调用,对鼠标进行操作。 int 33H有多种子功能,可通过在AX中设置功能号来选择。常用int 33H功能调用如表8-3,83 LED显示器接口,LED七段发光二极管

16、显示器是工业控制设备面板信息显示的主要器件,它分共阴极连接和共阳极连接两种。,数码管以7个发光二极管组成一个“8”字的各段,另有一个发光二极管用于小数点的显示。 对共阴极连接的数码管,每段笔划的二极管在1电平时亮,0电平不亮;共阳极连接时则刚好相反。 用于微机接口时,应根据数码管笔划与数据线的连接进行适当的编码,通过输出适当的编码,使数码管的某些笔划的亮与不亮,构成显示所需的数字和字符。,图8-9为常见的两种7段数码管的应用连接接口电路。,其对应编码如表8-5所示。,图8-10是利用8255A控制的,对S1S3组合开关的状态,用LED共阴极数码管进行显示的接口电路图。 开关S1S3拨定为某一状态时,其对应的二进制数值由LED数

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号