基于verilog——长短单击双击按键识别(改版)

博主改进了之前的Verilog代码,调整了状态机结构,实现了按键的单击和双击识别功能。尽管如此,博主还在研究如何将此模块与NIOS II系统结合,以创建一个完整的项目。
摘要由CSDN通过智能技术生成

  看着之前编写的,感觉有点问题。首先状态机格式就有点不对头,改了下,再加上了单击和双击的辨别。感觉这次好多了。

  不过还没完,还有个功能在研究中。。。看看怎么和NIOS II连接起来,做成一个完整的项目。

module key(clk,reset,key_in,STOP_RUN,UPDOWN,RST,CONFIG);

input clk;
input reset;
input key_in;
output reg RST; //复位信号RST ,高电平有效
output reg UPDOWN; //车行方向指示,为0是去行,为1时是回行
output reg STOP_RUN; //停车态或行车态, 0停车态 1行车态
output reg CONFIG; //CONFIG=1,表示进入设置状态



reg [2:0] STATE; //状态

parameter S0=3'b000,
S1=3'b001,
S2=3'b010,
S3=3'b011,
S4=3'b100,
S5=3'b101,
S6=3'b110,
S7=3'b111; //状态机编码


//**********************************************
reg[19:0] cnt; //分频计数器

always@(posedge clk or negedge reset)
begin
if(!reset)
cnt<=20'd0;
else if(cnt==20'd5_000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值