这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » yancey小波的进程帖

共19条 1/2 1 2 跳转至

yancey小波的进程帖

菜鸟
2012-11-03 22:04:02     打赏
LED篇    
实验一  点亮LED 2楼                  
实验二  闪烁灯 3楼  
实验三  流水灯  4楼  
实验四  跑马灯 5楼  
实验四  花样彩灯       10楼  
数码管篇    
实验一  数码管静态显示    11楼  
实验二 数码管动态显示       13楼  
按键篇    
实验一 按键控制数码管(未消抖)      14楼  
实验二 按键控制数码管(消抖)          15楼  
 蜂鸣器篇    
 实验一  蜂鸣器发出救护车鸣笛  16楼  
 实验二 蜂鸣器演奏音乐:两只老虎  17楼  
 液晶篇    
 实验一 lcd1602显示:静态显示  18楼  
 实验一 lcd1602显示:滚动循环显示  19楼  
     
     

                 

---------------------------------------------------------------------------------------------------------------------------



11月1日收到FPGA开发板,下载器。

自备了一个5V,1A适配器。

上图!













关键词: yancey     小波     进程     实验    

菜鸟
2012-11-03 22:07:55     打赏
2楼
实验一  点亮LED

代码

//Name:  led.v
//Funtion:
//        D8---D1
//        led[7:0]
//Author:  YanceyLu

module led(led);
output [7:0] led;
assign led=8'b10101010;
endmodule



效果图



菜鸟
2012-11-03 22:18:42     打赏
3楼

实验二:闪烁灯

代码

//Name:  led_flicker.v
//Function:
//   50MHz PIN_27        SW7          D8---D1
//   clk                              rst              led[7:0]
//Author:  YanceyLu

module led_flicker(clk,rst,led);
input clk,rst;
output [7:0] led;

reg [7:0] led;
reg [25:0] delay_cnt;

always @(posedge clk or negedge rst)
begin
 if(!rst)
  delay_cnt<=0;
 else
  begin
   if(delay_cnt==49999999)
    delay_cnt<=0;
   else
    delay_cnt<=delay_cnt+1;
  end
end

always @(posedge clk or negedge rst)
begin
 if(!rst)
  led<=8'b11111111;
 else
  begin
   if(delay_cnt==49999999)
    led<=~led;
   else
    led<=led;
  end
end
endmodule



效果视频


菜鸟
2012-11-04 11:13:56     打赏
4楼

实验三  流水灯

代码

//Name:  led_water.v
//Function:
//           50MHz PIN_27             SW8                D8---D1
//           clk                                   rst                     led[7:0]
//Author:  YanceyLu

module led_water(clk,rst,led);
input clk,rst;
output [7:0] led;

reg [7:0] led;
reg [25:0] delay_cnt;

always @(posedge clk or negedge rst)
begin
 if(!rst)
  delay_cnt<=0;
 else
  begin
   if(delay_cnt==24999999)
    delay_cnt<=0;
   else
    delay_cnt<=delay_cnt+1;
  end 
end

always @(posedge clk or negedge rst)
begin
 if(!rst)
  led<=8'b11111111;
 else
  begin
   if(delay_cnt==24999999)
    begin
     led<=led>>1;
     if(led==0)
      led<=8'b11111111;     
    end
   else
    led<=led;
  end
end
endmodule


效果视频


菜鸟
2012-11-04 11:16:23     打赏
5楼

实验四  跑马灯

代码

//Name:  led_run.v
//Function:
//                   50MHz PIN_27                    SW8                      D8---D1
//                   clk                                           rst                          led[7:0]
//Author:  YanceyLu

module led_run(clk,rst,led);
input clk,rst;
output [7:0] led;

reg [7:0] led;
reg [25:0] delay_cnt;

always @(posedge clk or negedge rst)
begin
 if(!rst)
  delay_cnt<=0;
 else
  begin
   if(delay_cnt==24999999)
    delay_cnt<=0;
   else
    delay_cnt<=delay_cnt+1;
  end 
end

always @(posedge clk or negedge rst)
begin
 if(!rst)
  led<=8'b01111111;
 else
  begin
   if(delay_cnt==24999999)
    begin
     led<={led[0],led[7:1]};     
    end
   else
    led<=led;
  end
end
endmodule


效果视频


院士
2012-11-04 12:28:05     打赏
6楼
哇~~
大家的进度好快啊~~

菜鸟
2012-11-04 19:35:41     打赏
7楼
你好,请问数码管的该怎样设置引脚啊,今天配置半天也没弄好

菜鸟
2012-11-04 19:44:42     打赏
8楼
嘿嘿,买的成品板。直接写代码!

菜鸟
2012-11-04 19:47:15     打赏
9楼
啊?我还没看到数码管。积分不够,都没下载下来。
呵呵,耐心点,加油!

菜鸟
2012-11-04 21:49:00     打赏
10楼

实验四  花样彩灯


代码

//Name:  led_more.v
//Function:
//   50MHz PIN_27           SW8              D8---D1
//   clk                                 rst                  led[7:0]
//Author:  YanceyLu

module led_more(clk,rst,led);
input clk,rst;
output [7:0] led;

reg [7:0] led;
reg [25:0] delay_cnt;
reg [7:0] state;
reg clk1;

wire newclk;
assign newclk=clk1;

always @(posedge clk or negedge rst)
begin
 if(!rst)
  begin
   delay_cnt<=0;
   clk1<=0;
  end
 else
  begin
   if(delay_cnt==12499999)
    begin
     delay_cnt<=0;
     clk1<=~clk1;
    end
   else
    delay_cnt<=delay_cnt+1;
  end 
end

 

always @(posedge newclk or negedge rst)
begin
 if(!rst)
  begin
   led<=0;
   state<=0;
  end
 else
  begin
  state<=state+1;
  case(state)
  //led flicker
  0: led<=0;
  1: led<=8'b11111111;
  2: led<=0;
  3: led<=8'b11111111;
  //led water
  4: led<=8'b01111110;
  5: led<=8'b00111100;
  6: led<=8'b00011000;
  7: led<=0;
  8: led<=8'b11111111;
  9: led<=8'b01111110;
  10: led<=8'b00111100;
  11: led<=8'b00011000;
  12: led<=0; 
  //led run
  13: led<=8'b11111111;
  14: led<=8'b01111110;
  15: led<=8'b10111101;
  16: led<=8'b11011011;
  17: led<=8'b11100111;
  18: led<=8'b11111111;  
  19: led<=8'b01111110;
  20: led<=8'b10111101;
  21: led<=8'b11011011;
  22: led<=8'b11100111; 
  23: led<=8'b11111111;   
  default:
   state<=0;
  endcase
  end
end
endmodule



效果视频


共19条 1/2 1 2 跳转至

回复

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