简单实用的按键去抖Verilog实现
来源:互联网 发布:淘宝客商品编辑软件 编辑:程序博客网 时间:2024/04/29 14:05
和单片机用软件实现消抖是一样的原理,这里有一个采样时钟,对按键输入信号进行采样,用两个计数器对高低信号持续时间进行计时,当达到阈值时,就认为信号稳定,输出稳定的信号。
一下是代码,为了方便仿真时间,设定采样持续时间为4个时钟周期。
module key_fangdou(clk,key_in,key_out);
parameter SAMPLE_TIME = 4;
input clk;
input key_in;
output key_out;
reg [21:0] count_low;
reg [21:0] count_high;
reg key_out_reg;
always @(posedge clk)
if(key_in ==1'b0)
count_low <= count_low + 1;
else
count_low <= 0;
always @(posedge clk)
if(key_in ==1'b1)
count_high <= count_high + 1;
else
count_high <= 0;
always @(posedge clk)
if(count_high == SAMPLE_TIME)
key_out_reg <= 1;
else if(count_low == SAMPLE_TIME)
key_out_reg <= 0;
assign key_out = key_out_reg;
endmodule
从波形中可以看出,短时间的抖动对输出没有影响,key_out比key_in延时4个时钟周期输出。
0 0
- 简单实用的按键去抖Verilog实现
- 简单实用的按键去抖Verilog实现
- verilog实现按键消抖检测
- 引脚太少,想多接几个按键控制怎么办?-----谈单片机AD检测法实现简单实用的按键
- Verilog HDL按键消抖
- FPGA Verilog按键消抖
- verilog--除法器的简单实现(1)
- verilog简单实现串口
- FPGA 按键去抖
- 按键去抖
- 按键去抖分析
- 发一个用状态机实现的按键检测是VERILOG代码
- 基于verilog按键消抖设计
- 基于verilog按键消抖设计
- 基于verilog按键消抖设计
- 数字集成电路设计-2-除法器的verilog简单实现
- 数字集成电路设计-2-除法器的verilog简单实现
- 数字集成电路设计-3-除法器的verilog简单实现
- android之activity间传输数据
- Android
- CERT最近发布了Android平台上Java应用的安全编程指南
- 编写NDIS驱动,完全控制网卡收发报文
- Windows程序设计问题记录
- 简单实用的按键去抖Verilog实现
- JNI学习笔记——字符串操作
- 黑马程序员——集合
- linux--函数劫持--基于LD_PRELOAD
- Verilog HDL按键消抖
- Illegal attempt to associate a collection with two open sessions;
- Leetcode 贪心 Best Time to Buy and Sell Stock III
- JDBC的实现
- 黑马程序员 java基础24天 字符流