- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第9章外部设备接口
人机交互设备种类输入设备键盘鼠标触摸屏扫描仪…输出设备显示器(CRT、LED、液晶显示)打印机绘图仪…
9.1键盘接口
由8个开关构成的键盘(也称为线性键盘)01为了减少键盘的输入输出连线数,常用开关矩阵的方式来构造键盘,称为矩阵键盘02键盘的概念
只提供按下键的行列位置。由软件完成去抖动、防重键等功能。硬件简单,但占用CPU的时间。非编码键盘02提供按下键的ASCII码。具有去抖动、防重(串)键等功能。响应快,但硬件复杂。编码键盘01键盘的类型
按键开关的类型触点式开关机械式无触点式开关电容式开关利用电容值的变化霍尔效应式开关磁场变化,导致霍尔效应器件产生电压变化
按键开关的类型导电橡胶式键盘塑料薄膜式键盘
01消抖动02防串键03按键识别04键码生成键盘接口功能
抖动时间一般为5~20ms读取键状态时应避开抖动区间消抖动的方法加入硬件消抖动电路判断有键按下后,延时5~20ms,再读取键值1.消抖动
2.防重键
两种典型的按键识别方法行扫描法对键盘的各行依此输出扫描码,读入各对应的列值,确定按下键的位置行列倒换法(线反转法)从键盘的行输出扫描码,读入列值,再将该列值从列输出,读入行值,即可确定按下键的位置3.按键识别
4.键码生成
行扫描法端口A:40H端口B:41H控制口:43HPA(Out)PB(In)0001101有“0”?键按下延时110111110111110111101
行扫描法汇编程序(1) moval,82h;A口输出 out43h,al;B口输入begin:moval,00h out40h,al;00→A口wait:inal,41h;读B口 andal,0fh cmpal,0fh jzwait movcx,7fffh;有键按下lp0:looplp0;延时st:movbl,3;行数 movbh,4;列数 moval,0feh;扫描码 movcl,0fh movch,0ffh;键值-1l1:out40h,al rolal movah,al;保存下一扫描码 inal,41h andal,cl cmpal,cl;有无列线为0? jnzl2
addch,bh;指向末列键号01moval,ah;取新扫描码02decbl03jnzl104jmpbegin;重新扫描05l2:incch;本行首列键号06rcral07jcl208moval,ch;AL=键号09行扫描法汇编程序(2)
标准键盘适用于PC/XT机,83键键盘内置Intel8048单片机8位CPU、1k字节ROM、64字节RAM、8位定时/计数器、2个8位并口16行×8列矩阵键盘电容开关非编码键盘,向主机提供8位扫描码b7=0,表示接通的扫描码b7=1,表示断开的扫描码
键盘内置Intel8042/8742单片机适用于PC/AT、386+,84、101、102或104键16行×8列矩阵键盘扩展键盘与标准键盘的扫描码是不一样的,是互不兼容的。8位CPU、1k字节ROM、2个8位并口扩展键盘
PC机键盘接口电路PB6=1、PB7=0
No.3键盘电路正常工作时8048采用行列扫描法不断地扫描键盘矩阵当有键动作时,则在确定按键位置之后以串行数据形式发送给系统板键盘接口电路键按下时,发送该键的接通扫描码键松开时,发送该键的断开扫描码若一直按住某键,则连续发送该键的接通扫描码No.2No.1PC机键盘的工作过程
键位置和扫描码Esc01810-QAZSWPLM,03040510111E1F2C83848590919E123451112131617253031394450519FAC键位置接通扫描码断开扫描码键名称
移位寄存器每收到一个8位的扫描码后,发出IRQ1中断请求,CPU响应中断后,从8255A口读取扫描码,转换为ASCII码,放入键盘缓冲区。INT9H(硬件中服程序)INT16H(ROMBIOS)扫描码
文档评论(0)