按键与键盘输入接口.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按键与键盘输入接口

按键与键盘输入接口 张晓冬 通用I/O数字输入接口设计 假如把一个单片机嵌入式系统比作一个人的话,那么单片机就相当于人的大脑,而输入接口就好似人的感官系统,用于获取外部世界的变化、状态等各种信息,并把这些信息输送进入人的大脑。嵌入式系统的人机交互通道、前向通道、数据交换和通信通道的各种功能都是由单片机的输入接口及相应的外围接口电路实现的。 对于一个电子系统来讲,外部现实世界各种类型和形态的变化与状态都需要一个变换器将其转换成电信号,而且这个电信号有时还需要经过处理,使其成为能被MCU容易识别和处理的数学逻辑信号,这是因为单片机常用的输入接口都是数字接口(A/D接口和模拟比较器除外)。上述所谓的“变换器”和“转换处理”,从专业角度讲就是“传感器技术”和“信号调理电路”。 I/O数字输入信号分类 模拟信号和数字信号 传感器将某个外部参数(温度、速度)的变化转换为电信号(电压、电流)。如果传感器输出电信号的幅度变化特征代表了外部参数的变化,例如电压的升高表示温度的升高,那么这个传感器就是模拟传感器,它产生模拟信号。由于MCU是数字化的,因此信号需要通过A/D转换才能被接受,A/D转换是嵌入式系统最重要的外围接口电路之一,用途广泛。 电压信号和电流信号 单片机IO接口的逻辑电平是数字逻辑电平,即以电压的高和低作为逻辑“1”和“0”,因此进入单片机的信号要求是电压信号。一些传感器输出的是电流信号,那么进入单片机之前需要将电流信号放大,并转换成电压信号调理电路。 单次信号和连续信号 间隔时间较长单次产生的脉冲信号和较长时间保持电平不变的信号称为单次信号。常见的单次信号一般是由按键、开关等认为动作或机械器件产生的信号。而连续信号一般指连续的脉冲信号,如计数脉冲信号、数据通信传输信号等。单次信号要注意信号的纯净和抗干扰,如消除按键的抖动和外部的干扰等。连续信号往往在数据交换和通信信道中使用,其特点是对时间定位、捕捉、时序的要求较高,通常要对信号的边沿进行检测或触发。AVR单片机提供了丰富的接口,如外部中断,定时计时器USART等,可以方便的对连续脉冲信号进行检测、计数以及支持多种协议的数据交换和通信。 独立按键输入接口 实际的按键并不是理论上的简单,要考虑按键消抖的问题。由于按键开关为机械式触点开关,利用机械触点接触和分离实现电路的通断。由于机械触点弹性作用,加上按键时力度方向等不同,按键开关从按下到接触稳定需要经过数毫秒的弹跳抖动,即在按下的几十毫秒时间理会连续产生多个脉冲;而释放按键时,电路也不会一下断开,同样会产生抖动,按键的稳定闭合时间为0.3~0.5秒。为了确保MCU对于按键动作准确确认,需要进行消抖处理。消抖方式分为硬件(R-S触发器)和软件方式(第一次检测到按键后,延时10ms,再次检测按键是否按下,只有两侧都检测到时,才确认按键按下)。 矩阵键盘输入接口 设置PD0~PD3为输出方式,输出低电平; PD4~PD7为输入方式且上拉电阻有效为高电平。将四根行线PD0~PD3置为低电平输出,然后读取PD4~PD7四根列线中有无低电平出现。如果有低电平出现,则说明这一行线中有按键按下,并记录列线中PD4~PD7四个I/O口数据;如果读取都是高电平,则表示无按键按下。 设置PD4~PD7为输出方式,输出低电平; PD0~PD3为输入方式且上拉电阻有效为高电平。将四根列线PD4~PD7置为低电平输出,然后读取PD0~PD3四根行线中有无低电平出现。如果有低电平出现,则说明这一行线中有按键按下,并记录列线中PD0~PD3四个I/O口数据。 考虑按键消抖的问题,将两次I/O口数据对应累加,形成一个完整的8位数据,根据行列线中低电平的交叉点就是确定的按键点。 矩阵按键的识别仅仅是确认和定位了行和列的交叉点的按键,接下来还要考虑键盘的编码,即对各个按键进行编号。编程中常用查表的方法对按键进行具体的编号。 完成键盘扫描和处理的程序是系统程序中一个子程序,MCU通常通过三种方式调用子程序: 程序控制扫描方式。在主程序中适当的位置放置键盘扫描程序,对键盘进行频繁扫描处理。 定时扫描方式。使用MCU的一个定时器,使其产生10ms的定时中断,每到中断时,MCU响应中断进行键盘扫描处理。 中断方式。使用外部中断方式,键盘增加一个键作为产生中断的信号输入线,当有按键按下时,MCU接收到一个中断信号,进而响应中断进行键盘扫描处理。 状态机分析 对于电子技术的读者,最先接触和使用到状态机是在数字逻辑电路中,状态机的思想和分析方法被应用于时序逻辑电路设计。有限状态机(FSM)是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档