MCU_fans 发表于 2010-10-21 09:32:16

用4个按键控制LED为什么按键还没按下灯就全亮了?请高手指点下

module led(key,led);
input key;
output reg led=0;
always@(posedge key or posedge key or posedge key or posedge key)
begin
led<=led+1;
end
endmodule

shqila 发表于 2010-10-21 10:18:57

这是组合逻辑,几ps宽的毛刺就能触发电路执行,在按下按键时,信号的抖动是非常大的

loggerjy 发表于 2010-10-21 10:51:16

回复【1楼】shqila
-----------------------------------------------------------------------

如何消抖动?

ngzhang 发表于 2010-10-21 11:02:26

写消抖模块。坛子里有现成的。

MCU_fans 发表于 2010-10-21 11:15:31

回复【2楼】loggerjy
-----------------------------------------------------------------------

按键输入是有消抖的,不知道为什么改成这样就行了?
module led(key,led);
input key;
output reg led=0;
always@(posedge key)
begin   
led<=led+1;
end
endmodule

suiciki 发表于 2010-10-21 13:46:45

led是不是低位亮

MCU_fans 发表于 2010-10-22 20:51:28

回复【4楼】MCU fans
-----------------------------------------------------------------------

MCU_fans 发表于 2013-6-4 12:24:19

要不刚开始定义led=1 试试

zjykwym 发表于 2013-6-5 14:00:08

你这个明显不合格代码,怎么可以always@(posedge ...)
页: [1]
查看完整版本: 用4个按键控制LED为什么按键还没按下灯就全亮了?请高手指点下