看着之前编写的,感觉有点问题。首先状态机格式就有点不对头,改了下,再加上了单击和双击的辨别。感觉这次好多了。
不过还没完,还有个功能在研究中。。。看看怎么和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)