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

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四 矩阵键盘的设计与应用在单片机及智能仪器应用中,键盘是人机交互的又一个重要的部分。在单片机应用系统中为了控制系统的工作状态,以及向系统中输入数据,键盘是必不可少的输入设备,它由若干个按键组成。单片机应用系统中所配备的键盘,通常是非编码键盘——即:键盘中的按键及键值由单片机中的键盘扫描程序来识别和解释。由此看来在一个单片机应用系统中其键盘扫描程序段是肯定存在的。因此,我们有必要将单片机中键盘的设计与键值的解释作为一种单片机应用的技能来加以训练。本实验我们主要讨论键盘的工作原理、组成键盘的硬件电路设计以及按键识别和键值解释的程序设计。第一部分 教学要求目的要求1.了解键盘的工作原理。2.掌握简单键盘的设计方法和键盘扫描程序的设计方法。3. 利用51系列单片机的P1口进行简单键盘设计及键盘扫描程序设计训练。4.键盘及键盘扫描程序的排(查)错训练。预备知识在电子电路中按键的状态是以开关量形式表示的(闭合与断开),具体到单片机电路中按键的状态即以TTL电平(5V~3V表示逻辑“1”,2V~0V表示逻辑“0”)来表示,即逻辑“1”与逻辑“0”分别表示按键的两种状态。单片机逻辑电平的输入形式:图251系列单片机的I/O指令直接对单片机引脚的位操作指令:JB bit, relJNB bit, rel对单片机扩展I/O口地输入指令:MOV DPTR, #addr16 MOVX A, @DPTR键盘组成原理独立的按键电路 图3按键断开时,由于上拉电路的存在读入按键的状态为逻辑“1”。按键闭合时,由于按键的另一端接地,此时,读入按键的状态为逻辑“0”。由独立按键组成的键盘系统,每一个按键都要占用一位I/O接口位。例:若某应用系统有4个按键,4个按键通过8031的P1.0、P1.1、P1.2及P1.3接入,设计如下: 图4特点:电路及键盘解释程序简单。由于每个按键都要占用一位I/O接口位。若键盘的按键全部为独立按键,则该键盘中按键的数量通常少于6个。键盘矩阵由于由独立按键组成的键盘系统每一个按键都要占用一位I/O接口位,而对于单片机系统而言,每一位I/O接口位都是非常宝贵的资源。这对于应用系统中有较多数量按键的系统而言,采用由独立按键组成的键盘系统显然是不可取的。为了节省宝贵的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输出为“0111”(P1.0输出逻辑“0”, P1.1~P1.3均输出逻辑“1”),此时若A键 被按下,则8031读入8031的P1.4~P1.7的编码应为“1110”( P1.4~P1.6为逻辑“1”,B、C、D键 未按下。P1.7为逻辑“0”,A键 被按下)。根据同样的原则,A键 至P键 的编码见下表:表1输入列输出行P1.7 P1.6 P1.5 P1.4 0 1 1 1P1.7 P1.6 P1.5 P1.4 1 0 1 1P1.7 P1.6 P1.5 P1.4 1 1 0 1P1.7 P1.6 P1.5 P1.4 1 1 1 0P1.3 P1.2 P1.1 P1.0 1 1 1 0A键B键C键D键P1.3 P1.2 P1.1 P1.0 1 1 0 1E键F键G键H键P1.3 P1.2 P1.1 P1.0 1 0 1 1I键J键K键L键P1.3 P1.2 P1.1 P1.0 0 1 1 1M键N键O键P键从表1中可以看出每一个按键都有自己的行(输出)列(输入)编码,矩阵式键盘就是根据这些不同的编码来识别不同的按键的。特点:利用较少的I/O接口位,获得较多按键数(8位I/O接口位,16个按键)。而且,键盘矩阵越大所节省的I/O接口位就越多。电路及键盘解释程序较独立按键的键盘

文档评论(0)

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

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

1亿VIP精品文档

相关文档