情境五实际应用矩阵键盘_第1页
情境五实际应用矩阵键盘_第2页
情境五实际应用矩阵键盘_第3页
情境五实际应用矩阵键盘_第4页
情境五实际应用矩阵键盘_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

单片机学习领域情景6应用矩阵键盘请分组单步执行数码控制程序从每组中请一个同学回答数码控制程序中所用指令的作用通过程序执行过程进一步讲解子程序调用和堆栈的概念重点堆栈的操作过程单片机与键盘接口单片机与键盘接口按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。按键按照接口原理可分为编码键盘与非编码键盘两类。这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对按键的识别,硬件结构复杂;非编码键盘主要是由软件来实现按键的定义与识别,硬件结构简单,软件编程量大。这里将要介绍的独立式按键和矩阵式键盘都是非编码键盘。单片机与键盘接口分类:一、独立式按键

独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。单片机与键盘接口二、矩阵式按键

通常,矩阵式键盘的列线由单片机输出口控制,行线连接单片机的输入口。单片机与键盘接口按键的去抖机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来,抖动时间一般为510ms,在触点抖动期间检测按键的通与断状态,可能导致判断出错。键盘输入中要解决的问题:

一、按键的确认:

即判断按键是否闭合。通过检测电平的高低状态,就能确认是否有键按下。

二、按键抖动的消除

按键较多时,常采用软件方法消除抖动。即在第一次检测到有按键被按下时,执行一段延时12-15ms的子程序后,再确认该键电平是否仍保持闭合状态电平,如保持为闭合状态电平就可确认真正有键按下,从而消除抖动的影响。单片机与键盘接口按键的去抖

(a)检测按键(b)释放按键按键去抖流程图单片机与键盘接口矩阵式按键

键盘编程扫描法识别按键一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列位置。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键的键值保存,同时转去执行该闭合键的功能。开发板按键矩阵由4行4列组成4行:R1、R2、R3、R4,接P3.0、P3.1、P3.2、P3.3。4列:C1、C2、C3、C4,接P3.4、P3.5、P3.6、P3.7。按键的识别:识别按键的方法很多,最常见的方法是扫描法。由列线送入全“0”扫描字、行线读入行线状态来判断的。其方法是:给列线的所有I/O线均置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入不全为1。键盘中哪一个键按下是由列线逐列置低电平后,检查行输入状态。其方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下之键不在此列。如果不全为1,则所按下的键必在此列。而且是在与电平为“0”的行线相交点上的那个键。程序设计流程图如下:列线输出0,行线写1输入行线数据行线数据数据不全为“1”延时去抖列线输出0,行线写1输入行线数据行线数据数据不全为“1”转键处理程序判断是否有键按下程序设置列扫描次数首列号送R6DPTR指向列扫描码表查表求列扫描码输出列扫描码输入行线状态0行有键按下1行有键按下2行有键按下3行有键按下计算0行键值计算1行键值计算2行键值计算3

温馨提示

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

评论

0/150

提交评论