完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
六位四则运算计算器(3)矩阵键盘消抖模块 雾盈 2016-8-27 一、写在前面 今天谈矩阵键盘模块的第二个小模块——矩阵键盘消抖模块。 同样,按键消抖也有很多方式,但是他们遵循的原则和达到的目的都是一样的,今天讲其中一种,你们也可以和其他方法对比着看。 二、按键消抖原理 1)按键为什么要消抖? 我们通常所用的按键开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了避免这种现象造成的干扰而作的措施就是按键消抖。 配一张图。 而我们矩阵键盘消抖与单个按键消抖的不同之处就是,矩阵键盘消抖主要是防止在一个按键按下的同时,其他按键发生抖动而出现不同的键值。 所以,我们就采用下面的方法去消抖。 三、程序实现按键消抖 我们采用的是在一次按键动作,扫描时钟扫过整个矩阵键盘时,对产生的键值取其中某七次来 比较,当七次键值全部相同时,输出当前键值,否则重新检测比较。七次是在时钟1kHz频率下的经验数值,你可以根据不同的扫描时钟,比较不同的次数。 四,代码解释 因为原理比较简单,我们就直接解读程序吧。 第一步:连续取出七次按键过程中产生的键值,将其存放在寄存器keynum_r中,留做第二步比较。 这段代码如下: 第二步:键值比较 键值比较写在两个always块里。 下面这段代码,引入了一个六位寄存器keyf,它的作用我们来看下面 |
|
相关推荐
|
|
1254 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1031 浏览 0 评论
2319 浏览 1 评论
2034 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2291 浏览 0 评论
1810 浏览 48 评论
6001 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 19:26 , Processed in 0.590813 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号