键盘输入接口与状态机设计_第1页
键盘输入接口与状态机设计_第2页
键盘输入接口与状态机设计_第3页
键盘输入接口与状态机设计_第4页
键盘输入接口与状态机设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

键盘输入接口与状态机设计第1页,共11页,2023年,2月20日,星期四

单个按键输入硬件接口设计K1:借助I/O口内部上拉电阻

DDRC.5=0,PORTC.5=1K2:外接上拉电阻

DDRC.6=0K3:不推荐第2页,共11页,2023年,2月20日,星期四

按键操作时的抖动

按键的开关为机械弹性触点开关,它是利用机械触点接触和分离实现电路的通、断。由于机械触点的弹性作用,加上人们按键时的力度、方向的不同,按键开关从按下到接触稳定要经过数毫秒的弹跳抖动,既在按下的几十毫秒时间里会连续产生多个脉冲。释放按键时,电路也不会一下断开,同样会产生抖动。第3页,共11页,2023年,2月20日,星期四

消除按键操作时的抖动硬件方法:基本RS触发器,RC积分电路软件方法:间隔10~20ms两次检测按键状态第4页,共11页,2023年,2月20日,星期四

基于状态机的按键输入软件接口设计有限状态机有限状态机由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移。第5页,共11页,2023年,2月20日,星期四

基于状态机的按键输入软件接口设计基于状态机的简单按键状态识别设计时间序列:10ms输入信号:与按键连接的I/O口电平值输出信号:按键按下的状态确认信号程序见书上第6页,共11页,2023年,2月20日,星期四

基于状态机的按键输入软件接口设计单按键的实时时钟秒校时设计要求:PD7接按键。每按下一次按键可以为时钟的秒加1。如何采用中断方式判断按键状态?第7页,共11页,2023年,2月20日,星期四

基于状态机的按键输入软件接口设计单按键的实时时钟秒校时设计程序设计:采用定时器每隔2ms产生一次定时溢出中断,500次中断后(1s)更新显示缓冲区;5次中断后(10ms)扫描一次按键状态。采用基于状态机的按键状态识别子程序程序分析:见书上程序仿真:见Proteus第8页,共11页,2023年,2月20日,星期四

矩阵键盘输入接口设计第9页,共11页,2023年,2月20日,星期四

矩阵键盘输入接口设计键盘扫描原理:将全部行线置低电平输出,然后读三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依次将行线置为低电平,并检测列线的输入(扫描),进而确认是具体的按键位置。如当PD5输出低电平时(PD3=1、PD4=1、PD5=0、PD6=1),测到PD1的输入为低电平(PD0=1、PD1=0、PD2=1),则可确认按键K3-2处于闭合状态。通过以上分析可以看出,MCU对矩阵键盘的按键识别,是采用扫描方式控制行线的输出和检测列线输入的信号相配合实现的。矩阵按键的识别仅仅是确认和定位了行和列的交叉点上的按键,接下来还要考虑键盘的编码,即对各个按键进行编号。在软件中常通过计算的方法或查表的方法对按键进行具体的定义和编号。

第10页,共11页,2023年,2月20日,星期四

矩阵键盘输入接口设计按键扫描程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论