微机原理接口技术第5章.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 键盘接口 1.去抖动 去抖动的方法通常有两种:(1)软件延时法:当发现有键按下或释放时,软件延时一段时间再检测。(2)硬件消抖动:在键开关与计算机接口之间加一个消抖动电路,如双稳电路、单稳电路(输出脉宽要大于抖动时间)、RC滤波电路等。由于硬件去抖动增加了电路的复杂性,每个按键都要一个去抖动电路,所以这种方法只适用于键数目较少的场合。在键数目较多时,大多采用软件延时法去抖动。 2.防串键 串键是指两个或两个以上按键同时按下,或一个键按下后没释放又按下另一个键时产生的问题。 ⑴双键锁定。 ⑵N键连锁。 3.按键识别和键码产生 ⑴行扫描法。 ⑵行列交换法。 5.1.2 非编码键盘接口 常用的非编码键盘有线性键盘和矩阵键盘两种。 线性键盘是指其中每一个按键均有一条输入线送到计算机的接口。若有N个键盘,则需要N条输入线。 矩阵键盘是指按键按行(i)和列(j)排列,这种方式可排列i×j个按键,但送往计算机的输入线仅为n=i+j条。 (1)扫描法 扫描法通过依次查询键盘矩阵的枚一行线,然后读取列数据确定按键是否在本行,具体方法如下:首先使PA0=0然后读取PB端口,若PB=0FFH则表示行0没有按键按下,再使PA1=0再读取PB判断行2有无按键按下,依次扫描全部的行线。当PB读取的数据不为0FFH,则表示该扫描行有按键按下,则再确定相应的按键序号。 (2)行列交换法 行列交换法也称行列行反转法,在识别闭合按键时,要将行线接一个并口,工作于输出方式,将列线也接一个并口,工作于输入方式,程序使CPU通过输出端口向各行线上全部送低电平,然后读入列线的值。如果某按键按下,则必定会使某一列线值为0。然后,程序再对两个并行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,并将刚才读到的列线值从列线所接的并口输出,再读取行线上的输入值,在闭合键所在的行线上的值必定为0。这样,当一个按键被按下时,必定可以读取一对唯一的行值和列值。 5.1.3 PC机键盘接口 1.键盘的工作原理 ① 组合键:当按下Ctrl、Shift、Alt等控制键时,INT 09H中断将其扫描码送入DOS参数区40:17H单元,在用户按下其他键时与40:17H单元内容组合为一个组合键。如处理Ctrl+C键时,INT 09H中断首先将Ctrl键(扫描码为1DH)存入40:17H单元,随后再读取后续按键,若按键为C,则解释为Ctrl+C组合键。 ② 乒乓键:PC机设置有乒乓键(如NumLock、CapsLock等)计数位,通过计数位的0、1来区分按键状态。若开机加电后未按过NumLock键或按偶数次,作为小键盘的光标控制/编辑方式。在这种方式下若按下“7/Home”键时将解释为“Home”编辑键,送入键盘缓冲区的键代码为00,47H两字节;若开机加电后按过奇数次NumLock键,则小键盘为数字方式,在这种方式下若按下“7/Home”键时将解释为“7”数字,送入键盘缓冲区的键代码为37H,47H两字节。 ③ 换档键:若DOS参数区40:17H单元的数据为02(ShiftL按下)或01(ShiftR按下),BIOS程序将输入键解释为对应换档键。 2.扫描码和ASCII码 当在键盘上“按下”或“放开”一个键时,如键盘中断允许,就会在计算机上产生类型为09H的硬件中断,CPU将控制转入BIOS键盘中断处理程 序,以处理用户键盘操 作情况。键盘处理程序 从8255并行接口芯片的 PA(I/O端口地址60H)读 取一个字节的数据,如 所读取数据D7=1,表示 按键已放开(称为断码), 如D7=0,表示键按下(通 码),而数据的D6~D0则 为按键的扫描码。 3.键盘接口电路 PC键盘接口电路如图5.2所示,它由串并转换芯片74LS322和一些触发器、门电路构成,数据通过8255的PA读入计算机。 在ROM BIOS中,对键盘初始化和键盘中断的程序为: MOV AL,99H OUT 63H,AL …… MOV AL,0C8H OUT 61H,AL MOV AL,48H OUT 61H,AL 在IRQ1键盘中断服务程序中对扫描码进行读取和对键盘接口进行控制的程序为: KEY_IN: IN AL,60H ;读入键盘数据端口 TES

文档评论(0)

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

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

1亿VIP精品文档

相关文档