矩阵键盘介绍与使用程序_第1页
矩阵键盘介绍与使用程序_第2页
矩阵键盘介绍与使用程序_第3页
矩阵键盘介绍与使用程序_第4页
矩阵键盘介绍与使用程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机外接键盘电路一、原理简介键盘接口电路是单片机系统设计格外重要的一环备。我们可以通过键盘输入数据或命令来实现简洁的人机通信。在设计键盘电路与程序前,我们需要了解键盘和组成键盘的按键的一些学问。按键的分类一般来说,按键依据构造原理可分为两类,一类是触点式开关按键,如机械式开关、导后者寿命长。目前,微机系统中最常见的是触点式开关按键〔如本学习板上所承受按键〕。按键依据接口原理又可分为编码键盘与非编码键盘两类由软件来实现键盘的识别。等保护电路,这种键盘使用便利,硬件开销大,一般的小型嵌入式应用系统较少承受,较多地应用于单片机系统中〔本学习板也承受非编码键盘〕。按键的输入原理换成为电气上的规律关系。也就是说,它能供给标准的TTL规律电平,以便与通用数字系用系统应完成该按键所设定的功能。因此,键信息输入是与软件构造亲热相关的过程。对无键按下则连续执行其他程序。按键的特点与去抖械抖动,然后其触点才稳定下来。其抖动过程如图1〔a〕所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms软件两方面予以考虑。一般来说,在键数较少时,可承受硬件去抖,而当键数较多时,承受软件去抖。〔本学习板承受软件去抖方式〕。软件去抖的流程图如图1〔b〕所示。1〔可调用5ms~10ms的延迟子程序〕,然后再次推断按键是否被按下,假设此时推断按键仍被按可以推断按键是否释放。二、电路详解2所示。22中可知独立式按键承受每个按键单独占用一根I/OI/O端口的电平是不一样的,因此可以依据不同端口电平的变化推断是否有按键按下以及是哪一个按键按下。从图2〔a〕中可以看出,按键和单片机引脚连接并加了上拉电阻,这样当没有按键按下的时候,I/O输入的电平是高电平,当有按键按下的时候,I/O输入的电平是低电平。虽然独立式按键电路配置敏捷,软件构造简洁,但每个按键必需占用一根I/O口线,因此,在按键较多时,I/O口线铺张较大。对于比较简单的系统或按键比较多的场合,可2〔b〕中所示的为4×4的矩阵式键盘,其他矩阵式键盘的设计方法类似。4×444根列线穿插构成,按键位于行列的穿插点上,这16的行线和列线导通2〔b〕VCC上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线在交点导通,此时,行线电平将由与此行线相连的列线电平打算。这是识别按键是否按下的关键。然而,矩阵键盘中的每条行线与4条列线相交必需将行线、列线信号协作起来作适当处理,才能确定闭合键的位置。值得留意的是本文介绍的矩阵键盘74HC2174HC21的输出端接0〔P32管脚P00~P03为盘响应时间,在系统实时性要求较高的状况下格外有用。本文的全部源程序见“://ele169/“ele169。三、程序设计本文设计实例关键程序如下。独立按键程序……#definekeyioP0〔1〕#definekey1P0_3〔2〕……keyio|=0X0F;〔3〕if〔key1==0〕〔4〕{delay_nms〔20〕;〔5〕if〔key1==0〕〔6〕{while〔key1==0〕;〔7〕return1;〔8〕}}程序说明:定义按键管脚。定义按键连接收脚。将按键连接收脚输出高电平,从而接收输入。假设此时管脚所连接按键被按下。延时一段时间,去抖作业。假设此时按键仍旧被按下,此时按键有效。等待按键抬起,死循环,假设按键始终按下则始终等待。返回键值。矩阵键盘程序……#defineKEYIOP0〔1〕……codeksp[4]={0x7F,0xBF,0xDF,0xEF};〔2〕unsignedcharkeypad_scan〔〕〔3〕{charkey,i;〔4〕KEYIO=0xF0;〔5〕if〔KEYIO!=0xF0〕〔6〕{for〔i=0;i<=3;i++〕〔7〕{delaykey〔10〕;〔8〕KEYIO=ksp[i];〔9〕delaykey〔10〕;〔10〕if〔KEYIO!=ksp[i]〕//ox〔11〕{delaykey〔10〕;〔12〕key=KEYIO;〔13〕while〔KEYIO==key〕;〔14〕return〔key〕;〔15〕}}}}程序说明:定义矩阵键盘管脚。将扫描时用到的管脚四种输出电平状态定义成一个数组。//确定第几列数按键扫描程序。key,i。让键盘管脚的高四位输出高电平,低四位为低电平,为扫描按键预备。假设此时管脚状态电平发生变化。将之前定义的数组中的值赐予管脚,开头逐次扫描。延时一段时间,去抖。输出扫描按键的电平。再延时一段时间。假设此时按键管脚电平照旧不是输出的默认电平,表示有键按下。延时一段时间,让电平稳定。读取当前按键管脚电平,即键值。等待按键抬起,死循环,假设按键始终按下则始终等待。返回键值。四、调试要点与试验现象接好硬件,通过冷启动方式将程序所生成的。hex文件下载到单片机运行后,翻开串口调试助手软件,设置好波特率9600,复位单片机,然后按下板上的4×4按键中的任意一〔见图3〕,可以观看到在接收窗口有按键的数据显示。3按键通过串口调试助手显示界面不仅直观便利而且不增加其他本钱。五、总结善的键盘掌握程序应具备以下功能:检测有无按键按下,并实行硬件或软件措施,消退键盘按键机械触点抖动的影响。有牢靠的规律处理方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论