按键输入课件.ppt

上传人(卖家):三亚风情 文档编号:3326244 上传时间:2022-08-20 格式:PPT 页数:30 大小:909KB
下载 相关 举报
按键输入课件.ppt_第1页
第1页 / 共30页
按键输入课件.ppt_第2页
第2页 / 共30页
按键输入课件.ppt_第3页
第3页 / 共30页
按键输入课件.ppt_第4页
第4页 / 共30页
按键输入课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、主讲人:施保华主讲人:施保华AVR单片机C语言程序设计三峡大学电子设计及创新实验室(三峡大学电子设计及创新实验室(32学时)学时)第1页,共30页。在单片机嵌入式系统中,按键和键盘是一个基本和常用的接口,它是构成人机对话通道的一种常用的方式。按键和键盘能实现向嵌入式系统输入数据、传输命令等功能,是人工干预、设置和控制系统运行的主要手段。我们先讨论简单的单个按键的输入。2第2页,共30页。3第3页,共30页。图9-2 是简单按键输入接口硬件连接电路图,图中单片机的三个I/O 口PC7、PC6、PC5作为输入口(输入方式),分别与K3、K2、K1 三个按键连接。其中K2 是标准的连接方式,当没有按

2、下K2 时,PC6 的输入为高电平,按下K2 输入为低电平。PC6 引脚上的电平值反映了按键的状态。按键K1 是一种经济的接法,它充分利用了AVR 单片机I/O 口的内部上拉特点。在K1的连接中,除了把PC5 定义为输入方式时(DDRC.5=0),同时设置PC5 口的上拉电阻有效(PORTC.5=1),这样当K1 处在断开状态时,PC5 引脚在内部上拉电阻的作用下为稳定的高电平(如果上拉电阻无效,则PC5 处在高阻输入态,PC5 的输入易受到干扰,不稳定),按下K1 输入为低电平4第4页,共30页。与K2 连接方式比较,K1 连接电路中省掉了一个外部上拉电阻,而在K2的连接方法中,由于外部使用

3、了上拉电阻,所以只要设置PC6 口为输入方式即可,该口内部的上拉电阻有效与否则不必考虑了。而对于K3 的连接方式,我们不提倡使用,因当K3 按下闭合时,PC7 口直接与Vcc 接通了,有可能会造成大的短路电流流过PC7 引脚,从而把端口烧毁。因此电阻R2 不仅起到上拉的作用,还有限流的作用,通常在5K-50K 之间。5第5页,共30页。根据按键连接电路可知,按键状态的确认就是判别按键是否闭合,反映在输入口的电平就是和按键相连的I/O 引脚呈现出高电平或低电平。如果输入高电平表示断开的话,那么低电平则表示按键闭合,所以简单的讲,在程序中通过检测引脚电平的高低,便可确认按键是否按下。但对于实际的按

4、键确认并不是象上面描述的那么简单。首先要考虑的是按键消抖的问题。通常,按键的开关为机械弹性触点开关,它是利用机械触点接触和分离实现电路的通、断。6第6页,共30页。由于机械触点的弹性作用,加上人们按键时的力度、方向的不同,按键开关从按下到接触稳定要经过数毫秒的弹跳抖动,既在按下的几十毫秒时间里会连续产生多个脉冲。释放按键时,电路也不会一下断开,同样会产生抖动(图9-3)。这两次抖动的时间分别为10-20ms 左右,而按键的稳定闭合期通常大于0.3-0.5 秒。因此,为了确保MCU 对一次按键动作只确认一次,在确认按键是否闭合时,必须要进行消抖处理。否则,由于MCU 软件执行的速度很快,非常可能

5、将抖动产生的多个脉冲误认为多次的按键。7第7页,共30页。消除按键的抖动既可采用硬件方法,也可采用软件的方法。使用硬件消抖的方式,需要在按键连接的硬件设计上增加硬件消抖电路,如采用R-S 触发器或RC 积分电路等。采用硬件消抖方式增加了系统的成本,而利用软件方式消抖则是比较经济的做法,但增加了软件设计的复杂性。软件方式消抖的基本原理是在软件中对按键进行两次测试确认,既在第一次检测到按键按下后,间隔15ms 左右再次检测该按键是否按下,只有在两次都测到按键按下时才最终确认有键按下,从而消除了抖动的影响8第8页,共30页。在按键接口软件中,除了要考虑按键消抖外,一般还要判别按键的释放,只有检测到按

6、键释放以后,才能确定为一次完整的按键动作完成。,在程序中一旦检测到按键输入口为低电平时(图9-2),便采用(调用)软件延时程序延时15ms。然后再次检测按键输入口,如果还是低电平则表示按键按下,转入执行按键处理程序。如果第二次检测按键输入口为高电平,则放弃本次按键的检测,从头开始一次新的按键检测过程。9第9页,共30页。10.2 10.2 键盘接口原理键盘接口原理1.1.键盘输入的特点键盘输入的特点键盘:一组按键开关的集合键盘:一组按键开关的集合。行线电压信号通过键盘开关机械触点的断开、闭合,行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图输出波形如图10-610-6。10第10页,

7、共30页。2.2.按键的确认按键的确认 检测检测行线行线电平电平 高电平:高电平:断开;断开;低电平低电平:闭合,:闭合,常用常用软件来消除按键抖动。软件来消除按键抖动。基本思想基本思想:检测到有键按下,键对应的行线为低,软:检测到有键按下,键对应的行线为低,软件延时件延时10ms10ms后,行线如仍为低,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。3.3.如何消除按键的抖动如何消除按键的抖动 当键松开时当键松开时,行线变高,软件延时,行线变高,软件延时10ms10ms后,行线仍为后,行线仍为高,说明按键已松开。高,说明按键已松开。采取以上措施,采取以上措施,躲开了两个抖动期躲开

8、了两个抖动期t1t1和和t3t3的影响的影响。11第11页,共30页。10.2.2 10.2.2 键盘接口的工作原理键盘接口的工作原理独立式独立式按键接口和按键接口和行列式行列式键盘接口。键盘接口。1.1.独立式键盘接口独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过各键相互独立,每个按键各接一根输入线,通过检检测输入线的电平状态测输入线的电平状态可很容易判断那个键被按下。可很容易判断那个键被按下。此种接口此种接口适于键数较少适于键数较少或或操作速度较高操作速度较高的场合。的场合。图图10-710-7(a a)为)为中断方式的独立式中断方式的独立式键盘工作电路键盘工作电路图图10-7

9、10-7(b b)为)为查询方式的独立式查询方式的独立式键盘工作电路键盘工作电路。12第12页,共30页。13第13页,共30页。2.行列式行列式(矩阵式矩阵式)键盘接口键盘接口 用于按键数目较多的场合,用于按键数目较多的场合,由由行线和列线组成行线和列线组成,按键位于行、列的交叉点上。如图按键位于行、列的交叉点上。如图10-1010-10所示。所示。按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘,行列式键盘与独立式键盘相比,要相比,要节省很多的节省很多的I/OI/O口线口线。14第14页,共30页。(1)行列式键盘工作原理)行列式键盘工作原理 无键按下,该行线为高电平,无键按下

10、,该行线为高电平,当有键按下时,行线电平当有键按下时,行线电平由列线的电平来决定由列线的电平来决定。由于行、列线为多键共用,各按键彼此将相互发由于行、列线为多键共用,各按键彼此将相互发生影响,必须生影响,必须将行、列线信号配合起来并作适当的处将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置理,才能确定闭合键的位置。(2 2)按键的识别方法)按键的识别方法a.a.扫描法扫描法 图图10-1010-10(b b)中)中3 3号键被按下为例,来说明此键号键被按下为例,来说明此键时如何被识别出来的。时如何被识别出来的。15第15页,共30页。识别键盘有无键被按下的方法,分两步进行:识别键盘有

11、无键被按下的方法,分两步进行:第第1 1步:步:识别键盘有无键按下;识别键盘有无键按下;第第2 2步:步:如有键被按下,识别出具体的按键。如有键被按下,识别出具体的按键。把所有列线置把所有列线置0 0,检查各行线电平是否有变化,如有变化,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。说明有键按下,如无变化,则无键按下。上述方法称为上述方法称为扫描法扫描法,即,即先把某一列置低电平,先把某一列置低电平,其余各列为高电平,检查各行线电平的变化其余各列为高电平,检查各行线电平的变化,如果某,如果某行线电平为低,可确定行线电平为低,可确定此行列交叉点此行列交叉点处的按键被按处

12、的按键被按下。下。b.b.线反转法线反转法 只需两步便能获得此按键所在的行列值,线反转只需两步便能获得此按键所在的行列值,线反转法的原理如图法的原理如图10-1110-11。16第16页,共30页。17第17页,共30页。第第1 1步:步:列线输出为全低电平,则行线中电平由高变低列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。的所在行为按键所在行。第第2 2步:步:行线输出为全低电平,则列线中电平由高变低行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。所在列为按键所在列。结合上述两步,可确定按键所在行和列。结合上述两步,可确定按键所在行和列。(3 3)键盘的编码)键盘

13、的编码 根据实际需要灵活编码。根据实际需要灵活编码。10.2.3 10.2.3 键盘的工作方式键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输单片机在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。入,取决于键盘的工作方式。18第18页,共30页。原则:原则:即要保证能及时响应按键操作,又不要过多占即要保证能及时响应按键操作,又不要过多占用用CPUCPU的工作时间。的工作时间。通常,通常,键盘工作方式有键盘工作方式有3 3种种,即编程扫描、定时扫,即编程扫描、定时扫描和中断扫描。描和中断扫描。1.1.编程扫描方式编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序,

14、只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。扫描键盘。工作过程:工作过程:(1 1)在键盘扫描子程序中,先判断有无键按下。)在键盘扫描子程序中,先判断有无键按下。方法:方法:PAPA口口8 8位位输出输出全全0 0,读读PCPC口口低低4 4位状态,若位状态,若PC0PC0PC3PC3为全为全1 1,则说明键盘无键按下;若不全为,则说明键盘无键按下;若不全为1 1,则说明,则说明键盘可能有键按下。键盘可能有键按下。19第19页,共30页。(2 2)用软件来消除按键抖动的影响。如有键按下,则)用软件来消除按键抖动的影响。如有键按下,则进行下一步。进行下一步。(3 3)求按下键的键号。)求

15、按下键的键号。(4 4)等待按键释放后,再进行按键功能的处理操作。)等待按键释放后,再进行按键功能的处理操作。2.2.定时扫描工作方式定时扫描工作方式 利用单片机内的定时器,产生利用单片机内的定时器,产生10ms10ms的定时中断,对的定时中断,对键盘进行扫描。键盘进行扫描。3.3.中断工作方式中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序,如只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。无键按下,单片机将不理睬键盘。键盘所做的工作分为三个层次键盘所做的工作分为三个层次,如图,如图10-1310-13。20第20页,共30页。第第1 1层:层:单片机如何来监视键盘的输入。三种工作方单片机如何来监视键盘的输入。三种工作方 式:式:编程扫描编程扫描定时扫描定时扫描中断扫描。中断扫描。第第2 2层:层:确定具体按键的键号。体现在按键的识别方确定具体按键的键号。体现在按键的识别方 法上就是:法上就是:扫描法;扫描法;线反转法。线反转法。第第3 3层:层:执行键处理程序。执行键处理程序。21第21页,共30页。22第22页,共30页。23第23页,共30页。24第24页,共30页。25第25页,共30页。26第26页,共30页。27第27页,共30页。28第28页,共30页。29第29页,共30页。30第30页,共30页。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(按键输入课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|