计算机接口与通信第八章.ppt
《计算机接口与通信第八章.ppt》由会员分享,可在线阅读,更多相关《计算机接口与通信第八章.ppt(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,203HOUT DX,AL;写该控制字扫描键码部分:,MOV AL,0H MOV DX,200H OUT DX,AL;设各行线为0 INC DXLOP1:INAL,DX;读列数据 AND AL,0FH;屏蔽无关位CMP AL,0FH;查各列有无为0JZLOP1;无按,继续等待按键(或转出)CALLDELAY;有
6、按,延时1020毫秒,消除抖动 INAL,DX;读列数据 AND AL,0FH;屏蔽无关位CMP AL,0FH;查各列有无为0 JZLOP1;无按,继续等待按键(或转出)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 AL,DX;读列数据 AND AL,0FH;屏蔽无关位 CMP AL,0FH;查本扫描行有无列为0 JNZ
7、LOP3;有,出LOP3查本行键号 ADD CL,4;无,键号+4,准备查下一行 MOV AL,AH;重取下一行扫描码 DEC BL;行数1 JMP LOP2;返回,扫描下一行,LOP3:INCCL;键号1(预置时比实际小1)RCR AL,1;循环右移一位JCLOP3;最低位=1,返回再找LOP4:;等待按键松开 INAL,DX;读列数据 AND AL,0FH;屏蔽无关位CMP AL,0FH;查各列有无为0JNZLOP4;按,继续等待按键松开MOV AL,CL;键号送ALCMP AL,0;查是否0号键JZ KEY0;是,转0号键处理CMPAL,1;查是否1号键JZKEY0;是,转1号键处理,8
8、12 PC键盘接口,PC系列键盘是用于各种微型计算机的键盘,从最初的83键基本键盘到现在的常用的带有Windows菜单控制键的104键的键盘。当前,使用较多的是电容式键盘。在实际的系统设计中,为了更有效的利用CPU的运行时间,减少CPU对键盘管理所用的时间,在通用的微机系统中常用专用硬件电路来完成键盘扫描、去抖动、键码查询的工作,CPU只是在有键按下时直接处理由编码键盘送来的键码值。,PC机键盘是一个典型的非编码键盘,由专用的智能电路(8048单片机)做键盘控制器完成键盘扫描,键码的识别,最后送出键盘扫描码。PC机则用一个8042或者8742键盘控制器接受和发送有关键盘信息。,键盘上的8048
9、单片机通过5芯插座与主机板上的键盘接口联结。,PC机的键盘接口电路的8042通过TEST0(CLK)和TEST1(DATA)端口接受来自键盘的时钟和串行的键盘数据,检查键盘数据的奇偶性,并把它变换成扫描码,以便作为它的输出缓冲器中的一个数据字节,向系统传送。当把这个数据字节送到键盘控制器的输出缓冲器中时,键盘控制器8042使其输出口P24变高,向主机送出中断请求信号IRQ1,请求主机系统进行读取,,这时,DATA(P27)=0,告诉键盘,目前不允许它继续送出扫描码。等到中断服务程序将此扫描码读入后,8742的P24=0、P27=1,允许键盘再送入扫描码。键盘送出的数据由键盘提供的时钟(CLK)
10、进行同步。键盘也可以接受数据,通过8042的输出口P26和P27,将CLK和DATA信号送到键盘。,PC机键盘接口电路安装在主机系统板上,通过5芯接口电缆与键盘连接。,在PC机的ROM BIOS中,对键盘初始化和键盘中断的程序(PC机内8255地址是60H63H,见书P81图2-14)为:MOVAL,99HOUT 63H,ALMOVAL,0C8HOUT 61H,ALMOVAL,48HOUT 61H,AL,PC机采用硬中断IRQ1(INT 09H)来实现键盘扫描码的读取、ASCII码转换以及组合键等的识别。在IRQ1键盘中断服务程序中,对扫描码进行读取和对键盘接口进行控制的程序为:KEY_IN:
11、INAL,60H;读入键盘数据端口TEST AL,80H;按键是否松开JNZ KEY_IN;未松开,返回等待(防止重键)PUSH AXIN AL,61H;读键盘状态端口(8255PB口),MOVAH,ALORAL,80H;置PB7=1OUT61H,AL;清除中断触发器XCHGAH,AL;恢复PB读入数据OUT61H,AL;恢复PB7=0,PB6=1,允许接收下一个键POPAX;恢复读入的键盘扫描码MOVAH,AL;键盘扫描码送AHXLATB:;查表,将扫描码转换为ASCII码,82 鼠标接口,821概述由于图形用户界面的发展,鼠标已经成为微机的标准硬件输入设备。功能是将用户在使用鼠标作平面运动
12、过程中产生的x方向和y方向的位移量,通过鼠标接口传送给计算机,在计算机中再转换成显示屏幕上的坐标数据。按结构分,常用的鼠标有机械式鼠标和光电式鼠标两种。机械式鼠标结构简单,价格便宜,而光电式鼠标精度高、可靠性高。,按接口分,常用的鼠标有串行通信接口鼠标和USB接口鼠标。图8-7为鼠标的基本结构框图,串行通信鼠标一般采用RS-232标准接口进行通信。这种鼠标不需要专门的电源线,由标准的RS-232串行通信接口电路里中的RTS提供驱动,SGND作为地线,使用TxD作为数据发送线,DTR作为联络信号线,进行鼠标器的控制。在串行通信鼠标的接口板上有微处理器,其作用是判断鼠标是否启动,在鼠标工作时,控制
13、输出在x、y方向的串行位移数据。大多数鼠标采用7位数据位、1位停止位、无奇偶校验方式,以1200/2400bps的速率发送数据。,各种鼠标的数据格式都有差别,Microsoft公司制定的两键鼠标数据的标准格式如表8-1示。其中LB、RB分别表示鼠标的左键和右键按下。X7X0、Y7Y0表示相对于上次的位移量。鼠标位移量的基本单位为米基(Mickeys),1米基=0.0005英寸,而三个字节的每个字节的D6位表示字节间的时序关系。,鼠标的精度与图形显示器有关,其坐标的纵横向取值范围与显示器的最大分辨率一致。如表8-1所示。,8.2.2 鼠标驱动鼠标驱动程序在计算机中,鼠标已经是标准输入设备,所以在
14、系统中都配有鼠标的标准驱动程序。并在系统建立时加载。一旦系统中加载了鼠标驱动程序,则用户每当移动一下鼠标或按动一下鼠标按钮,就会产生一次INT 33H中断。鼠标驱动程序处理这次中断,设置相应的内部变量,然后返回。,在DOS下的鼠标驱动程序若是MOUSE.SYS,则必须设置在CONFIG.SYS文件中,加如下1行:DEVICE=MOUSE.SYS若鼠标驱动程序是 MOUSE.COM。则必须设置在AUTOEXEC.BAT文件中。加如下1行:MOUSE若是在Windows环境下,则鼠标驱动程序为MOUSE.DRV,由于在图形界面下,鼠标是必要的输入设备,所以系统自动加载,无须用户设置。,8.2.2.
15、2 鼠标的编程应用,Microsoft为鼠标提供了一个软件中断指令int 33H,只要在系统中加载了鼠标驱动程序,在应用程序中就可以对它直接调用,对鼠标进行操作。int 33H有多种子功能,可通过在AX中设置功能号来选择。常用int 33H功能调用如表8-3,83 LED显示器接口,LED七段发光二极管显示器是工业控制设备面板信息显示的主要器件,它分共阴极连接和共阳极连接两种。,数码管以7个发光二极管组成一个“8”字的各段,另有一个发光二极管用于小数点的显示。对共阴极连接的数码管,每段笔划的二极管在1电平时亮,0电平不亮;共阳极连接时则刚好相反。用于微机接口时,应根据数码管笔划与数据线的连接进
16、行适当的编码,通过输出适当的编码,使数码管的某些笔划的亮与不亮,构成显示所需的数字和字符。,图8-9为常见的两种7段数码管的应用连接接口电路。,其对应编码如表8-5所示。,图8-10是利用8255A控制的,对S1S3组合开关的状态,用LED共阴极数码管进行显示的接口电路图。开关S1S3拨定为某一状态时,其对应的二进制数值由LED数码管显示出来。,对应C语言程序如下:#include main()char led=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07/设LED字码表unsigned char led_index;outportb(0 x2
17、03,0 xb0);/8255A初始化:方式0,A口输入,B口输出outportb(0 x203,0 x08);/设PC4(INTEA)=0(关中断)outportb(0 x201,0);/开始,先关闭LED显示while(!kbhit)()/当键盘按下时,程序退出led_index=inportb(0 x200);/读A口led_index=led_index/得到开关状态outportb(0 x201,ledled_index)/查LED编码表并由B口输出,显示,以上电路功能也可以用中断方式编程实现,复位按钮用于产生STBA,8255A的INTRA可作为8259的中断请求信号。作业:对以上
18、电路功能要求,试用中断方式编程实现。(可用汇编语言、C语言均可),84 视屏显示接口,视频显示是重要的人机交互方式,计算机系统通过显示接口在显示设备上以多种方式输出各种信息,比如,以字符、表格、图形和图象的形式显示计算机信息处理的结果。在微机中最常用的显示设备是CRT(Cathod-Ray Tube)显示终端。本节讨论计算机视频显示的基本原理。,VGA方式CRT显示系统工作原理框图,841 显示器的工作原理,显示终端的技术不断成熟,实际上CRT显示终端本身就含有CPU的控制系统。按显示屏的结构分:CRT阴极射线管式和LCD液晶式显示器。按色彩形式分:单色和彩色显示器。按视频信号的输入形式分:数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 接口 通信 第八

链接地址:https://www.31ppt.com/p-6342459.html