基本信息
文件名称:单元五按键扫描方式汤宇娇上海城建职业课件.pptx
文件大小:279.63 KB
总页数:13 页
更新时间:2025-03-20
总字数:约1.79千字
文档摘要

单元五按键扫描方式

主讲人:汤宇娇

上海城建职业学院

本单元内容

按键基本概述

按键消抖及状态机设计

基于轮询方式的按键程序设计

教学目标

掌握基于GPIO接口的按键设计原理

掌握按键消抖处理及状态机设计

熟练掌握基于轮询方式的编程方法

5.1按键基本概述

KEY

基本概念按键的基本概念

通过电路原理图,我们可以发现有SW1,SW2,SW3,SW4四个按键,它们都是左端接GPIO口,右端接

地,可以根据这个电路特性写按键的控制代码

5.2按键消抖及状态机设计

KEY

按键消抖物理结构导致的抖动

通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按

键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴

随了一连串的抖动.

抖动时间是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合或者一

次断开只响应一次,必须进行按键的消抖处理。当检测到按键状态变化时,不是立即去响应动作,而

是先等待闭合或断开稳定后再进行处理。

KEY

状态机状态机的概念及设计

状态机是软件编程中的一个重要概念。比如在一个按键命令解析程序中,就可以看做状态机,其过程如

下:本来在A状态下,触发一个按键后切换到B,再触发另一个键后就切换到C状态,或者返回A状态。这

是最简单的例子。其他的很多的程序都可以当做状态机来处理。

可将将按键抽象为3个状态:

未按下,

假定为KEYNONE

按键按下,按键释放,

假定为KEYDOWN假定为KEYUP

5.3轮询方式的按键程序设计

KEY

数据读取轮询方式数据读取

什么是轮询

轮询是一种CPU决策如何提供周边设备服务的方式。

在轮询过程中,由CPU定时发出询问,依序询问每一个周边设备是否需要其服务。

每个设备都有一个指示命令就绪的位,指示该设备的状态。

当此状态就绪即给予服务,服务结束后再问下一个周边,接着不断周而复始。

KEY

程序设计按键扫描程序设计

KEY

演示例程轮询方式的按键扫描

1

例程目标

演示轮询方式的按键状态读取

2例程内容

实现麒麟开发板上四个按键的状态的

检测并将读取的按键状态通过串口打

印出来

结束

本单元结束