原创 verilog 入门共阳极流水灯

2012-1-23 15:25 1609 8 8 分类: FPGA/CPLD

//流水灯:Max300a 3128atc100-10,24Mhz,led是共阳极的。

//实现的功能中间每隔1s点亮流水灯。
//流水灯:Max300a 3128atc100-10,24Mhz
 
module liushuideng(CLK,LED);
 
    input CLK;
    output [7:0] LED;
    reg [7:0] LED =8'b1111_1110;
   
 
    parameter divisor = 24000000;
    parameter inner_count_width = 32;
    reg [inner_count_width-1:0] delay_count;    
    reg [3:0] cnt;
 
always @ (posedge CLK)
    begin 
        delay_count <= delay_count + 1;
       // if (delay_count ==divisor/2 -1)
        if (delay_count ==divisor -1)
            begin                     
                delay_count <= 0;
                cnt <= cnt +1;
                LED <= ~(8'b1000_0000 >> cnt);
            end
        if (cnt == 8)
            begin 
                LED <= 8'b1111_1110 ;
                cnt <= 0;
            end 
    end
endmodule
 

 

由于灯是共阳极的,所以,不好处理,我使用了这行代码:LED <= ~(8'b1000_0000 >> cnt);
而 // if (delay_count ==divisor/2 -1)是用来为了设置分频用的,所以,没有删掉。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条