书签 分享 收藏 举报 版权申诉 / 21
上传文档赚钱

类型第六讲独立按键及矩阵键盘控制LED灯课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2263475
  • 上传时间:2022-03-27
  • 格式:PPT
  • 页数:21
  • 大小:355KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第六讲独立按键及矩阵键盘控制LED灯课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第六 独立 按键 矩阵 键盘 控制 LED 课件
    资源描述:

    1、 非编码键盘非编码键盘按组成结构又可分为按组成结构又可分为独立式键盘独立式键盘和和矩阵式键盘矩阵式键盘。独立式键盘的工作过程与矩阵式键盘独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单,。类似,无论是硬件结构还是软件设计都比较简单,。 通常,键盘有通常,键盘有编码编码和和非编码非编码两种。编码键盘通两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为选通脉冲可作为CPU的中断请求信号。这种键盘使的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被用方便,所需程序简单,但硬件电路复杂,常

    2、不被单片机采用。单片机采用。 S1 S1S4S4S3S3S2S2 P1.4 P1.4 P1.5 P1.5 P1.6 P1.6 P1.7 P1.7 89S52 89S52+5V+5V图图8.1 独立式键盘接口独立式键盘接口特点:特点:每个按键占用一条每个按键占用一条I/OI/O线,当按键数量较多时,线,当按键数量较多时,I/OI/O口利用率不高,但程序编制简口利用率不高,但程序编制简单。适用于所需按键较少的场单。适用于所需按键较少的场合。合。特点:特点:电路连接复杂,但提电路连接复杂,但提高了高了I/OI/O口利用率,软件编程口利用率,软件编程较复杂。适用于需使用大量较复杂。适用于需使用大量按键

    3、的场合。按键的场合。 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V图图8.2 矩阵式键盘接口矩阵式键盘接口K99K10AK15FP10P11P12P13P14P15P16P17EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P26

    4、27P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189S52P10P11P12P13P14P15P16P17K00K11K22K33K55K66K77K88K44K11BK12CK13DK14E 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V图图8.2 矩阵式键盘接口矩阵式键盘接口键盘控制流程键盘控制流程 单片机对矩阵单片机对矩阵式键盘接口处理的式键盘接口处理的一般过程如图一般过程如图8.3所所示。示。键扫描键扫描消抖消抖求键码求键码等待释放等待释

    5、放键扫描键扫描消除抖动消除抖动有键按下?有键按下?键扫描键扫描确有键按下?确有键按下?求键值求键值按键处理按键处理键释放?键释放?Y YY YY YN NN N等待键释放等待键释放N N开始开始返回返回按键处理按键处理图图8.3 键盘处理流程框图键盘处理流程框图1. 键扫描键扫描 键扫描就是要判断有无键按下,当扫描到有键键扫描就是要判断有无键按下,当扫描到有键按下时再进行下一步处理,否则退出键盘处理程序。按下时再进行下一步处理,否则退出键盘处理程序。独立式键盘扫描只需读取独立式键盘扫描只需读取IO口状态口状态,而矩阵式键盘而矩阵式键盘描通常有两种实现方法:描通常有两种实现方法:逐行扫描法逐行扫

    6、描法和线反转法。和线反转法。 (1) 逐行扫描法。依次从第一至最末行线上发逐行扫描法。依次从第一至最末行线上发出低电平信号出低电平信号, 如果该行线所连接的键没有按下如果该行线所连接的键没有按下的话的话, 则列线所接的端口得到的是全则列线所接的端口得到的是全“1”信号信号, 如如果有键按下的话果有键按下的话, 则得到非全则得到非全“1”信号。信号。 89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V01111 1 1 110111 1 1 011011 1 1 111101 1 1 1设第2行第4列键按下行线输出 列线输入0 1 1 11 1 1 11 0 1 1

    7、1 1 1 01 1 0 11 1 1 11 1 1 01 1 1 1 (2 2)线反转法。)线反转法。 线反转法也是识别闭合键的一种常用方法线反转法也是识别闭合键的一种常用方法, , 该该法比行扫描速度快法比行扫描速度快, , 但在硬件上要求行线与列线外但在硬件上要求行线与列线外接上拉电阻。接上拉电阻。 先将行线作为输出线先将行线作为输出线, , 列线作为输入线列线作为输入线, , 行线行线输出全输出全“0 0”信号信号, , 读入列线的值读入列线的值, , 那么在闭合键所那么在闭合键所在的列线上的值必为在的列线上的值必为0 0;然后从列线输出全;然后从列线输出全“0 0”信信号,再读取行线

    8、的输入值,闭合键所在的行线值必号,再读取行线的输入值,闭合键所在的行线值必为为 0 0。这样。这样, ,当一个键被按下时当一个键被按下时, , 必定可读到一对必定可读到一对唯一的行列值。再由这一对行列值可以求出闭合键唯一的行列值。再由这一对行列值可以求出闭合键所在的位置。所在的位置。 00001 1 1 00 0 0 01011 89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V设第2行第4列键按下列值:1110行值:1011 由于按键按下时的机械动作,在按键被按下或松由于按键按下时的机械动作,在按键被按下或松开的瞬间,其输出电压会产生波动,称为键的抖动开的瞬间,

    9、其输出电压会产生波动,称为键的抖动。键按下键按下前沿前沿抖动抖动后沿后沿抖动抖动 2.消抖消抖 为确保每按一次键单片机只进行一次处理,使为确保每按一次键单片机只进行一次处理,使键盘可靠地工作,必须消除按键抖动。消抖方法有键盘可靠地工作,必须消除按键抖动。消抖方法有硬件硬件消抖消抖和和软件软件延时两种。延时两种。 图图8.5 键闭合及断开时的抖动键闭合及断开时的抖动+5V& & &Q QQ Q (1 1)硬件消抖法:)硬件消抖法:就是在键盘中附加去抖动电就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性。右路,从根上消除抖动产生的可能性。右图所示电路图所示电路实际上是由实际上是由R-SR-S

    10、触发器构成的单脉冲电路。当按钮触发器构成的单脉冲电路。当按钮开关按下时开关按下时Q Q端输出低电平,当开关松开时端输出低电平,当开关松开时Q Q端恢复端恢复高电平,即输出一个负脉冲,以此消除抖动。高电平,即输出一个负脉冲,以此消除抖动。图图8.6 硬件去抖动电路硬件去抖动电路 (2 2)软件消抖法:键按下的时间与操作者的按)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为时间与按键的机械特性有关,一般为5 510ms10ms不等。不等。软件消抖法即是采用延时(一般延时软件消抖法即是采用延

    11、时(一般延时101020ms20ms)的)的方法,以避开按键的抖动,即在按键已稳定地闭合方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。或断开时才读出其状态。 100ms100ms10ms10ms10ms10ms键抖动时间键抖动时间 图图8.7 软件消抖法软件消抖法延时区间示意图延时区间示意图3. 计算键码计算键码 键码是每个按键的标识。被按键确定下来之后,键码是每个按键的标识。被按键确定下来之后,接下来的工作是计算闭合键的键码,然后才能根据接下来的工作是计算闭合键的键码,然后才能根据键码进行对应的操作。键码进行对应的操作。 为编程方便,键码通常都是以键的排列顺序安为编程方便

    12、,键码通常都是以键的排列顺序安排,按照从左到右、从上向下的顺序编排。键码可排,按照从左到右、从上向下的顺序编排。键码可根据行号列号以查表求得,也可通过计算得到。我根据行号列号以查表求得,也可通过计算得到。我们将结合实例加以介绍。们将结合实例加以介绍。 4.等待释放等待释放 等待释放是为了保证键的一次闭合仅进行一次处等待释放是为了保证键的一次闭合仅进行一次处理。求得键码后,然后通过不断进行键扫描,如有理。求得键码后,然后通过不断进行键扫描,如有键按下,则继续扫描,否则认为键已释放。键按下,则继续扫描,否则认为键已释放。 5.按键处理按键处理 根据系统功能要求,利用单片机控制完成特定操作。根据系统

    13、功能要求,利用单片机控制完成特定操作。 键盘接口的控制方式键盘接口的控制方式 在单片机的运行过程中,何时进行键盘扫描和在单片机的运行过程中,何时进行键盘扫描和处理,可有下列三种情况:处理,可有下列三种情况:1.1.查询方式:单片机通过调用键盘扫描子程序,查查询方式:单片机通过调用键盘扫描子程序,查询有无键按下。询有无键按下。2.2.定时扫描方式:每隔一定时间执行一次键盘扫描定时扫描方式:每隔一定时间执行一次键盘扫描子程序。子程序。3.3.中断方式:每当有键闭合时才向中断方式:每当有键闭合时才向CPUCPU发出中断请求,发出中断请求,中断服务时进行键盘扫描和处理。中断服务时进行键盘扫描和处理。i

    14、f语句语句if语句是语句是C51中的一个基本条件选择语句,它通常中的一个基本条件选择语句,它通常有三种格式:有三种格式:(1)if (表达式)(表达式) 语句;语句;(2)if (表达式)(表达式) 语句语句1; else 语句语句2;(3)if (表达式(表达式1) 语句语句1;else if (表达式(表达式2) (语句(语句2;);)else if (表达式(表达式3) (语句(语句3;);)else if (表达式(表达式n-1) (语句(语句n-1;);)else 语句语句n【例例】 if语句的用法。语句的用法。(1)if (x!=y) printf(“x=%d,y=%dn”,x,y

    15、);执行上面语句时,如果执行上面语句时,如果x不等于不等于y,则输出,则输出x的值和的值和y的值。的值。(2)if (xy) max=x;else max=y; 执行上面语句时,如执行上面语句时,如x大于大于y成立,则把成立,则把x送给最大值变送给最大值变量量max,如,如x大于大于y不成立,则把不成立,则把y送给最大值变量送给最大值变量max。使。使max变量得到变量得到x、y中的大数。中的大数。(3)if (score=90) printf(“Your result is an An”);else if (score=80) printf(“Your result is an Bn”);e

    16、lse if (score=70) printf(“Your result is an Cn”);else if (score=60) printf(“Your result is an Dn”);else printf(“Your result is an En”); 执行上面语句后,能够根据分数执行上面语句后,能够根据分数score分别打出分别打出A、B、C、D、E五个等级。五个等级。switch/case语句语句 if语句通过嵌套可以实现多分支结构,但结构复杂。语句通过嵌套可以实现多分支结构,但结构复杂。switch是是C51中提供的专门处理多分支结构的多分支中提供的专门处理多分支结构的

    17、多分支选择语句。它的格式如下:选择语句。它的格式如下:switch (表达式)(表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;说明如下:说明如下:(1)switch后面括号内的表达式,可以是整型或字符型表后面括号内的表达式,可以是整型或字符型表达式。达式。(2)当该表达式的值与某一当该表达式的值与某一“case”后面的常量表达式的值后面的常量表达式的值相等时,就执行该相等时,就执行该“case”后面的语句,然后遇到后面的语句,然

    18、后遇到break语句语句退出退出switch语句。若表达式的值与所有语句。若表达式的值与所有case后的常量表达式后的常量表达式的值都不相同,则执行的值都不相同,则执行default后面的语句,然后退出后面的语句,然后退出switch结构。结构。(3)每一个每一个case常量表达式的值必须不同否则会出现自相常量表达式的值必须不同否则会出现自相矛盾的现象。矛盾的现象。(4)case语句和语句和default语句的出现次序对执行过程没有影语句的出现次序对执行过程没有影响。响。(5)每个每个case语句后面可以有语句后面可以有“break”,也可以没有。有,也可以没有。有break语句,执行到语句,

    19、执行到break则退出则退出switch结构,若没有,则会结构,若没有,则会顺次执行后面的语句,直到遇到顺次执行后面的语句,直到遇到break或结束。或结束。【例例】 switch/case语句的用法。语句的用法。 对学生成绩划分为对学生成绩划分为AD,对应不同的百分制,对应不同的百分制分数,要求根据不同的等级打印出它的对应百分数。分数,要求根据不同的等级打印出它的对应百分数。可以通过下面的可以通过下面的switch/case语句实现。语句实现。switch(grade)case A;printf(”90100n”););break;case B;printf(”8090n”););break;case C;printf(”7080n”););break;case D;printf(”6070n”););break;case E;printf(”60n”););break;default;printf(”error”n)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第六讲独立按键及矩阵键盘控制LED灯课件.ppt
    链接地址:https://www.163wenku.com/p-2263475.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库