单片机详解 键盘.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机详解 键盘

我们需要什么效果? 键盘接口需要解决的问题 独立式按键 矩阵式键盘 键盘扫描的关键 矩阵式键盘 * 按键按下,产生相应“标志” ------ 键值 计算机根据“键值”,把输入参数 传递给某项程序 是否有键按下 机械按键抖动时间在5ms~10ms之间 硬件方案——双稳态去抖电路 软件方案——延时10ms后再次判断 消除方法: 求键值 按键识别 按键消抖 特点:一线一键,编程简单; 但占用较多端口,适合8键以下使用。 按键如何定位? P口“读入状态”, 一线对一键 +5V P1.4 P1.3 P1.0 MCS-51 P1.7 P1.6 P1.5 P1.2 P1.1 特点:按键识别采用扫描法 编程较为复杂,节省端口资源,8键以上使用 按键如何定位? 逐行(列)扫描, 得出行/列值 令某“列”为0,同时读入所有“行”状态 ------ 判断该列上是否有按键被按下 保存“行值”和“列值”, 进一步组合,处理 逐列进行,直至得到按键的---- “行值”和“列值” 矩阵行(列)线不接VCC P1.4 P1.3 P1.0 P1.7 P1.6 P1.5 P1.2 P1.1 是否有键按下? 延时去抖 设置扫描起点,开始扫描(列) 某“列”为0,读入全部“行”状态,是否有“行”是0 ? 取行码,取列码 二极管显示对应键值 扫描码左移 退出 退出 org 0000h LJMP MAIN ORG 0030H MAIN: mov sp,#30h; 设置堆栈指针 mov p1,#0Fh???高4位输出0,低4位准备输入 mov A ,p1 (读入低4位状态) ANL A,#0FH (集中关注低4位) CJNE A,#0FH,DELAY 确认有键 SJMP MAIN 无键跳转退出 P1.4 P1.3 P1.0 P1.7 P1.6 P1.5 P1.2 P1.1

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档