- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
奋斗的小孩之altera系列第二十六篇单独按键消抖
FPGA 培训专家
奋斗的小孩之altera 系列
第二十六篇 单独按键消抖
对于每一个的小实验,我们都可以把它看作是一个小项目,逐步
的去分析,设计,调试,最后完成功能。下面我们就开始我们的“小
项目”。
项目名称:单独按键消抖
具体要求:消除按键按下以及抬起时所带来的抖动。
项目分析:
1. 按键电路
2. 抖动的产生
至芯科技论坛
FPGA 培训专家
通常的按键所用开关为机械弹性开关,当机械触点断开、闭合
时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上
稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的
瞬间均伴随有一连串的抖动。
3. 按键抖动带来的危害
键抖动会引起一次按键被误读多次。为确保CPU 对键的一次闭
合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状
态,并且必须判别到键释放稳定后再作处理。
4. 抖动的一些参数
抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。
这是一个很重要的时间参数,在很多场合都要用到。按键稳定闭
合时间的长短则是由操作人员的按键动作决定的,一般为零点几
秒至数秒。
5. 解决办法
一是延时重采样;二是持续采样。从理论上来说,延时(如
至芯科技论坛
FPGA 培训专家
10ms)重采样的准确率肯定低于持续采样。笔者采用持续采样。
架构图如下:
key_n:带有抖动的低电平有效的按键输入 (按键按下为低电平)
click_n:滤除抖动之后的低电平有效的按键波形
系统设计:
1. 工程的名称:key_filter
2. 状态转移图如下:
至芯科技论坛
FPGA 培训专家
MASK_TIME : 持续采样的时间(笔者选择为10ms)
设计代码如下:
/*
模块名称:key_filter
模块功能:消除按键按下以及抬起时所带来的抖动。
编写时间:2016-08-30
作者:至芯科技奋斗的小孩
邮箱:zxopenhxs@126.com
*/
module key_filter (clk, rst_n, key_n, click_n);
input clk;
input rst_n;
input key_n;
output reg click_n;
parameter MASK_TIME = 500_000;//驱动时钟为50M,10ms
//为500_000 个周期
至芯科技论坛
FPGA 培训专家
reg [18:0] cnt;
reg state;
localparam s0 = 1b0,
s1 = 1b1;
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n)
begin
click_n = 1b1;
cnt = 19d0;
state = s0;
end
else
begin
case (state)
s0 : begin
if (key_n == 1b0)
begin
if (
您可能关注的文档
最近下载
- 郑希付-学校心理健康教育-第九章 学校心理危机干预技术.pptx VIP
- 河北保定雄安新区公开选调工作人员模拟卷(一).docx
- 郑希付-学校心理健康教育-第七章 学校心理健康教育课程设计与实施.pptx VIP
- 郑希付-学校心理健康教育-第三章 学校心理健康教育的课题研究.pptx VIP
- 事业单位考试试题:河北保定雄安新区公开选调工作人员模拟卷(附答案解析).docx
- 郑希付-学校心理健康教育-第六章 学校团体心理辅导.pptx VIP
- 生产厂长KPI考核指标.docx VIP
- 青少年法制教育读本.pdf
- (新)人教高中数学A版必修一第二章第1节《等式性质与不等式性质》优质说课稿.doc
- 催化裂化操作指南(分馏与稳定)ppt课件.pptx
文档评论(0)