实验4矩阵键盘的设计与应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4■矩阵键盘的设计与应用 实验四矩阵键盘的设计与应用 在单片机及智能仪器应用中,键盘是人机交互的又一个重要的部分。 在单片机应用系统中为了控制系统的工作状态,以及向系统屮输入数据, 键盘是必不可少的输入设备,它由若干个按键组成。单片机应用系统中所 配备的键盘,通常是非编码键盘一一即:键盘中的按键及键值由单片机中 的键盘扫描程序来识别和解释。由此看来在一个单片机应用系统中其键盘 扫描程序段是肯定存在的。因此,我们有必要将单片机中键盘的设计与键 值的解释作为一种单片机应用的技能来加以训练。本实验我们主耍讨论键 盘的工作原理、组成键盘的硬件电路设计以及按键识别和键值解释的程序 设计。 第一部分教学要求 一、 目的要求 了解键盘的工作原理。 掌握简单键盘的设计方法和键盘扫描程序的设计方法。 利用51系列单片机的P1 口进行简单键盘设计及键盘扫描程序设 计训练。 键盘及键盘扫描程序的排(查)错训练。 二、 预备知识 在电子电路中按键的状态是以开关量形式表示的(闭合与断开), 具体到单片机电路中按键的状态即以TTL电平(5V?3V表示逻辑“:L”,2V 0V表示逻辑“0”)來表示,即逻辑“1”与逻辑“0”分别表示按键的两种 状态。 单片机逻辑电平的输入形式: 图2 51系列单片机的I/O指令 1)直接对单片机引脚的位操作指令: JB bit, rel JNB bit, rel 2 )对单片机扩展I/O 口地输入指令: MOV DPTR, #addrl6 MOVX A, @DPTR 键盘组成原理 独立的按键电路 图3 按键断开时,由于上拉电路的存在读入按键的状态为逻辑“1”。按键 闭合时,由于按键的另一端接地,此时,读入按键的状态为逻辑“0”。由 独立按键组成的键盘系统,每一个按键都要占用一位I/O接口位。 例:若某应用系统有4个按键,4个按键通过8031的P1.0、Pl.l P1.2 及P1.3接入,设计如下: 图4 特点:电路及键盘解释程序简单。由于每个按键都要占用一位I/O接 口位。若键盘的按键全部为独立按键,则该键盘中按键的数量通常少于6 个。 键盘矩阵 由于由独立按键组成的键盘系统每一个按键都要占用一位I/O接口位, 而对于单片机系统而言,每一位|/0接口位都是非常宝贵的资源。这对于 应用系统屮有较多数量按键的系统而言,采用由独立按键组成的键盘系统 显然是不可収的。为了节省宝贵的I/O接口位可采用键盘矩阵方法,将所 有的按键组织成一个有X行Y列的矩阵,按照坐标的原理在矩阵中的每一 个按键都有一个不同的坐标值(编码),我们可根据不同的坐标值来识别 每一个按键。下面以一个4X4的键盘(实验平台实际电路)來具体说明键 盘矩阵工作原理: 图5 将A键至P键按图5的方式组织成一个4X4的矩阵,其中4根“行” 线分别接入8031的P1.0-P1.3, 4根“列”线,则分别接入8031的P1.4^P1.7 并同时通过4个上拉电阻接5V电源。当键盘中无任何键按下吋,读入8031 的P1.4-P1.7的编码应为“1111”(4个上拉电阻的状态)。为了使键盘中的 按键具有各自不同的编码,可使8031的P1.0-P1.3依次输出逻辑“0”,即 只输出“0111”(P1.0输出逻辑“0” , P1.1-P1.3均输出逻辑“1”)、“1011”、 1101和“1110”四组编码。当有按键被按下时,按键所在的“行”线 与“列”线便会连通,此时若“行”线输出逻辑“0”,则8031读入“列” 线的编码便会是一个非全1码。 例如图5中的P1.0^P1.3输出为u0111v(P1.0输出逻辑“0”, P1.1^P1.3 均输出逻辑“1”),此时若A键被按下,则8031读入8031的P1.4-P1.7的 编码应为“ 1110^ ( P1.4-P1.6为逻辑“T, B、C、D键未按下。P1.7为逻 辑“0”,A键被按下)。根据同样的原则,A键至P键的编码见下表: 表1 矩阵式键盘就是根据这些不同的编码來识别不同的按键的。 特点:利用较少的I/O接口位,获得较多按键数(8位I/O接口位,16 个按键)。而且,键盘矩阵越大所节省的I/O接口位就越多。电路及键盘解 释程序较独立按键的键盘复杂。 a)按键状态变化过程 由于按键是一个机械器件,在进行按键操作时由于按键的机械特性, 按键在闭合与断开的瞬间都存在一个抖动期,抖动期的长短与按键质量有 关,一般为5~20mso 图6 图6中tl、t2为抖动期,t2为按键被按下的时间。目前51单片机处 理与判断事件的速度为us级,而按键的抖动期是ms级的。显然若不加以 处理,这个抖动期对按键操作的识别是有影响的,具体反映是:实际为单 次按键操作,而识别为多次按键操作,俗称“连击”。处理方法是在按键 操作进入抖动期后,先让51单片机延

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档