按键程序
更新时间:2023-10-13 04:01:01 阅读量: 综合文库 文档下载
单片机按键程序设计及电路设计
在单片机应用系统中,按键主要有两种形式:1、直接按键; 2、矩阵编码键盘。直接按键的每个按键都单独接到单片机的一个I/O口上,直接按键则通过判断按键端口的电位即可识别按键操作;而矩阵键盘通过行列交叉按键编码进行识别。下面我们以S51增强型单片机实验板的直接按键来学习单片机轻触按键在单片机系统中的应用。
S51增强型单片机轻触按键原理图
图 1
一、
按键时序分析
通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,按键的时序如下图2所示,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为5ms~20ms;按键稳定闭合时间的长短是由操作人员的按键按压时间长短决定的,一般为零点几秒至数秒不等。
二、
轻触按键操作时序示意图
图 2
从上面图2中我们可以看到,一次完整的击键过程,包含以下5个阶段: 1. 等待阶段: 此时按键尚未按下,处于空闲阶段。
2. 前沿(闭合)抖动阶段:此时按键刚刚按下,但按键信号还处于抖动状态,这个时间一般为5~20ms。为了确保按键操作不会误动作,此时必须有个前沿消抖动延时。
3. 键稳定阶段:此时抖动已经结束,一个有效的按键动作已经产生。系统应该在此时执行按键功能;或将按键所对应的键值记录下来,待按键释放时再执行。 4. 后沿(释放)抖动阶段:一般来说,考究一点的程序应该在这里再做一次消抖延时,以防误动作。但是,如果前面“前沿抖动阶段”的消抖延时时间取值合适的话,可以忽略此阶段。
5. 按键释放阶段:此时后沿抖动已经结束,按键已经处于完全释放状态,如果按键是采用释放后再执行功能,则可以在这个阶段进行按键操作的相关处理。
二、按键实验例程
下面我们通过几个实验例程来学习按键扫描编程及按键软件消抖动的编程,通过这些对比实验,给大家一个更加感性的认识。
1、按键K1(P3.2)控制LED指示灯实验:本程序通过实验板上的按键K1控制P1.0上的LED亮灭。程序功能如下:当K1按下开关时指示灯亮,再次按下时指示灯灭。
程序一:
;/////////////////////////////////////////// ;本程序源代码由湖南源点教育教学部提供. ;专业单片机培训,让你学习单片机更容易. ;第一网址----www.stoneedu.com ;热线电话----0731-5538487
;10101010呼源点教育(全国市话) ;王筝 QQ:408864998
;本程序利用proteus,通过按键,取反I/O口
;/////////开始自定义及初始化//////////////// ORG 00H
START: JB P3.2,$ CPL P1.0 LJMP START END
;说明: 最简单的按键程序
;存在的问题: 一次按下,响应多次,按着不动的时候,反复响应
程序二:
;/////////////////////////////////////////// ;本程序源代码由湖南源点教育教学部提供. ;专业单片机培训,让你学习单片机更容易. ;第一网址----www.stoneedu.com ;热线电话----0731-5538487
;10101010呼源点教育(全国市话) ;王筝 QQ:408864998
;本程序利用proteus,通过按键,取反I/O口
;/////////开始自定义及初始化//////////////// ORG 00H
START: JB P3.2,$ ;检测按键K1有没有按下 CPL P1.0 ;执行按键命令,改变P1.0指示灯状态 JNB P3.2,$ ;等待按键K1释放 LJMP START ;返回重新检测按键 END
实验结果分析:
由于本实验程序中没有进行软件消抖动延时处理,我们把程序烧写到单片机上运行时,多次按压K1控制LED的亮灭,发控制不太稳定,大约按十次,LED发光二极管的输出状态有2到3次是错误的。
这就是因为没有软件去抖动的原因,在按键的前沿抖动或后沿抖动期间,抖动脉冲均有可能被程序检测而错误执行,此时相当于按键被按压和松开了N次,LED的输出状态也已经改变了N次,故松开按键后LED的状态是一个随机结果。
正在阅读:
按键程序10-13
新世纪中小型小水电发展前景之我所见03-17
关于友情的作文500字07-04
柳作文450字07-12
低频小信号放大器电路设计毕业论文04-27
LNG气化站工艺流程04-22
2017-2023年中国手术照明灯行业市场发展态势及投资前景可行性报告(目录)12-25
保温工程施工方案(STP真空绝热板)04-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 按键
- 程序
- 建筑CAD测试题及答案
- 2016湖南师范大学汉语国际教育硕士考研参考书
- 两千年改运秘法
- 1110000000在思想品德课中渗透心理健康教
- 善用几何直观,提升数学思维品质
- 氨基糖苷类抗生素(ZHT)剖析
- 肝火
- 英语语法从句配套资料
- Adobe认证考试--photohsop cs--标准指南!!最新!!--价值极高
- 电磁学、光学考试试卷
- 基床以下路堤填筑施工作业指导书2
- 中国钢笔市场深度调研及未来五年发展动向预测报告
- 小学班队工作原理与实践
- C语言习题8
- 灯下漫笔
- 管理沟通技巧案例分析启示
- 会计报表粉饰与识别
- 苏州检验检疫局2012年重点工作目标完成情况 - 图文
- 推荐下载 区委书记在建设社会主义新农村工作会议上的讲话-最新
- 市场营销学各章习题和答案