这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 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 跳转至

回复

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