8 键盘接口技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按键输入原理
在单片机应用系统中,除了复位按键有专门的复位电路及专一的 复位功能外,其他按键都是以开关状态来设置控制功能或输入数据。 当所设置的功能键或数字键按下时,单片机系统应完成该按键所设定
的功能,按键信息输入是与软件结构密切相关的过程。
对于一个键盘或一组按键,单片机系统中总有一个接口电路与 CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是 哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执 行该键的功能程序,执行完后再返回主程序。
• 矩阵键盘的接口实例
• 实践与思考
矩阵式键盘的结构与工作原理
矩阵式键盘中,行、列线分别连接到 按键开关的两端,行线通过上拉电阻接到 +5V上。当无键按下时,行线处于高电平状 态;当有键按下时,行、列线将导通,此 时,行线电平将由与此行线相连的列线电 平决定。这一点是识别矩阵按键是否被按
下的关键。然而,矩阵键盘中的行线、列
这种电路每个按键需要
占用一根I/O线,在按
键数量较多时,输入口 浪费大且电路结构很烦
琐,因此这种键盘接口
电路只适用于按键较少 或要求较高操作速度的
场合。
简单键盘的接口电路与编程
下面以图 (a)为例进行编程。 (1)程序实现的功能 (2)程序采用的方法
(3)程序中用到的变量和常量的定义
(4)程序中调用的子程序 (5)程序清单 (6)程序分析与思考
第2章 键盘接口技术
1. 按键
2. 简单键盘接口
3. 矩阵式键盘接口 4. 可编程键盘接口
按键
键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件, 也就是说键盘是一组规则排列的开关。单片机使用的按键是一种常开型 的开关,平时按键的两个触点处于断开状态,按下键时它们才闭合。
1. 按键的分类
2. 按键输入原理 3. 按键开关的抖动问题
按键开关的抖动问题
单片机系统中应用的一般是由机械触点构成的按键。当机械触点 断开、闭合时,会有抖动,如下图所示。在触点抖动期间检测按键的 通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认
为是多次操作,这种情况是不允许出现的。
常用的去抖动的方法有两种:
1.硬件方法
2.软件方法
硬件方法
在硬件上可采用在键输出端加R-S触发器(双稳态触 发器)或单稳态触发器构成去抖动电路,如图所示 。
达a端时,因a = 0,b = 1,使Q = 1,双稳态电路状态发生翻转,输出Q
重新返回原状态。由此可见,键盘输出经双稳态电路之后,输出已变为规 范的矩形方波。
软件方法
软件方法其实很简单,就是在单片机获得P1.0口为低电平的信息
后,不是立即认定S已被按下,而是延时10ms或更长一些时间后再次 检测P1.0口,如果仍为低电平,说明S的确按下了,这实际上是避开 了按键按下时的抖动时间。而在检测到按键释放后(P1.0为高电平) 再延时5~10ms,消除后沿的抖动,然后再对键值处理。不过一般情
程序中用到的变量和常量的定义
UpDown
;上下行标志
StartEnd
LAMPCODE
;启动及停止标志
;存放流动的数据代码
程序中调用的子程序
KEY ;键盘程序
KEYPROC
LAMP DELAY
;键盘处理程序
;灯显示程序 ;延时程序,键盘处理中调用
程序分析与思考
这里介绍的键盘处理程序比较简单,实际上,键盘的 处理是很复杂的,但这种复杂并不来自于单片机的本身, 而是来自于操作者的习惯等问题,因此,在编写键盘处理 程序之前,最好先把它从逻辑上理清,然后用适当的算法
电路工作过程
电路工作过程
按键未按下时,a = 0,b = 1,输出Q = 1,按键按下时,因按键的机 械弹性作用的影响,使按键产生抖动,当开关没有稳定到达b端时,因与 非门2输出为0反馈到与非门1的输入端,封锁了与非门1,双稳态电路的状 态不会改变,输出保持为1,输出Q不会产生抖动的波形。当开关稳定到 达b端时,因a = 1,b = 0,使Q = 0,双稳态电路状态发生翻转。当释放 按键时,在开关未稳定到达a端时,因Q = 0,封锁了与非门2,双稳态电 路的状态不变,输出Q保持不变,消除了后沿的抖动波形。当开关稳定到
按键的分类
按键按照结构原理可分为两类: 1.触点式开关按键,如机械式开关、导电橡胶式开关等; 2.无触点开关按键,如电气式按键,磁感应按键等。.
前者造价低,后者寿命长。目前,单片机系统中最常见的是触点式开 关按键。
按键按照接口原理可分为:
编码键盘主要是用硬件来实现
1.编码键盘
2.非编码键盘两类,
对键的识别,非编码键盘主要是 由软件来实现键盘的定义与识别。
程序实现的功能
检测是否有键闭合,如有键闭合,则去除键 抖动,判断键号并转入相应的按键处理。
程序采用的方法
程序采用查询的方法,P1口接8个发光二极管,4个按键 分别接到P3.2 、P3.3、P3.4和P3.5,且定义如下。 P3.2:开始,按此键则灯开始流动(由上而下) P3.3:停止,按此键则停止流动,所有灯为暗 P3.4:上,按此键则灯由上向下流动 P3.5:下,按此键则灯由下向上流动
况下,通常不对按键释放的后沿进行处理,实践证明,也能满足一定
的要求。当然,在实际应用中,对按键的要求也是千差万别的,要根 据不同的需要来编制处理程序,但以上是消除按键抖动的原则。
简单键盘接口
• 简单键盘的工作原理
• 简单键盘的接口电路与编程 • 实践与思考
简单键盘的工作原理
如果系统只需几个按键,可直接采用I/O线构成单个按键电路,各个按 键之间相互独立,一根线上的按键状态不会影响其他输入线上的工作状态, 又称独立式键盘接口电路。
表示出来,最后再去写代码,这样,才能快速有效地写好
代码。
实践与思考
1. 设计一个简单3个按键的键盘来控制一组发光二极管,使 这组发光二极管可以以6种不同的花色循环点亮。
2. 改用单键实现题1所示功能。
矩阵式键盘接口
• 矩阵式键盘的结构与工作原理
• 矩阵式键盘按键的识别
• ห้องสมุดไป่ตู้盘的编码
• 键盘的工作方式
线和多个键相连,各按键按下与否均影响 该键所在行线和列线的电平,各按键间将 相互影响,因此,必须将行线、列线信号 配合起来作适当处理,才能确定闭合键的 位置。
相关文档
最新文档