|
楼主 |
发表于 2011-8-10 21:33:16
|
显示全部楼层
谢谢大家提点
我现在最大的问题是按键与LED之间的控制问题,只能说我具体操作的不好。
以我的逻辑写出来的程序,在按下倒计时时间的那三个键的时候都可以按照要求点亮LED
但是这个开始键我应该怎么把它和那三个键联系起来呢?
我没有用case语法,而是都用的if
把我想写的简单化一点,大概就是这样的
module test2222222222222(key_in, LED,CLK,start
);
input CLK;
input[2:0] key_in;
input start;
output [7:0] LED;
reg[7:0] LED_r;
//reg[7:0] LED_l;
reg[2:0] buffer;
reg start_r;
//reg[3:0] buffer1;
reg[23:0] counter;
always@(posedge CLK)
begin
start_r=1'b1;
buffer=3'b111;
buffer=key_in;
start_r=start;
if (buffer==3'b110)
begin
LED_r = 8'b00011111;
if (!start_r)
begin
counter<=counter+1;
if (counter==24'd1843200)
begin
LED_r=LED_r<<1;
counter<=0;
end
end
end
else if (buffer==3'b101)
begin
LED_r=8'b11110000;
if (!start_r)
begin
counter<=counter+1;
if (counter==24'd1843200)
begin
LED_r=LED_r<<1;
counter<=0;
end
end
end
else if (buffer==3'b011)
begin
LED_r=8'b11111111;
if (!start_r)
begin
counter<=counter+1;
if (counter==24'd1843200)
begin
LED_r=LED_r<<1;
counter<=0;
end
end
end
end
assign LED=LED_r;
endmodule
我想当业余的水平,请轻拍 |
|