[工学]第8章 键盘输入.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第8章 键盘输入

第8章 键盘输入 第8章 键盘输入 键盘结构 键盘结构 使用键盘时必须解决的问题 键盘接口 独立式按键应用1 实例2 键控流水灯 独立式键盘接口扫描方式 矩阵式键盘接口—行反转法 矩阵式键盘接口—行反转法 矩阵式键盘接口—行动态扫描方法 矩阵式键盘接口—行动态扫描方法 矩阵式键盘接口—行动态扫描方法 矩阵式键盘接口—行动态扫描方法 矩阵式键盘举例 键盘的工作方式 【例8.4】 按照图示的电路,使用行反转扫描法,编写的键扫描程序。有键按下,扫描函数返回值为键值,若无键按下,返回值为0xff。要求每10ms定时检测一次按键,使用定时器中断实现定时。按键信息由printf输出到串口。 8.6 小结 按键虽然是个构造十分简单的电子设备器件,但是它的作用远远超过它的价值,它可以说电子设计不可缺少的一部分。本章通过应用实例分析了矩阵键盘的按键识别方法和按键去抖作用,通过学习本章的内容后,同学们可以参考本章的应用实例课下自己进行实战训练,熟悉键盘的设计方法。 uchar keyscan(void)/**扫描按键函数**/ { uchar readkey, rereadkey, x_temp, y_temp; KEY_PORT=0x0f; x_temp= KEY_PORT 0x0f; if (x_temp==0x0f) return(0xff); /*无按键,退出*/ KEY_PORT=0xf0; y_temp= KEY_PORT 0xf0; readkey = x_temp | y_temp; time(10); /*延时10ms后再测按键*/ KEY_PORT=0x0f; x_temp= KEY_PORT 0x0f; if (x_temp==0x0f) return(0xff); /*无按键,退出*/ KEY_PORT=0xf0; y_temp= KEY_PORT 0xf0; rereadkey= x_temp + y_temp; if (readkey == rereadkey) { return(~rereadkey); } return(0xff); } void main (void) { initUart(); /* 初始化串口 */ TMOD=0x10; /* 设置定时器1为工作方式1 */ TH1=-100008;TL1=-10000 % 256 //定时时间10ms TCON=0x40; /* 内部脉冲计数 */ IE=0x88; /*打开定时器中断*/ key_Value=0xff; do { if (key_Value!=0xff) { /*如果有按键*/ Key_process(); /*键值处理程序*/ key_Value=0xff; /*重置键值*/ } /* 可在此处插入其它任务处理函数 */ }while(TRUE); } * * 了解单片机与各种键盘输入的接口方法与编程思路。 学习目的及要求: 键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。 键盘的分类:按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。 ⑴ 独立式按键 独立式按键是每个按键占用一根I/O端线。 ⑵ 行列式(矩阵式)键盘 I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。 键盘去抖动问题: 键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。 键扫描输入程序的设计方法: (1)判断键盘上是否有键闭合; (2)消除键的机械抖动; (3)确定闭合键的物理位置; (4)得到闭合键的编号; (5)确保CPU对键的一次闭合只做一次处理 要求使用变量类型sbit定义每个开关和二极管。 #includereg51.h sbit led0=P1^0; sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; sbit key0=P1^4; sbit key1=P1^5; sbit key2=P1^6; sbit key3=P1^7; void main() { while(1)

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档