这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» DIY与开源设计» 电子DIY» led讲座作业

共8条 1/1 1 跳转至

led讲座作业

助工
2014-05-28 13:40:41 打赏



关键词: 流水灯 跑马灯 作业

高工
2014-05-28 14:41:08 打赏
2楼
楼主能否说的再详细些?

高工
2014-05-28 16:56:54 打赏
3楼

作业最好在帖子里面显示,不上上传附件

嘻嘻!


助工
2014-06-04 14:21:06 打赏
4楼
受教了

助工
2014-06-04 14:23:43 打赏
5楼

//间隔点亮发光二极管

module led_interval

(sys_rst,
sys_clk,
led);

input sys_rst;
input sys_clk;
output led;

reg [3:0] led;
reg [25:0] delay_cnt;
reg [2:0] display;

always@(posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
delay_cnt<=26'd0;
else if(delay_cnt==26'd49999999)
delay_cnt<=26'd0;
else
delay_cnt<=delay_cnt+1'b1;
end


always@(posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
display<=2'd0;
else if(delay_cnt==26'd49999999)
display<=display+1'b1;
else
display<=display;
end

always@(display)
begin
case(display)
3'h1: led=4'b1110;
3'h2: led=4'b1111;
3'h3: led=4'b1011;
3'h4: led=4'b1111;
3'h5: led=4'b1101;
3'h6: led=4'b1111;
3'h7: led=4'b0111;
3'h8: led=4'b1111;
endcase
end
endmodule


助工
2014-06-04 14:24:41 打赏
6楼

//向左流水灯功能


module led_yjg (sys_rst,
sys_clk,
led);
input sys_rst;
input sys_clk;
output led;
reg [3:0] led;
reg [25:0] delay_cnt;
reg [1:0] display;
always @ (posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
delay_cnt<=26'd0;
else if(delay_cnt==26'd49999999)
delay_cnt<=26'd0;
else
delay_cnt<=delay_cnt+1'b1;
end
always @ (posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
display<=2'd0;
else if(delay_cnt==26'd49999999)
display<=display+1'b1;
else
display<=display;
end
always @ (display)
begin
case(display)
2'h1: led=4'b0111;
2'h2: led=4'b0011;
2'h3: led=4'b0001;
2'h4: led=4'b0000;
endcase
end
endmodule



助工
2014-06-04 14:25:23 打赏
7楼

//向右跑马灯功能


module horse_lamp_right (sys_rst,
sys_clk,
led);
input sys_rst;
input sys_clk;
output led;
reg [3:0] led;
reg [25:0] delay_cnt;
reg [1:0] display;
always @ (posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
delay_cnt<=26'd0;
else if(delay_cnt==26'd49999999)
delay_cnt<=26'd0;
else
delay_cnt<=delay_cnt+1'b1;
end
always @ (posedge sys_clk or negedge sys_rst)
begin
if(!sys_rst)
display<=2'd0;
else if(delay_cnt==26'd49999999)
display<=display+1'b1;
else
display<=display;
end
always @ (display)
begin
case(display)
2'h1: led=4'b1110;
2'h2: led=4'b1101;
2'h3: led=4'b1011;
2'h4: led=4'b0111;
endcase
end
endmodule



助工
2014-06-04 14:26:21 打赏
8楼
敬请各位老师同行批评指正,程序哪些地方需要更改简化等等。。。。,真心期待

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]