第五章 键盘及其接口技术.ppt_第1页
第五章 键盘及其接口技术.ppt_第2页
第五章 键盘及其接口技术.ppt_第3页
第五章 键盘及其接口技术.ppt_第4页
第五章 键盘及其接口技术.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章键盘及其接口技术,本章要点1。密钥的抖动干扰及解决方法。独立键盘结构原理和接口电路。矩阵键盘结构原理和线扫描方法。编码器和编码键盘接口电路。本章的主要内容,简介5.1键盘输入电路5.2未编码独立键盘5.3未编码矩阵键盘5.4编码键盘本章中除了问题、简介、用于在计算机控制系统中与生产过程进行信息传输的过程输入和输出设备外,还有用于与操作员进行信息交换的常规输入和输出设备。键盘是最常用的输入设备之一,功能上可分为数字键和功能键两种,通过输入数据和命令,查询和控制系统的运行状态,实现简单的人机对话。键盘接口电路可以分为两种类型:编码键盘和未编码键盘。编码键盘使用硬件编码电路启用键编码,每次按下

2、下一个键时键盘都可以自动生成键代码。编码键盘主要有BCD代码键盘、ASCII代码键盘等类型。未编码键盘仅提供由软件生成和标识的键的通过或阻止状态。简介、编码键盘使用方便,键盘代码生成速度快,占用的CPU时间少,但对键击的检测和抖动干扰消除是作为硬件电路执行的,因此硬件电路复杂且成本高。非编码键盘硬件电路简单、成本低,但使用CPU的时间更长。5.1键盘输入电路、主要知识点:5.1.1键盘的抖动干扰消除5.1.2抖动干扰、5.1.1键盘的抖动干扰、机械触点的灵活振动导致按下键时不能立即稳定打开,反弹也不能一次完全中断,因此关闭或分离键的瞬间发生了一系列抖动,这是图5-1所示的按下键时产生的波、链接

3、动画、5.1.2抖动干扰消除、关键点抖动可能导致按下一键时发生的开关状态被CPU多次读取。为了使CPU正确读取关键状态,必须消除关键点关闭或断开时发生的前线或后方抖动,消除抖动的方法有硬件方法和软件方法。1.硬件方法硬件方法是设计滤波延迟电路或单稳态电路等硬件电路,以避免密钥的抖动时间。图5-2是由R2和c组成的过滤器延迟抖动电路,设置在键s和CPU数据线Di之间。如果不按s键,电容的两端电压为0,即非门输入Vi为0,输出Vo为1。如果按s键,则c的两端电压不能急剧变化,因此充电电压Vi在充电时间内以及未达到非公开电压的情况下,直到充电电压Vi大于门的开放电压,且非公开输出Vo等于0(图5-2

4、滤波延迟防抖动电路)、R1、R2和c值的大小,在电路设计中避免键抖动影响的链接动画。类似地,如果s键分离,即使发生抖动,c的放电延迟过程也消除了键抖动的影响。V1是滤波电路中具有前沿抖动和抖动的波形,V2是应用滤波电路后消除抖动的波形。2.软件方法软件方法在第一次检测按键时运行此延迟子程序,以消除按键的前缘抖动消失后,开发大于检测相应按键状态的100毫秒的延迟程序,以确保按键保持关闭状态级别,否则,使按键保持未按状态,从而消除抖动的影响。同样,在检测到键释放后,消除抖动后,处理相应的键击可能需要一些时间。、5.2未编码的独立键盘、默认知识点:5.2.1查找方法接口电路5.2.2中断方法接口电路

5、、5.2.1查找方法接口电路,现在以三个按钮为例。图5-3是独立键盘查找方法接口电路。密钥S0、S1、S2通过连接到CPU数据线D0、D1、D2的牵引电阻关闭密钥Si后,数据线将直接接地,CPU读取为di=0。断开密钥Si后,数据线通过牵引电阻连接到正电源,CPU读取为Di=1。此接口电路可以检测查询中是否按下了键,如果键关闭,则消除抖动,确认键号,然后转到相应的键处理。流程流如图5-4所示。使用查询方法时,请确保CPU以小于按两次键的间隔的间隔主动扫描键。否则,密钥可能没有响应。显然,此方法使用更多的CPU时间。图5-3独立键盘结构原理,图5-4独立键盘查询方法流程图,链接动画,5.2.2中

6、断接口电路,图5-5是表示自动/手动切换、烤箱温度参数显示和烤箱温度参数打印功能的炉膛温度控制系统的功能键分配图。基于上述查找方式接口电路,将键S0、S1、S2的数据输出线连接到非图和逆变之后8255A的门控输入信号PC4,8255A的PC3发送中断请求信号通过中断控制器8259A连接到CPU的中断请求针,这是典型的中断方式键盘接口电路。图5-5独立键盘中断接口电路、链接动画在为8255A初始化CPU时(8255A上的a端口在方法1输入上工作),CPU运行主程序。按S0键切换到自动控制状态,此时连接的I/O端口线显示为较低的级别,空位输出为较高的级别,逆变器切换到较低的级别,8255A端口a的

7、门控输入信号PC4有效,PA0PA2针接收三个键的“0”或“1”状态,存档,然后返回到较高的级别,TSIT时间,8255A端口a的门控输入信号PC4有效如果不按键,则所有相应的I/O端口线都是高级别,不会生成中断信号,CPU将继续运行主程序。操作过程、键盘中断服务子例程与查询类似,保护现场后,为了消除抖动,首先调用100mS延迟子例程,然后确定键号,转移到键功能处理程序,最后进行现场恢复,返回中断。显然,查询顺序表示键的队列优先级。使用中断方法时,CPU不会在不按键的情况下使用CPU时间,因此CPU可能会花费更多的时间执行其他进程。上述分析说明:独立键盘接口电路简单、灵活,软件结构简单,但每个

8、键必须占用I/O端口线路,如果键数较多,则需要使用更多I/O端口线路。例如,64个键输入需要64条线,不仅需要复杂的连接,还需要较长的键输入查询时间。因此,该键盘电路仅适用于按键率低的小型控制系统或智能控制设备。5.3非代码矩阵键盘、主要知识点:5.3.1矩阵键盘结构配置5.3.2矩阵键盘结构编程、5.3.1矩阵键盘结构、矩阵键盘(也称为矩阵键盘)由I/O端口线组成的行、行矩阵结构、在每行相交的地方,两条线不是直接连接,而是通过一个键跳线连接。使用此矩阵结构,只需m行输出线和n列输入线就可以连接MN个键。键值可通过键盘扫描仪的行输出和列输入来确认,并通过键盘处理器识别。键盘和CPU接口可以使用

9、并行端口8255A、闩锁或缓冲类。图5-6显示了88非编码矩阵键盘的接口电路。线路输出电路由线路扫描闭锁器74LS273、逆变电源和线路x0至x7连接组成,热输入电路由三状态缓冲器74LS244和热线路y0至y7以及向上拉电阻组成。x,y直线的每个交点处的十进制01,02、跳接具有64的关键点值的关键点。此键盘的接口地址为PORT1。图5-6矩阵键盘接口电路、链接动画、在键盘上未按任何键的情况下,所有行和列线分开,彼此独立,输入线y0 y7列是高水平;键连接带有键的行线和列线,因此列线的级别取决于包含键的行线。在此基础上,产生了行扫描法和行反转法两种识别方法。行扫描方法(也称为逐行零扫描查询)

10、使用逐行输出行扫描信号“0”,依次将每行作为低级别,然后单独读取列数据,以确定是否按下了此(低级别)行上的键。读取行级时,在行级(行级)与行的交点处按键,然后解码键值以计算键值,并转到键的功能子程序入口地址。如果列行都是行级别,则此(行级别)行没有按键。然后执行下一行的“0”行扫描和列读取,直到所有8行都确认,如果不按键,则返回。要快速确定键盘是否有按键,可以先将所有行行设置为较低的级别,然后检测行的级别状态,如果所有行行都是较高的级别,则无需按键盘上的键即可立即返回。如果一列中的级别较低,则将控制键盘上的键,然后逐行扫描,如上所示。通过5.3.2矩阵键盘的编程,在计算机控制系统中,键盘扫描只

11、是CPU操作的一部分。因此,设计键盘扫描仪时,必须保证键盘操作的实时性,避免使用过多的CPU,并充分考虑消除抖动干扰。通常,您可以选择编程扫描、定时扫描或中断扫描。以下是扫描仪的创建和准备。线路输出线路扫描信号“0”,即CPU将线路x0至x7分为线路0,线路01H(X0),02H(X1),04H(X2线路),08H(X3线路),10H(),为了消除键输入的抖动干扰,程序必须调用延迟100ms子例程来按键以识别键值。分别设置行值寄存器CL和列值寄存器DL,以查找十进制键值。由于在同一列的相邻行之间相距8,因此,每次扫描“0”行时,如果没有按下键,则应在行寄存器CL中添加08,然后执行“0”行扫描

12、。如果按下了键,则列值小于键值(不按08),因此第一行中的键按下时列值Y0(数据位d0)=0小于01键值,因此列值寄存器DL首先添加1,然后将读取的列值移回右侧,以检查是否存在与回车CF相同的0。如果没有按键,则继续按1,右移,判断,然后重复操作,直到按下键。最后,将行值与列值相加,然后修改DAA,即可获得所需的十进制键。(计算过程中,所有数字都是压缩的BCD代码),(0,8,16,24,32,40,48,56),(1,2,3,4,5,6,7,8),例如,在第一行“0”中扫描X0行。无关键点,CL=00 08=08,扫掠下一行X1。在不按键的情况下添加08,扫描行DAA修正,CL=08 08=

13、16,X2,然后查找列值,对列值寄存器加1,循环读取的列值。由于按住Y1列中的键,因此必须位移两次才能移动零值,因此DL=02,将行值寄存器添加到列值寄存器中的值,更正DAA,使AL=CL DL=16 02=18,即键值为18。如图5-7所示,键盘扫描和按键处理程序流程图包括、图5-7矩阵键盘扫描和按键处理程序流程图、链接动画、编程、MOVAL、0MOVCL、al;行值寄存器CL和列值寄存器DL qing0 MOVDL,ALMOVAL,0FFHOUTPORT1,al;使所有行成为低级INAL、port 1。列键CMPAL,0FFH阅读。JZDONE验证是否有按键。按任意键CALLDELAY返回

14、到。按键延迟100mA副程式MOVAL、0FFHOUTPORT1、ALINAL、PORT1;重复以上扫描,再次检查是否有按键,key:CMP al,0 ffhjzdone要返回到MOVAH,08,请不要按键。行号08计数器AHMOVBL,01H;行扫描初始值(X0行)为BLKEY1:MOVAL、BLOUTPORT1、al;输出将行为创建为低级INAL,port 1。列值CMPAL,0FFH阅读;阅读。确保按Jnzkey 2键存在。身高2头发,克劳德代尔,08;如果在没有键的情况下按下,则行值寄存器将包含08DAAMOVCL、AL、RCLBL、1;低级输出代码“DECAH”;寻找的下一步行动;8

15、行都扫描过了吗jnzkey 1;如果尚未完成KEY1旋转,则下一行DONE:IRET;继续搜索。完成后,key 2:in CDL;返回。列值寄存器1(与键值对应)RCRAL,1;列值循环1位置JC键2;验证列是否为1,如果为1,则不按键,查看下一个MOVAL,cl列。值为0时,按键以获得列值ADDAL、DLDAA,键movburf,al;键值传送缓冲装置准备JMPKEYADR;功能键的入口地址ENDKEY找到。对于键盘处理程序,获取键值不是目的。如果关键点是数字键,则必须将关键点直接发送到显示缓冲区以显示关键点值。如果密钥是功能键,则必须查找密钥子程序的入口地址,然后改为运行该密钥的功能命令。

16、主要内容,编码键盘计算机键盘原理计算机鼠标原理,5.4编码键盘,主要知识点:5.4.1二进制编码器5.4.2编码键盘接口电路,图5-8二进制编码键盘接口电路,5.4.1二进制编码器,具有优先级的二进制8位编码器CD4532B的真迹表5-。如果表示芯片优先级的输入允许端Ei为“0”,则无论编码器的信号输入I7I0状态如何,编码器输出均为“0”,芯片处于屏蔽状态,Eo为“0”,下一级芯片被屏蔽,操作状态端GS为“0”。如果输入允许端Ei为“1”,编码器的信号输入I7至I0均为“0”,则编码输出也为“0”,但是输出允许端Eo为“1”。也就是说,该编码器输入部不按键,而使低优先级相邻编码器保持编码状态。作业状态端GS全部为“0”。在此芯片的8个输入端中,I0的优先级最高,I7的优先级最低。按多个键将选择高优先级,并自动屏蔽每个低优先级输入和下一级芯片(Eo端点设置为“0”)。例如,如果Ei为“1”,I0结尾为“1”,则其馀输入为“1”或“0”,编码输出为二进制000,GS结尾为“1”,Eo结尾为“0”。如果I0为“0”,I1为“1”,则编码输出为二进制001。这样,输入部的密钥值编号与二进制编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论