两个独立按钮控制流水灯的左移右移,此程序下载以后,必须得用手一直按着按钮才能完成左移右移,改成肿么样才能使它维持按下去那个状态不变呢

2019-07-16 14:04发布

module LIUSHUIDENG
(  input CLK50M,
        output reg [7:0] LED,
        input [1:0] KEY
);
    integer cnt;
         reg CLK1HZ;
         reg [7:0]cnt_led;
         
         always@ (posedge CLK50M)
            begin
                    if(cnt==25000000)
                           begin
                                    CLK1HZ=~CLK1HZ;
                                         cnt<=0;
                                end
                        else
                           cnt<=cnt+1;
        end
               
        always@ (posedge CLK1HZ)
           begin
                   if(cnt_led==7)
                           cnt_led<=0;
                        else
                      cnt_led=cnt_led+1;
        end

   always@(posedge CLK1HZ)
   case(KEY)
         2'b10:
           begin
                   case(cnt_led)
                  0:LED=8'b00000001;
                  1:LED=8'b00000010;
                  2:LED=8'b00000100;       
             3:LED=8'b00001000;       
                  4:LED=8'b00010000;       
                  5:LED=8'b00100000;       
                  6:LED=8'b01000000;       
                  7:LED=8'b10000000;       
                        default:LED=8'b00000000;
                        endcase
                        end
     2'b01:
           begin
                   case(cnt_led)
                 0:LED=8'b10000000;
                 1:LED=8'b01000000;
                 2:LED=8'b00100000;
                 3:LED=8'b00010000;
                 4:LED=8'b00001000;
                 5:LED=8'b00000100;
                 6:LED=8'b00000010;
                 7:LED=8'b00000001;
                  default:LED=8'b00000000;
                  endcase
                  end
                 endcase
                  endmodule
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。