89C51单片机课件 第七章_键盘.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程目标、课程重点及难点 课程目标: 了解微机控制系统键盘的构建及工作原理;认识微机控制系统的键盘设计,掌握单片机键盘的应用。 课程重点及难点 独立式键盘及其接口电路;矩阵式键盘及其接口电路;按键扫描驱动程序的设计。 7.1 键盘及其接口电路 一、键盘的基本概念 键盘是一组开关的集合,是最常用的输入设备之一。组成键盘的按键有触点式和非触点式两种。 触点式按键通常是机械触点开关,它利用了机械触点的通、断特性完成信息的输入。 非触点式按钮主要指利用电子器件的通、断来完成信息的输入,如工作在开关状态的三极管、电力电子器件IGBT等。 在单片机控制系统中常用触点式开关来组成键盘。 7.1 键盘及其接口电路 在实际键盘接口设计时,必须考虑以下一些问题: 按键开关的消抖问题 重键 连击 (1)按键开关的抖动问题 由于按键的结构为机械弹性开关,因此按键从最初按下到接触稳定需数毫秒的弹跳时间,这样的抖动时间一般在5~10ms,松开键时也有同样的问题。 7.1 键盘及其接口电路 键盘消抖动的方法有两种。 硬件消抖动:利用双稳态电 路、单稳态电路及RC积分电 路去抖。 软件消抖动:利用延时子程 序来完成,既在第一次检测 到按下按键后,经过一定抖 动时间后再次检测按键是否 按下,从而消除抖动的影响。 7.1 键盘及其接口电路 (2)重键:是指无意同时或先后按下两个以上的键。 (3)连击:是指一次按键产生多次击键的结果。 通常在单片机应用系统中,对于重键或连击现象,也多利用软件来进行控制,如采取单键按下有效、多个键按下无效,并且在某个键被按下时,CPU等待此键释放的过程中不响应其它按键等策略来解决。 7.1 键盘及其接口电路 二、键盘的结构方式 键盘有两种基本类型:编码键盘和非编码键盘。 编码键盘采用硬件线路来产生键码,每按下一个键,键盘 能自动生成按键代码。 非编码键盘是靠软件来识别键盘上的闭合键,并由软件编 成来确定按键代码。非编码键盘具有结构简单、价格便宜 等特点,因此在单片机系统中普遍采用非编码键盘。 非编码键盘按结构方式划分,有独立式键盘和矩阵式键盘 两大类。 7.1 键盘及其接口电路 1、独立式键盘及其接口 独立式键盘,是一种最简单的键盘构成方法,它将每个按键的一端接到单片机的I/O口,另一端接地,如图所示。 主要特点是各个键相互独立,每一个按键对应一根输入口线。键盘软件结构简单,但当键盘数目较多时,需占用大量的输入口线,所以在使用上受到了很大的限制。 7.1 键盘及其接口电路 7.1 键盘及其接口电路 2、矩阵式键盘及其接口 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,如图所示。这样,一个端口(如P1口)就可以构成4*4=16个按键,比独立式键盘多出了一倍,而且线数越多,区别越明显,如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一个键(9键)。 7.1 键盘及其接口电路 (1)矩阵式键盘的按键识别方法 逐行扫描法: 扫描法是一种逐行或逐列判断是否有键按下的方法。扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。利用行扫描法判断矩阵键盘中被按下的键时主要经过以下步骤: 第一步,识别有无键按下 让所有的行线均置为0电平,即P1.4~P1.7均输出低电平,读取列线P1.0~P1.3的值,若P1.0~P1.3均为高电平,则表示无键按下;若不全为高电平,则表示有键按下。 7.1 键盘及其接口电路 第二步,若有键被按下,识别出具体的按键 方法是采用逐行扫描的办法,即逐行置零电平,检查各列线的电平。如首先置第一行为0,其余行为1,也就是让P1.4~P1.7输出0111,读取列线P1.0~P1.3的值;若不全为1,则根据读取的列值即可判断出按键在第一行第几列上,从而识别出按键的位置;若全为1,表示第一行无键按下,那么就再置第二行为0,其余行为1,即P1.4~P1.7输出1011,再读取列值,根据列值结果,判断第二行上有无键被按下,依此类推,识别出按键的键值。 7.1 键盘及其接口电路 扫描法在判断键值时,是采用的逐行扫描法,当被按下的键在最后一行时,需经多次扫描才能获得被按下键所在的行、列值。 反线法: 反线法的特点是无论被按下的键处于第一行或最后一行,均只需经过两步便能获得此按键所在的行列值。 7.1 键盘及其接口电路 其操作步骤如下: 第一步:将行线编程为输入线,列线编程为输出线,并使输出线

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档