第一章 按键输入实验.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.1 按键检测实验 7.1.1 单片机检测小弹性按键的原理 单片机检测按键的原理是:单片机的I/O口既可作为输出也可作为输入使用,当检 测按键时用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某个I/O口相 连,开始时先给该I/O口赋一高电平,然后让单片机不断地检测该O口是否变为低电平,当 按键闭合肘,即相当于该I/O口通过按键与地相连,变成低电平,程序一旦检测到I/O 口变为低电平则说明按键被按下,然后执行相应的指令。 去抖概念:(分为软件去抖和硬件去抖) 按键是机械器件,按下或者松开时有固定的机械抖动。 什么是机械抖动?通常的按键开关为机械弹性开关,由于机械触点的弹性作用,一个按 键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬 间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这 是一个很重要的时间参数,在很多场合都要用到;实际上只进行一次按键操作,但有可能执 行了多次按键结果,这就是抖动造成的,所以大多数产品实际使用中都使用了按键去抖功能。 按键的连接方法和按键在被按下时其触点电压变化过程下图: 这个抖动时间虽然很短,不同按键抖动不同,但对应单片机来说,很轻松就能检测到, 单片机的运行的速度是微秒 us 级别。 用示波器跟踪一个小的按钮开关在闭合时的抖动现象,得到如下图的波形。 观察波形可以帮助我们对抖动现象有一个直观的了解。水平轴2ms/DIII,抖动间隙 大约为10ms,在达到稳定状态前一共有6次变化,频率随时间升高。 硬件去抖最简单的就是按键两端并联电容,容量根据实验而定。当然也有专用的去抖 动芯片。 软件去抖使用方便不增加硬件成本,容易调试,所以现在大都使用软件去抖。 关于软件去抖,我们在这里也详细讲解一下原理 : 1、检测到按键按下后进行 5~10ms 延时,用于跳过这个抖动区域 2、延时后再检测按键状态,如果没有按下表明是抖动或者干扰造成,如果仍旧按下, 可以认为是真正的按下。并进行对应的操作。 3、同样按键释放后也要进行去抖延时,延时后检测按键是否真正松开。 7.1.2 GPIO的8种工作模式 在初始化 GPIO 的时候,根据我们的使用要求,必须把GPIO 设置为相应的模式。如 LED 例程中的 GPIO 引脚如果配置为模拟输入模式是必然会导致错误的。 我们配合 GPIO 结构图,来看看 GPIO 的 8 种模式及其应用场合: 图的最右端为 I/O 引脚,左端的器件位于芯片内部。I/O 引脚并联了两个用于保护的二 极管。本图从 ST 提供的参考手册截取。 ● 四种输入模式 结构图的上半部分为输入模式结构。 接下来就遇到了两个开关和电阻,与 VDD 相连的为上拉电阻,与VSS 相连的为下拉电 阻。再连接到施密特触发器就把电压信号转化为 0、1 的数字信号存储在输入数据寄存器 (IDR) 。我们可以通过设置配置寄存器(CRL、CRH),控制这两个开关,于是就可以得到 GPIO 的上拉输入(GPIO_Mode_IPU ) 和下拉输入模式(GPIO_Mode_IPD ) 了。 从它的结构我们就可以理解,若 GPIO 引脚配置为上拉输入模式,在默认状态下(GPIO 引脚无输入) ,读取得的 GPIO 引脚数据为 1,高电平。而下拉模式则相反,在默认状态下其 引脚数据为 0,低电平。 而STM32的浮空输入模式(GPIO_Mode_IN_FLOATING)在芯片内部既没有接上拉,也没 有接下拉电阻,经由触发器输入。配置成这个模式直接用电压表测量其引脚电压为1点几伏, 这是个不确定值。由于其输入阻抗较大,一般把这种模式用于标准的通讯协议如I2C、USART 的接收端。 模拟输入模式(GPIO_Mode_AIN )则关闭了施密特触发器,不接上、下拉电阻,经由另 一线路把电压信号传送到片上外设模块。如传送至给ADC模块,由ADC采集电压信号。所 以使用ADC外设的时候,必须设置为模拟输入模式。 ● 四

文档评论(0)

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

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

1亿VIP精品文档

相关文档