6.10
按键按下去时短暂的,如何让这种短暂延续?只是单纯的用if-else 恐怕不够,今天借鉴别人的代码,写了一个让他延续的事例,具体就是另外再加上一个计数器,当按下后,计数器计数加一,在加一的状态下可以任意操作,直到再次按下键,计数器再加一,延续终止,具体代码如下:
always@(posedge clk_50,negedge rst_n) if(!rst_n) key1_count<=0; else if(key1_en) begin if(key1_count==2'd1) key1_count<=0; else key1_count<=key1_count+1'b1; end reg [3:0] led_mov; always@(posedge clk_50,negedge rst_n) if(!rst_n) begin led1<=0; led_mov<=4'b0001; end else if(key1_count==1'b1) begin if(cnt_500ms==26'd25000000) led_mov[3:0]<={led_mov[0],led_mov[3:1]}; else led1<=led_mov; end else led1<=0;