欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    片机教程-键盘程序设计.ppt

    • 资源ID:54715557       资源大小:216KB        全文页数:17页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    片机教程-键盘程序设计.ppt

    第23章 键盘程序设计一个好的单片机应用系统,通常要有优秀的人机交互接口。键盘是与单片机进行人机交互的最基本的途径,其以按键的形式来设置控制功能或输入数据。按键的输入状态本质上是一个开关量。人们通过键盘输入一些命令或数据,以达到控制单片机运行的目的。常用的键盘有独立式按键键盘和矩阵式按键键盘两种。独立式按键接口简单,适合于简单而且少的开关量的输入。矩阵式按键键盘则适合于输入参数较多、功能复杂的系统,可以最大限度地使用单片机的引脚资源。本章主要介绍了独立式按键和矩阵式按键键盘输入的相关知识及其编程接口。23.1 键盘接口概述键盘就是在人机交互系统中用来输入控制信号或数据的接口。其中,人机交互系统是一个完整的单片机系统的组成部分,用来使单片机识别不同的输入信号,并做出不同的响应。对于一个优秀的人机键盘接口设计,需要占用合理的单片机资源,并能够及时、准确地响应用户的输入信息。在进行单片机键盘接口设计的时候,需要注意如下几个方面。23.1.1 按键编码按键的编码也就是每个按键在单片机程序设计时对应的键值。每个按键对应一个唯一的键值。当按键按下的时候,键盘将向单片机发送该按键对应的键值,单片机程序对不同的键值做出不同的响应。在硬件上,键盘按键使用单片机的I/O线与CPU进行通信。其中单片机I/O线接收的是高低逻辑电平信号,因此,键盘输入的不同键值可以表示为I/O线上不同的高低电平的组合。键盘编码设计的主要任务就是选择合理的键盘结构,为每个按键分配不同的I/O输入信号,以供单片机识别并响应。23.1.2 输入的可靠性输入的可靠性即让单片机程序能够正确无误地响应按键操作。由于目前的键盘按键均为机械式接触点,由于触点的机械弹性效应,在按键闭合和断开的时候,接触会出现抖动,这样可能导致误响应或者多次响应等。键盘的可靠输入是键盘接口设计的关键点。对于键盘的可靠输入需要在程序中做如下两方面的处理:去抖动。由于机械特性的不同,按键的抖动时间长短不等,大致在5ms10ms之间。这样可以在硬件或者软件中进行响应的处理来消除抖动的影响。s5s。当按键按下之后,相应的按键编码以高低电平的方式输入到单片机的I/O口。因为单片机的执行速度很快,有可能导致单片机程序对该按键操作响应多次。23.1.3 程序检测及响应单片机对键盘输入的检测可以采用查询和中断两种方式。查询方式需要在程序中反复查询每一个按键的状态,因此会占用大量的CPU处理时间,这种方法适用于一般用途的程序。中断法是当有按键按下的时候向CPU申请中断,平时不会占用CPU处理时间,适用于一些对实时性要求较高的复杂单片机系统。程序中,对键盘的处理应该包括如下几个方面:检测按键是否按下;如果检测到按键被按下,执行延时程序,用来实现软件去抖动,消除抖动的影响;扫描按键,准确判断按键的键值;转向相应的程序处理子程序。23.2 独立式按键及其编程接口键盘有很多种类型,对于简单的系统,如果按键个数比较少、单片机资源比较宽裕,则可以使用独立式按键结构,这样可以简化程序设计。23.2.1 独立式按键结构独立式按键采用每个按键单独占有一个I/O口的结构,这是最简单的键盘输入设计。当按下和释放按键时,输入到I/O端口的电平是不一样的,单片机程序根据不同端口电平的变化判断是否有按键按下以及是哪一个按键被按下,并执行相应的程序段。1独立式按键结构23.2.2 独立式按键程序设计独立式按键的程序设计比较简单,一般采用查询方式即可。在程序设计时,可以采用汇编语言,也可以采用C51语言,下面分别给出采用这两种语言的程序范例。如果采用汇编语言进行程序设计,则一般使用条件判断跳转指令(例如JB等),来根据按键的状态使程序转向相应的代码段。23.3 44矩阵式键盘及其编程接口对于比较复杂的系统或者按键比较多的场合,可用采用矩阵式键盘。矩阵式键盘有很多种,这里以应用最为广泛的44矩阵式键盘为例来介绍,其他矩阵式键盘的设计方法类似。44矩阵式键盘的结构,如图23.2所示。其由4根行线和4根列线交叉构成,按键位于行列的交叉点上,这样便构成16个按键。交叉点的行列线是不连接的,当按键按下的时候,此交叉点处的行线和列线导通。在电路结构上,一般将行(X0X3)和列(Y0Y3)分别接到单片机的一个8位的并行端口上,程序中分别对行线和列线进行不同的操作便可以确定按键的状态。这样,只占用一个8位的并口便可以实现16个按键,因此矩阵式键盘对端口的利用率很高。23.3.1 扫描法及其程序设计扫描法是在程序中反复扫描查询键盘接口,根据端口的输入情况,调用不同的按键处理子程序。由于在执行按键处理子程序的时候,单片机不能再次响应按键请求。因此,单片机的按键处理子程序应该尽可能少占用CPU的运行时间,并且尽可能将键盘扫描安排在程序空余的时候,以满足实时准确响应按键请求的目的。1扫描法的原理2扫描法程序设计23.3.2 线反转法及其程序设计线反转法从本质上来说也是一种扫描法。在实际使用过程中,扫描法需要逐列扫描查询,根据键的位置不同,每次查询的次数不一样。如果按下的键位于最后一列时,则要经过多次扫描查询才能获得该按键的位置。而采用线反转法,无论被按得按键处于第一列还是最后一列,都只需要经过两步便可以获得此按键的位置。因此,线反转法更加方便。1线反转法的原理2线反转法程序设计23.3.3 中断法及其程序设计中断法是将键盘扫描程序放置在单片机的中断服务例程中的方法。对于扫描法和线反转法,其都是利用扫描查询的方式来获得按键信息,这样CPU总是要不断的扫描键盘,占用很多CPU处理时间。而中断法则只有当按键按下的时候,才触发中断,进而扫描键值。因此,采用中断法进行键盘设计可以提高CPU的工作效率,特别适合于复杂的系统或者对实时性要求比较高的场合。1中断法的原理2中断法程序设计23.4 矩阵式键盘的接口实例前面介绍了矩阵式键盘的结构,以及单片机系统中经常采用的扫描法、线反转法和中断法。实际的单片机系统中,采用线反转法比较多。这里给出一个完整电路实例,其中采用线反转法来实现单片机对矩阵式键盘的识别。单片机根据键值的大小,使LED闪烁相应的次数。23.4.1 电路图系统完整的电路图,如图所示。这里的单片机选用ATMEL公司的新型单片机AT89S52,也可以采用其他兼容的51系列单片机,如AT89S51、AT89C51、8051等。23.4.2 程序设计本例的程序功能是采用线反转法来扫描查询44矩阵式键盘,如果检测到按键按下,则闪烁发光二极管,否则将熄灭发光二极管。1创建项目2程序代码23.4.3 程序仿真在程序设计完成后,采用软件仿真可以模拟程序运行,从而及时发现问题。Keil Vision3集成开发环境中没有矩阵式键盘的仿真模型,但在前面介绍过,44矩阵式键盘的按键都对应一个行号和列号。当按键按下时,对应的两次线反转扫描,其中的行号或列号会输出低电平。为此,模拟矩阵式键盘的某个按键按下,则只需在列扫描的时候,将对应的行号输入低电平;在行扫描的时候,将对应的列号输入低电平即可。23.5 小结本章详细讲述了键盘设计需要注意的一些问题,然后介绍了独立式按键和矩阵式键盘的工作方式。其中着重讲了矩阵式键盘的扫描法、线反转法和中断法的工作原理以及程序设计。最后通过一个完整电路,来实现了矩阵式键盘的扫描查询在程序中的应用。在实例中,还通过仿真分析了整个程序流程的正确性。矩阵式键盘应用十分广泛,熟练掌握它的使用是学习单片机的应用系统的基础。

    注意事项

    本文(片机教程-键盘程序设计.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开