求 彩灯变换控制器设计 Verilog语言 程序 知道您是高手 帮帮我 谢谢~

控制8个LED进行花样性显示。设计4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮LED;s3,从中见到两边逐个点亮LED。4种模式循环切换,复位键(rst)控制系统的运行停止。

第1个回答  2011-01-07
// test10.v

module light1(clock,key,style,light);

input clock,key,style ; //端口定义

output [2:0]light;

reg [2:0] light =3'b111 ;

reg clk = 1;

parameter cnt = 24000000;

reg [24:0]count;

always @ (posedge clock) //分频计数

begin

if (count < cnt)

count = count + 25'b1;

else

begin

count = 0;

clk = ~ clk;

end
end

always @ (posedge clk) //LED灯输出

begin

if (!key) //key键被按下

light = light; //暂停

else

begin

if (!style) //style被按下

begin

if (light==0)

light=3'b111; //LED灯全部点亮时,重新熄灭再准备下次循环

else

light =light>>1; //LED灯右移

end

else

begin

if (light ==3'b000) //LED灯全部点亮时,重新熄灭再准备下次循环

light =3'b111;

else

light = light<<1; //LED灯左移

end

end

end

endmodule

这个程序我已经在Actel板上烧过了,没问题。如果还有什么问题应该是你的板不同或者工具不同,我是在libero_8.5上做的

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答