下载此文档

键盘输入接口和状态机设计.ppt


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
第九章
键盘输入接口与状态机设计
单个按键输入硬件接口设计
K1:借助I/O口内部上拉电阻
=0, =1
K2:外接上拉电阻
=0
K3:不推荐
按键操作时的抖动
按键的开关为机械弹性触点开关,它是利用机械触点接触和分离实现电路的通、断。由于机械触点的弹性作用,加上人们按键时的力度、方向的不同,按键开关从按下到接触稳定要经过数毫秒的弹跳抖动,既在按下的几十毫秒时间里会连续产生多个脉冲。释放按键时,电路也不会一下断开,同样会产生抖动。
消除按键操作时的抖动
硬件方法:基本RS触发器,RC积分电路
软件方法:间隔10~20ms两次检测按键状态
基于状态机的按键输入软件接口设计
有限状态机
有限状态机由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移。
基于状态机的按键输入软件接口设计
基于状态机的简单按键状态识别设计
时间序列:10ms
输入信号:与按键连接的I/O口电平值
输出信号:按键按下的状态确认信号
程序见书上
基于状态机的按键输入软件接口设计
单按键的实时时钟秒校时设计
要求:PD7接按键。每按下一次按键可以为时钟的秒加1。
如何采用中断方式判断按键状态?
基于状态机的按键输入软件接口设计
单按键的实时时钟秒校时设计
程序设计:
采用定时器每隔2ms产生一次定时溢出中断,500次中断后(1s)更新显示缓冲区;5次中断后(10ms)扫描一次按键状态。
采用基于状态机的按键状态识别子程序
程序分析:见书上
程序仿真:见Proteus
矩阵键盘输入接口设计
矩阵键盘输入接口设计
键盘扫描原理:
将全部行线置低电平输出,然后读三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。
在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依次将行线置为低电平,并检测列线的输入(扫描),进而确认是具体的按键位置。如当PD5输出低电平时(PD3=1、PD4=1、PD5=0、PD6=1),测到PD1的输入为低电平(PD0=1、PD1=0、PD2=1),则可确认按键K3-2处于闭合状态。通过以上分析可以看出,MCU对矩阵键盘的按键识别,是采用扫描方式控制行线的输出和检测列线输入的信号相配合实现的。
矩阵按键的识别仅仅是确认和定位了行和列的交叉点上的按键,接下来还要考虑键盘的编码,即对各个按键进行编号。在软件中常通过计算的方法或查表的方法对按键进行具体的定义和编号。

键盘输入接口和状态机设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人hnet653
  • 文件大小0 KB
  • 时间2015-06-26