- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
单元五按键扫描方式
主讲人:汤宇娇
上海城建职业学院
本单元内容
按键基本概述
按键消抖及状态机设计
基于轮询方式的按键程序设计
教学目标
掌握基于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例程内容
实现麒麟开发板上四个按键的状态的
检测并将读取的按键状态通过串口打
印出来
结束
本单元结束
文档评论(0)