51单片机学习教程第5章 按键

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 软件防抖
利用软件进行延时(10ms) 利用软件进行延时 电路简单、成本低、但占用CPU时间 电路简单、成本低、但占用 时间
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 12
键盘的工作方式
单片机对按键动作的识别有两种方式: 单片机对按键动作的识别有两种方式: 1. 查询方式
按 键 Key
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 1
单片机与按键
5.1 5.2 5.3 5.4 5.5
计算机系统的输入设备 计算机系统的输入设备 按键开关的分类 按键开关的分类 按键识别的方法 按键识别的方法 单片机与按键的连接 单片机与按键的连接 按键的处理方法 按键的处理方法
单片机C语言程序设计 单片机 语言程序设计
10
按键抖动 实际的按键在被按下或抬起时, 实际的按键在被按下或抬起时,由 于机械触点的弹性作用, 于机械触点的弹性作用,在闭合或断开 的瞬间均伴随有一连串的抖动现象。 的瞬间均伴随有一连串的抖动现象。
完整的按键过程包括: 完整的按键过程包括: 1. 释放状态 2. 按下抖动阶段 3. 完全按下状态 4. 释放抖动阶段 5. 释放状态
2. 口线反转法
单片机按行和按列扫描一次
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
16
按键处理中的特殊要求 单片机在处理按键的过程中, 单片机在处理按键的过程中,根据 实际的需求, 实际的需求,还可能遇到以下一些比较 复杂的问题: 复杂的问题:
1. 短按、长按按键 短按、
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
2
计算机系统的输入设备 计算机系统的输入设备指向计算机 输入信息的设备, 输入信息的设备,是计算机与用户或其 他设备交换信息的桥梁。 他设备交换信息的桥梁。 常用的输入设备有:键盘、鼠标、 常用的输入设备有:键盘、鼠标、 摄像头、扫描仪、光笔、手写输入板、 摄像头、扫描仪、光笔、手写输入板、 游戏杆和语音输入装置等 游戏杆和语音输入装置等。
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
18
软件设计 软件流程图
Y
Y N N
Y
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
19
程序预处理 编译系统对程序中特殊命令进行预 处理,预处理结果和源程序进行编译。 处理,预处理结果和源程序进行编译。
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
4
按键开关类型 单片机系统使用的按键开关种类繁多: 单片机系统使用的按键开关种类繁多:
1. 2. 3. 4. 5. 单个按键 自锁按键 钮子开关 编码开关 轻触按键
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
5
键盘的分类 单片机系统使用的键盘分为两类: 单片机系统使用的键盘分为两类:
1. 全编码键盘
配有专用硬件电路识别按键编码 程序简单、硬件复杂、 程序简单、硬件复杂、价格较贵
ຫໍສະໝຸດ Baidu
2. 非编码键盘
靠单片机软件识别按键编码 硬件简单、程序复杂、 硬件简单、程序复杂、价格便宜
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
14
独立式按键的处理 每个独立按键单独占有一根单片机 IO口线,各按键之间相互独立。 口线, 口线 各按键之间相互独立。
1. 少量按键定义位变量处理 2. 成列按键使用并行IO口处理 成列按键使用并行 口处理
2012年4月17日 年 月 日
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
8
按键识别 单片机识别按键状态的原理: 单片机识别按键状态的原理:
1. 对单个或成组按键,需要通过接口电路 对单个或成组按键, 与单片机IO口相连接 与单片机 口相连接 2. 单片机通过一定的方式 查询或中断 检 单片机通过一定的方式(查询或中断 查询或中断)检 查各个IO口的状态 口的状态, 查各个 口的状态,从而得知按键的状 态 3. 如有按键按下,将按下的按键键号送入 如有按键按下, 单片机进行处理
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 7
单片机与键盘的连接 键盘与单片机连接方式有: 键盘与单片机连接方式有:
3. 通过键盘控制芯片相连
矩阵键盘与扩展芯片相连(HD7279、8279) 、 矩阵键盘与扩展芯片相连 优点:占用IO口少 口少, 优点:占用 口少,软件控制容易 缺点: 缺点:价格较高
6
单片机与键盘的连接 键盘与单片机连接方式有: 键盘与单片机连接方式有:
1. 独立式键盘
单个按键直接与单个IO引脚相连 单个按键直接与单个 引脚相连 优点:简单、 优点:简单、易用 缺点:接入按键少, 口占用较多 缺点:接入按键少,IO口占用较多
2. 行列式键盘
多个按键组成矩阵形式与IO口相连 多个按键组成矩阵形式与 口相连 优点: 优点:接入按键多 缺点:复杂、 缺点:复杂、不易使用
1. 宏定义 用标识符表示字符串) 宏定义(用标识符表示字符串 用标识符表示字符串
#define 宏名 字符串
2. 文件包含 多个源文件连接编译) 文件包含(多个源文件连接编译 多个源文件连接编译
#include <文件名 或 #include “文件名 文件名> 文件名” 文件名 文件名
3. 条件编译 编译需要的程序段) 条件编译(编译需要的程序段 编译需要的程序段
单片机不断的扫描键盘判断按键是否动作 特点:硬件简单, 特点:硬件简单,但需要单片机不停地扫 描键盘,占用CPU资源 描键盘,占用 资源
2. 中断方式
键盘动作时发出中断请求, 键盘动作时发出中断请求,单片机响应中 断请求后转按键识别程序 特点:硬件复杂,需要中断电路, 特点:硬件复杂,需要中断电路,但不占 用CPU资源 资源
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
3
嵌入式系统的输入设备 嵌入式系统因性能体积等限制, 嵌入式系统因性能体积等限制,主 等作为输入s 要使用 、 、 等作为输入 设备。 设备。 输入设备在嵌入式系统中主要作用: 输入设备在嵌入式系统中主要作用:
1. 数据输入 2. 流程控制
#ifdef #else #endif、#ifndef #else 、 #endif、 # if #else #endif 、
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 20
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 13
单片机处理按键的流程 单片机处理按键动作需要以下步骤: 单片机处理按键动作需要以下步骤:
1. 2. 3. 4. 5. 判断按键是否按下 按键按下时的防抖 识别哪个按键按下, 识别哪个按键按下,判断键值 判断按键是否放开 送出键值, 送出键值,处理按键动作
按键识别 单片机在识别按键时, 口工作在 单片机在识别按键时,IO口工作在 输入状态: 输入状态:
1. 按键弹起,IO口电平 按键弹起, 口电平 口电平5V 2. 按键按下,IO口电平 按键按下, 口电平0V 口电平 3. 单片机读取 口的状态 单片机读取IO口的状态 即可知按键的状态
2012年4月17日 年 月 日
单片机C语言程序设计 单片机 语言程序设计
15
矩阵式键盘的处理 矩阵式键盘的按键排列成矩阵的形 在单根IO口线上连接了多个按键 口线上连接了多个按键, 式,在单根 口线上连接了多个按键, 因此需要特殊的处理方法: 因此需要特殊的处理方法:
1. 逐行(列)扫描法 逐行 列 扫描法
单片机一行行(列列 循环对键盘进行扫描 单片机一行行 列列)循环对键盘进行扫描 列列
按键按下时计时
2. 单击、双击按键 单击、
记录每次和上一次按键的键值
3. 组合键
增加按键键码
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 17
实例 设计一个单片机按键系统, 设计一个单片机按键系统,单片机 能识别到8个按键的变化 个按键的变化。 能识别到 个按键的变化。
2012年4月17日 年 月 日 单片机C语言程序设计 单片机 语言程序设计 11
按键防抖
由于按键在闭合或断开的瞬间伴随着机 械抖动,造成输入电平的变化, 械抖动,造成输入电平的变化,因此在单片 机识别按键的过程中应采取防抖措施: 机识别按键的过程中应采取防抖措施: 1. 硬件防抖
在按键输出端加RS或施密特触发器 在按键输出端加 或施密特触发器 去抖效果好、电路复杂、 去抖效果好、电路复杂、成本高
相关文档
最新文档