网站大量收购闲置独家精品文档,联系QQ:2885784924

第5章 键盘接口.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 按键盘分类 按键是一种常开型按钮开关。常态时,按键的两个触点处于断开状态,键按下时它们才闭合。非编码键盘可以分为独立连接式和行列式(矩阵式)两类。 1.2 键盘消抖动 目前,键盘上的按键大部分都是机械式的。机械触点在闭合及断开的瞬间,由于弹性作用的影响,均有抖动过程,从而使电压信号也出现抖动。 如图所示。 通常去抖动影响的措施有硬、软件两种: 在硬件上采取的措施是:在键输出端加RS触发器或单稳态电路构成去抖动电路; 在软件上采取的措施是:在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平。若仍保持闭合状态电平,则确认为该键处于闭合状态,从而消除抖动影响。 2 独立按键结构 独立式按键中,每个按键占用一根I/O口线,每个按键电路相对独立I/0口通过按键与地相连,I/O口内有上拉电阻。 2.3 独立按键盘实例1 2.3.1 基本要求 用89C51的P1口作为独立式键盘接口,如下图所示,8个按键分别为K0~K7,P2口连接8个发光二极管,编写程序将K0~K7开关状态对应到发光二极管上。 2.3.2 设计分析 键盘是为键输入操作而设置的,每个按键都应对应一个键操作内容。键处理程序要检测有无按键按下,并找出哪个键按下,以便使程序转入该键的操作处理程序。   因为P1口有上拉电阻,当作为按键输入时,可以不接上拉电阻。当没有按键闭合时,P1口各位均为“1”;当有按键闭合时,相应的位为“0”。 把P1口的这种状态送到P2口连接的发光二极管,当无按键闭合时,发光二极管亮;有按键闭合时,对应的二极管暗。 2.3.3 程序清单 2.4.2 设计分析 在程序中读入P1口状态,再分别判断P1口各位状态,如果某位为“1”,说明该位连接的按键未按下,继续判断下一位;若为“0”,则该键按下,转去执行相应的程序。 3.1 矩阵键盘简介 为了减少键盘与单片机接口时所占用I/O口的数目,在按键数较多时,通常都将键盘排列成行列矩阵形式,按键设置在行列的交点上。 用2×2的行、列结构可构成4个键的键盘;4×4的行、列结构可构成16个键的键盘。如图1为4×4行、列键盘。 按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。 当键盘无按键闭合时,行、列线之间是断开的,所有行线输入为高电平状态;当键盘上某个按键闭合时,对应的行线和列线短路,若把列线初始化为“0”,则通过判断行线输入值是否为全“1”时即可知有无键按下。 3.2 矩阵键盘原理 单片机应用系统中,扫描键盘只是CPU的工作任务之一。在实际工作中,既要做到及时响应键盘,又不过多占用CPU的工作时间,设计者要根据CPU的忙闲情况,选择键盘的工作方式。 键盘的工作方式一般有编码扫描方式和中断扫描方式,下面介绍编码扫描方式。 如上图的4×4行/列键盘,P1口的P1.4~P1.7作为列线,P1.0~P1.3作为行线。在键盘扫描程序中应完成下述功能。 ● 首先判断键盘上有无键按下 方法是:由列线送出全O,即P1.4~Pl.7被置为“0”,再把行线P1.0~P1.3的电平状态读入累加器A中。如果P1.0~P1.3全为“1”则无键按下;若不全为“1”,则有键按下。判断有无键按下程序如下: ● 扫描键盘,可以得到被按下键的键号 (1)首先判断哪个键被按下。先使一条列线为“0”,如果这条列线上有键闭合,则相交的那条行线输入为低电平;否则,各条行线输入均为高电平。 P1.4~P1.7依次*输出0,列扫描字为: (2)闭合键编号处理 键盘上的每个键都有一个键编号。在许多场合,为了使用方便常采用依次排列键编号的方法。4×4行/列键盘的16个键编号如图1所示,第0行与第0列相交按键编号为“0”。 当行线中有状态输入为“0”时,闭合键找到。根据此时零电平所在的行首键号和扫描列的列号得出闭合键的键编号。 若P1口状态为,则第1行第1列有键闭合;若第1行首键编号为4,列号为“1”,则闭合键编号为: 闭合键编号 = 行首键编号 + 列号 = 4+l = 5。 (3)去除键的机械抖动 在判断有键按下后,软件延时一段时间(5 ms~12 ms),如果仍有键按下,则认为有一个稳定的键按下,否则按键抖动处理。 3.3 4*4矩阵键盘识别技术 3.3.1 基本要求 用AT89C51的并行口P1接4×4矩阵键盘,以P3.0~P3.3作输入线,以P3.4~P3.7作输出线;在数码管上显示每个按键的“0~F”序号。 3.3.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档