3
10
30
初级技术员
h20030711 发表于 2012-10-13 23:12 楼主的写法我个人觉得有如下问题 1、key_reg1这信号有可以出现亚稳态 2、有可能把一个小脉冲的抖 ...
使用特权
33
455
1687
助理工程师
0
5
25
count2<=count2+1; if(count2==500000)
reg key_reg1,key_reg2; wire key_out; reg [17:0]count2; wire clk_100;//通过计数器衍生出的100Hz时钟(楼主本来的代码是每隔10ms读一次按键的)(其实不到一点点,大约是95.36Hz)
always @ (posedge clk)//clk 50M
count2<=count2+1'b1;
assign clk_10=count2[17];
always @ (posedge clk_100)//clk 95Hz
beginkey_reg1<=key1; key_reg2<=key_reg1; endassign key_out=key_reg2&(!key_reg1);
begin
key_reg1<=key1;
key_reg2<=key_reg1;
end
assign key_out=key_reg2&(!key_reg1);
<span id="kM0.8008464885405466">@</span>
97
7
50
168
中级技术员
hawksabre 发表于 2012-10-15 18:07 其实使用软件延时消抖的思想本质上就是滤波 将由于人手按键造成的短暂接触产生的电流滤除掉 最可靠的方 ...
发表回复 本版积分规则 回帖后跳转到最后一页
人才类勋章
等级类勋章
发帖类勋章
时间类勋章
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号