|
大家好,码了一个按键的模块,想实现双按键对应输出十种不同数值,按一次加/减一次,但却按住却一直在加/减,一直查不出原因,求指教
以下为我的源程序
module KEY_CTRL(key,ctrl_out);
input [1:0] key;
output [3:0] ctrl_out;
reg [3:0] ctrl_r;
reg [1:0] key_r;
assign ctrl_out = ctrl_r;
always@(key)
begin
key_r = key;
if(key_r == 2'b01)
begin
if(ctrl_r < 4'b1001)
ctrl_r <= ctrl_r + 1'b1;
else
ctrl_r <= 4'b0;
end
else if(key_r == 2'b10)
begin
if(ctrl_r > 4'b0000)
ctrl_r <= ctrl_r - 1'b1;
else
ctrl_r <=4'b1001;
end
end
endmodule
仿真图如下
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|