//流水灯: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)是用来为了设置分频用的,所以,没有删掉。
用户422795 2012-2-9 18:59