《微机原理与接口技术人机接口技术课件剖析》由会员分享,可在线阅读,更多相关《微机原理与接口技术人机接口技术课件剖析(61页珍藏版)》请在金锄头文库上搜索。
1、微机原理与接口技术 第13章 人机交互接口技术,主编:周国运 机械工业出版社 2011.9,本章内容 13.1 键盘及其接口 13.2 显示器及其接口 13.3 打印机及其接口 13.4 微机其它外设及接口,人机交互是指人与计算机之间建立联系、交流信息的有关操作。 通过输入设备,人们把要执行的命令或数据送给计算机,这些设备如键盘、鼠标、扫描仪等。 通过输出设备,又从计算机获得易于理解的信息,这些设备如显示器、打印机等。 本章讲述几种常见人机交互设备的结构、工作原理、性能特点、接口及应用等知识。,13.1 键盘及其接口,键盘是从英文打字机演变而来的,是计算机最常用的、也是最主要的标准输入设备。
2、PC系列微机的键盘主要包括26 个大小写字母键、09 数字键、功能键、组合控制键、光标控制键、标点符号及特殊符号键。,13.1.1 键盘的分类和特点,一、键盘按结构分类 (1)机械触点式键盘 机械触点式键盘就是通常所说的机械式键盘,每个按键下有两个触点,平时这两个触点不接触,相当于断路,当该按键被按下时,两个触点直接接触,使电路闭合导通,产生信号。其本质是把机械上的通断转换成电气上的逻辑关系。 这类键盘手感差,易磨损,故障率较高,寿命短。,13.1 键盘及其接口,(2)电容式键盘 电容式键盘触点之间不直接接触,当按键被按下时,改变电容器电极之间的距离,在触点之间形成两个串联的平板电容,使脉冲信
3、号通过。能自动检测被按下键并提供对应键码,以并行或串行方式送给CPU。 这类键盘击键时无噪声,开关寿命长,可靠性好,响应速度快,工作频率高,灵敏度和稳定性也较好,但较贵。,13.1 键盘及其接口,二、键盘的编码形式 (1)编码式键盘 该键盘带有硬件电路,有专门的控制电路,当某个按键被按下时,能自动检测并产生相应的代码,以并行或串行方式送给CPU。还有去抖动和防止多键、串键等保护装置。 这类键盘接口简单,使用方便,响应速度快,但硬件电路复杂,价格高,而且按键代码固定,不易修改和扩充。,13.1 键盘及其接口,(2)非编码式键盘 该键盘没有独立的硬件电路,只提供键盘的行列矩阵,采用软件识别按键并产
4、生代码,键盘只使用简单的硬件来识别按键,向PC机提供按键的位置代码,然后由软件把这些位置代码转换为规定的编码。 这种键盘响应速度不如编码式键盘快,但它可以通过软件为按键重新定义编码,扩充键盘功能方便,在自己开发的系统中广泛采用。,13.1 键盘及其接口,13.1.2 PC机键盘接口,PC机键盘具有两个基本特点: 一是按键开关为无触点的电容开关,通过按键动作使电容量发生变化,来检测按键的断开和接通; 二是键盘由单片机程序扫描并识别按下的键,然后再向键盘接口发送所按下键的扫描码。 键盘接口的作用:接收键盘送来的扫描码;产生键盘中断;对键盘初始化、测试、复位等。,PC常用的键盘接口有3种: (1)标
5、准接口 一般用于早期的AT 主板上,也称作AT 接口。标准接口为圆形,比PS/2 接口要大,称为大口。 (2)PS/2 接口 PS/2 接口为具有6 针的圆形插座,目前PC 上一般都具有连接键盘的PS/2 接口。 (3)USB接口 具有即插即用,支持热插拔等优点,很多设备都采用了USB 接口,键盘也不例外。,13.1 键盘及其接口,一、键盘设计中应注意的问题 (1)键抖动 在操作按键时会产生机械抖动,一般持续几毫秒到十几毫秒,抖动的产生会使一次按键被软件错误地判断为多次按键,所以在扫描键盘的过程中,必须想办法消除键抖动,否则会引起错误。 去抖动的方法通常有两种,软件延时和硬件去抖动电路。,13
6、.1 键盘及其接口,13.1.3 简单键盘接口,软件延时法:发现有键按下或释放时,软件延时一段时间(5ms20ms),再检查看是否有按键按下。若检查不到,则说明为干扰;若检查到,说明信号已经稳定,可对按键做识别。 硬件消抖动:在键开关与计算机接口之间加一个消抖动电路,如双稳电路、单稳电路(输出脉宽要大于抖动时间)等。由于硬件去抖动增加了电路的复杂性,每个按键都要一个去抖动电路,这种方法只适用于键数目较少的场合。键数目较多时,采用软件延时法去抖动。,13.1 键盘及其接口,(2)重键 重键是指在同一时刻有两个或多个键同时按下而产生的不确定或错误问题。解决重键可采取: 无效处理,当发现有一个以上按
7、键同时按下时,认为此次按键输入无效; 等待释放,将最后释放的按键作为有效键处理; 硬件封锁,当发现有一按键按下时,硬件电路即刻封锁其他按键的输入,直到该键处理完毕。,13.1 键盘及其接口,(3)防止一次按键多次处理 当键扫描速度和键处理速度较快时,一个按下的键还未来得及释放,键扫描和处理程序就已执行了多遍,造成按一次键有多个键值输入的错误。为避免这种情况,必须保证按一次键,CPU只对该键处理一次。 (4)键值的确定 最方便的方法是利用按键所在的行、列值,形成一个查表。查表得到相应的键值;或者利用行、列值进行变换,得到一个该键惟一对应的编码,再查表得到相应的键值。,13.1 键盘及其接口,二、
8、行扫描法识别按键 行扫描法需要两个并行口,行线接输出口,列线接输入口,如图13-1。 行扫描法的原理是:通过程序向键盘的所有行逐行输出低电平,若无键按下,则所有列的输入均为高电平。若有键按下,就会将所在的列钳位在低电平。通过程序读入列线的状态,就可判断有无键按下及哪一个键。 键盘行扫描法的操作过程如下:,13.1 键盘及其接口,13.1 键盘及其接口,(1)查询是否有键按下 所有行输出低电平,然后输入全部列值;若读入的列值全是1,则说明没有键按下,否则说明有键按下。 (2)识别按下键所在的行 使某一行输出低电平,其余的行输出高电平,然后读入列值。若读入的列值不是全1,则说明此行有键按下,否则此
9、行无键按下。逐行输出低电平,直到找出按下键所在的行号。 (3)找出按下键所在的列 对于上面读取的不为全1的列值,逐位判断是否为0,为0的位号就是按下键的列号。,13.1 键盘及其接口,(3)行扫描法识别按键程序 对图13-1的44键盘使用行扫描法编程识别按键。设16 个按键的键值从左到右、从上到下,分别为0,1,2,3,4,5,6,0FH,无键按下返回0FFH,返回值在BL中,假定8255A的端口地址分别为60H63H。 键盘扫描子程序如下:,13.1 键盘及其接口,KEY: MOV AL,82H OUT 63H,AL ;A口输出,B口输入 MOV AL,0 OUT 60H,AL ;A口输出全
10、扫描字0 IN AL,61H ;读取B口 AND AL,0FH ;屏蔽掉高4位 CMP AL,0FH JZ NKEY_P ;输入低4位若全为1无键按下,返回0FFH CALL DELAY ;调用延时程序,去抖,13.1 键盘及其接口,MOV AL,0 ;确认有键按下 OUT 60H,AL ;A口输出全扫描字0 IN AL,61H ;读取B口 AND AL,0FH ;屏蔽掉高4位 CMP AL,0FH ;输入低4位若全为1 JZ NKEY_P ;则为抖动引起返回0FFH MOV BL,0 ;键值初值0 MOV CL,0EH ;扫描字,最低位为0 MOV DL,4 ;扫描次数,13.1 键盘及其接
11、口,SCAN: MOV AL,CL OUT 60H,AL ;送出扫描字 ROL AL,1 MOV CL,AL ;扫描字左移,为下次做准备 IN AL,61H ;读取列值 AND AL,0FH CMP AL,0FH JNZ FCOL MOV AL,BL ADD AL,4 MOV BL,AL ;不在该行,键值加4,13.1 键盘及其接口,DEC DL JNZ SCAN ;进行下次扫描 JMP DONE FCOL: RCR AL,1 ;AL带进位右移 JNC DONE ;进位为0是该键, ;且BL中为键值 INC BL ;找下一列,键值加1 JMP FCOL NKEY_P: MOV BL,0FFH
12、DONE: RET,13.1 键盘及其接口,13.1 键盘及其接口,三、行列反转法识别按键,1、电路,(1)判断是否有键按下 所有行输出低电平,然后输入全部列值;若读入的列值全是1,则说明没有键按下,否则说明有键按下。 (2)行列输出、输入反转操作 改变行列的输入/输出方式,行线为输入,列线为输出。将上面读入的列值从列线输出,然后再从行线读入行值。 (3)行列值合并识别按下的键 行值和列值组合起来的16位二进制数,形成了按键的识别码。通过查表操作,将识别码在表中的位置转换为键值。,13.1 键盘及其接口,2、按键识别,(4)行列反转法识别按键程序 用行列反转法对图13-2所示的键盘编程识别按键
13、。设有键按下时16 个按键的键值从左到右、从上到下,分别为0,1,2,3,4,5,6,0FH,无键按下返回0FFH,返回值在BL中,假定8255A的端口地址分别为60H63H。 子程序如下:,13.1 键盘及其接口,KEY: MOV AL,82H OUT 63H,AL ;A口输出,B口输入 MOV AL,0 OUT 60H,AL ;A口输出全扫描字0 IN AL,61H ;读取B口 AND AL,0FH ;屏蔽掉高4位 CMP AL,0FH JZ NKEY_P ;若低4位全为1,返回FFH CALL DELAY ;调用延时程序,去抖,13.1 键盘及其接口,MOV AL,0 ;确认是否抖动 O
14、UT 60H,AL ;A口输出全扫描字0 IN AL,61H ;读取B口 AND AL,0FH ;屏蔽掉高4位 CMP AL,0FH JZ NKEY_P ;若低4位全为1则为抖动 MOV BL,AL ;保存列 MOV AL,90H OUT 63H,AL ;使8255的A口输入,B口输出,13.1 键盘及其接口,MOV AL,BL OUT 61H,AL ;将列置从B口输出 IN AL,60H ;读取行值 AND AL,0FH MOV AH,AL ;行值存AH MOV AL,BL ;列值存AL LEA SI,TABLE ;取键码表首地址 MOV BL,0 ;键值初值送0 MOV CX,16,13.
15、1 键盘及其接口,LOOP1: CMP AX,SI JZ DONE ;找到,返回键值 INC SI INC SI INC BL LOOP LOOP1 ;进行下一次查找 NKEY_P: MOV BL,0FFH DONE: RET,13.1 键盘及其接口,;行列反转法键码表 TABLE: DW 0E0EH,0E0DH, 0E0BH, 0E07H DW 0D0EH,0D0DH, 0D0BH, 0D07H DW 0B0EH,0B0DH, 0B0BH, 0B07H DW 070EH,070DH, 070BH, 0707H,13.1 键盘及其接口,显示器是PC机最常用的输出设备,可用来显示字符、图形、图像
16、,它可以作为计算机内部信息的输出设备,又可以与键盘配合作为输入设备。 现在多数计算机主要采用液晶显示器(LCD),但在一些简单或专用的微机系统中,往往只需要显示数字,一般使用简单的数码管(LED)来构成系统的显示设备。,13.2 显示器及其接口,13.2.1 液晶显示器及其接口,一、液晶显示器 液晶显示器(Liquid Crystal Display,LCD)的成像原理与CRT 显示器完全不同。LCD 显示器不是用体积较大的显像管进行成像,而是利用液晶的物理特性成像。 液晶的物理特性是:通电时导通,排列变得有秩序,使光线容易通过;不通电时,排列混乱,阻止光线通过。利用此原理,可制成液晶显示器。,液晶显示器的主要参数如下: (1)可视角度 可视角越大越好。 (2)亮度 目前国内的TFT液晶显示器亮度都在200 cd/m2以上,亮度低则感觉暗。 (3)响应时间 响应时间反映了液晶显示器各像素点对输入信号反应的速度,响应时间越小越好。 (4)显示色数,13.2 显示器及其接口,二、显示