




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
清除键盘机械抖动的方法 山东传媒职业学院毕业论文 论文题目简要分析清除键盘机械抖动的方法指导教师/职称 /中级讲师 作者姓名 年级/专业 10级广播电视技术1班 山东传媒职业学院2011年 12 月日目录摘要1英文摘要1一.基本原理 2二.消除键盘机械抖动方法实际应用情况 4三.两种方法的对比总结5谢 辞 6参考文献 6清除键盘机械抖动的方法广播电视技术技术专业 一班 指导老师 内容提要:单片机控制系统中大多使用控制键来实现控制功能,对按键处理的重要环节是去抖动,包括去除按下和抬起瞬间的抖动。消除按键瞬间的抖动是设计者必须要考虑的问题。本文通过分别分析硬件和软件两种键盘消抖的方法,使用R-S触发器的硬件方法、运用算法的软件方法,对比得出两种方法不同的优劣点。硬件方法会增加成本和体积,对于按键较多的矩阵式键盘,会用硬件方法;软件方法用的比较普遍,但有一种加固定延时的去抖动法效率最低,它以无谓地耗费机时来实现去抖动。 关键词:按键消抖;R-S触发器;软件算法Removing the keyboard mechanical dithering methodTechnology of radio and television technology Class one Instructor Luo donghua Abstract : SCM control system mostly using the control key to realize the control function, the key processing is a important link to jitter, including the removal of pressing and lifting moment jitterElimination of jitter of the key moment is the designer must consider the problem. This paper analyzes the hardware and software of two keyboard shaking elimination method, using the R-S trigger hardware method, using software method, comparison between two methods of different strengths and weaknesses. The hardware method will increase the cost and volume for the key, more matrix keyboard, with hardware method; software method to use in the more common, but there is a plus fixed delay dithering method minimum efficiency, it needlessly consuming machine to achieve jitter Key words: button buffeting extinction; R-S flip-flop; software algorithm一?清除键盘机械抖动方法的基本原理 按键消抖:通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号小型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如下图。抖动时间的长短由按键的机械特性决定,一般为5ms10ms。 按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法。 软件方法:运用运算方法,通过运算逻辑表达式: KeradynKtemp Kinput+Kreadyn-1 Ktemp Kinput 1 KtempKinput 2 可以获得消除抖动的按键消息。设置3个变量Kready、Ktemp和Kinput,并设置定时中断周期为20ms。在定时中断服务程序中读取按键,并把读取的数据存于变量Kinput中。变量Kready中是所需要的稳定的按键信息;Ktemp是中间变量,它的值是上一次的Kinput。根据当前按键的状态,考虑到Kready中是20ms抖动后的有效键信息,则Kready、Ktemp和Kinput之间,在不同时刻的状态关系如表1所列。 表1时 刻KreadyKtempKinput1000200130104001511161117110810191101000011000时刻1为没有键按下的初始状态;时刻2的Kinput为1,但时刻3的Kinput又变为0,说明时刻2的Kinput为1并不是有键按下,可能只是干扰,所以Kreqdy为0;时刻4同时刻2的情况类似,但是时刻4和时刻5时Kinput都为1,说明有按键按下,在时刻5时Kready为1;虽然时刻7时Kinput为0,但时刻5、6、8时Kinput都为1,说明按键一直按下,只不过有干扰,Kready保持为1;时刻9、10连续两个时刻Kinput为0,表示按键抬起,时刻10时Kready为0。通过分析可以看出,Kready中是消除了抖动并在一定程度上排除了干扰的有效按键信息。从按键按下到Kready为1,最长时间约为40ms,最短约为20ms。其时间长短取决于键按下时处于定时中断周期的所在时刻。如果按键一直按下,则有效键信息以20ms的间隔重复输出。仔细分析表1,还可知道当前时刻Kready的值不但与Ktemp和Kinput有关,还与Kready前一时刻的值有关。我们把Keady的当前时刻记作Kreadyn,作为因变量;前一时刻记作Kreadyn-1,并和Ktemp、Kinput一起作为自变量,依照表1绘出卡诺图如图1所示。表达式(1)就是由图1的卡诺图得出的最简逻辑表达式。硬件方法:在键数较少时可用硬件方法去除键抖动,下图所示的RS触发器为硬件去抖 图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。 利用电容的放电延时,采用并联电容法,也可以实现硬件消抖 消除键盘机械抖动方法实际应用情况 软件应用情况: 如用C51单片机编程语言编制的8个按键的键处理程序#include#includeunsigned char key_value;unsigned char Kinput;unsigned char Ktemp;unsigned char Kstore;unsigned char Kready;unsigned char Koutput;unsigned char bdata flag;code unsigned char Kconst0xaa; /*重复键和非重复键格式*/sbit endebounceflag0;sbit getkeyiag1;sbit kprocessflag2;sbit ACC_7ACC7;void mainvoid;void debouncevoid;void get_key_valuevoid;void mainvoid/*初始化*/kinputKtempkreadyKstore0;endebounce0;getkey0;kprocess0;TMOD0x01;TL00xe0;TH00xb1;TR01;ET01;EA1;/*/while1/*循环*/debounce;/*调用去除键抖动函数*/get_key_value;/*调用获取键值函数*/key_processing;/*调用键处理函数*/*other functions*/void debouncevoidif endebounce/*以下是去除键抖动表达式*/KreqdyKtemp & Kinput |Kready & KtempKinput;KtempKinput;/*以下表示式用于输出重复键和非重复键*/KoutputKready &Kstore | Kconst;KstoreKready;if Koutput ! 0/*如果有键按下,置标志准备获取键值*/getkey1;void get_key_valuevoidifgetkeyunsigned char temp;unsigned char j;getkey0;/*清标志*/forj0;j8;j+temp_cror_koutput,1;/*循环右移寻找按下的键*/if_testbit_ACC_7/*如果ACC_71,找到了按下的键*/key_valuej;/*获得键值*/j8;/*找到按下的键就退出循环*/kprocess1;/*置标志,准备进行键处理*/else Koutputtemp;/*准备下一次寻找*/void timer0_interrupt_handlervoid interrupt using1TL00xe0;/*加载定时器参数,使晶振频率12MHz时中断周期为20ms*/TH00xb1;/*键扫描*/P2_0;/*使能键扫描位*/KinputP0;/*从P0读入按键信息,反相后保存*/endebounce;/*置标志位准备去抖动*/*其它与定时器有关的语句*/ 硬件应用情况:对于硬件资源丰富的FPGA系统,可以使用硬件来减轻软件工作量,通常称之为硬件加速。在按键信号输入到软件系统前用逻辑对其进行一下简单的处理即可实现所谓的硬件消抖,verilog代码如下:/对输入信号inpio硬件滤波,每20ms采样一次当前值reg18:0 cnt; /20ms计数器always posedge clk_25m or negedge rst_nif!rst_n cnt 19d0;else ifcnt 19d500000 cnt cnt+1b1;else cnt 19d0;reg1:0 inpior; /当前inpio信号锁存,每20ms锁存一拍always posedge clk_25m or negedge rst_nif!rst_n inpior 2b11;else ifcnt 19h7ffff inpior inpior0,inpior;wire inpio_swin inpior0 | inpior1; /前后20ms两次锁存值都为0时才为0该程序中设置了一个20ms计数器,通过间隔20ms对输入信号inpio采样两次,两次相同则认为键盘输入稳定,得到用硬件逻辑处理后的inpio_swin信号则是消抖处理过的信号。软件程序就不再需要delay来滤波了,也不会出现使用纯软件处理出现的中断失去响应的情况了,这就是硬件加速的效果.两种方法的对比总结消除按键抖动,永远不可能完全消除抖动,只是能消除绝大部分抖动情况。一般在键较少时可用硬件方法,作去抖动的电路,可以接电容,然后设计好充放时间常数,不能太大,要不按键不够灵敏;如果键较多,常用软件的方法,检测出键闭合后执行一个延时程序,产生几毫秒的延时,再检测键的闭合状态,确认键是否真的被按下,当检测到按键释放后,也要给出几毫秒的延时,后沿抖动消失后才能转入该键的处理程序。在单片机应用系统中,对按键的要求是千差万别的,可根据不同的需要来选择不同地去抖动的方法。谢辞 岁月如梭,如歌。转眼间,三年的求学生活即将结束,站在毕业的门槛上,回首往昔,奋斗和辛劳成为丝丝的记忆,甜美与欢笑也都尘埃落定。山东传媒职业学院以其优良的学习风气、严谨的科研氛围教我求学,以其博大包容的情怀胸襟、浪漫充实的校园生活育我成人。值此毕业论文完成之际,我谨向所有关心、爱护、帮助我的人们表示最诚挚的感谢与最美好的祝愿。本论文是在罗东华老师的悉心指导之下完成的。三年来,导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,朴实无华、平易近人的人格魅力对我影响深远。导师不仅授我以文,而且教我做人,虽历时三载,却赋予我终生受益无穷之道。本论文从选题到完成,几易其稿,每一步都是在导师的指导下完成的,倾注了导师大量的心血,在此我向我的罗东华表示深切的谢意与祝福!还要感谢
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级数学几何知识点精讲精练
- 民用建筑装修施工技术规范解读
- 大学英语教学重点与难点解析
- 五年级数学公开课教案设计模板
- 人才招聘与面试流程优化策略
- 大豆发酵液与磷肥配合施用对玉米生长及土壤磷有效性的作用研究
- 全球医药市场趋势分析-洞察及研究
- 空间数据分析在土地资源管理中的应用-洞察及研究
- 配线机器人作业安全性评估-洞察及研究
- 医学院校病理学考试辅导资料
- 自闭症中医课件
- 2025年四川省辅警招聘考试题库及答案
- 小儿先天性心脏病护理常规
- 个人理想与中国梦课件
- 2025-2030中国饲用微生态制剂行业发展动态及未来前景展望报告
- 工程围墙销售方案(3篇)
- 中班美术:我设计的围巾
- 危急值报告管理课件
- JG/T 9-1999钢椼架检验及验收标准
- 中美大学技术转移模式与效率的深度剖析:基于多维度视角的比较研究
- 房屋共有份额协议书
评论
0/150
提交评论