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

共34条 2/4 1 2 3 4 跳转至
专家
2012-10-03 11:24:28     打赏
11楼

5、VGA八色显示

视频:



源码:

module veg_8_colour(
   clk,rst_n,
   hsync,vsync,
   vga_r,vga_g,vga_b
  );

input clk;  //50MHz
input rst_n; //低电平复位
output hsync; //行同步信号
output vsync; //场同步信号
output vga_r;
output vga_g;
output vga_b;

//--------------------------------------------------
reg[10:0] x_cnt; //行坐标
reg[9:0] y_cnt; //列坐标

always @ (posedge clk or negedge rst_n)
 if(!rst_n) x_cnt <= 11'd0;
 else if(x_cnt == 11'd1039) x_cnt <= 11'd0;
 else x_cnt <= x_cnt+1'b1;

always @ (posedge clk or negedge rst_n)
 if(!rst_n) y_cnt <= 10'd0;
 else if(y_cnt == 10'd665) y_cnt <= 10'd0;
 else if(x_cnt == 11'd1039) y_cnt <= y_cnt+1'b1;

//--------------------------------------------------
wire valid; //有效显示区标志

assign valid = (x_cnt >= 11'd187) && (x_cnt < 11'd987)
     && (y_cnt >= 10'd31) && (y_cnt < 10'd631);

wire[9:0] xpos,ypos; //有效显示区坐标

assign xpos = x_cnt-11'd187;
assign ypos = y_cnt-10'd31;

//--------------------------------------------------
reg hsync_r,vsync_r; //同步信号产生

always @ (posedge clk or negedge rst_n)
 if(!rst_n) hsync_r <= 1'b1;
 else if(x_cnt == 11'd0) hsync_r <= 1'b0; //产生hsync信号
 else if(x_cnt == 11'd120) hsync_r <= 1'b1;
 
always @ (posedge clk or negedge rst_n)
 if(!rst_n) vsync_r <= 1'b1;
 else if(y_cnt == 10'd0) vsync_r <= 1'b0; //产生vsync信号
 else if(y_cnt == 10'd6) vsync_r <= 1'b1;

assign hsync = hsync_r;
assign vsync = vsync_r;

//--------------------------------------------------

//对行进行8等分,显示8个区间
//用红蓝绿及三种颜色的叠加使得显示8种颜色

wire a_dis,b_dis,c_dis,d_dis,e_dis,f_dis,g_dis,h_dis; 

assign a_dis = ( (xpos>=0  ) && (xpos<=100) );
assign b_dis = ( (xpos>=100) && (xpos<=200) );
assign c_dis = ( (xpos>=200) && (xpos<=300) );
assign d_dis = ( (xpos>=300) && (xpos<=400) );
assign e_dis = ( (xpos>=400) && (xpos<=500) );
assign f_dis = ( (xpos>=500) && (xpos<=600) );
assign g_dis = ( (xpos>=600) && (xpos<=700) );
assign h_dis = ( (xpos>=700) && (xpos<=800) );


//--------------------------------------------------
//r,g,b控制液晶屏颜色显示
//a显示红色
//b显示绿色
//c显示蓝色
//d区间为红绿叠加 显示黄色
//e区间为红蓝叠加 显示紫色
//f区间为蓝绿叠加 显示天蓝色
//h区间没有任何颜色  显示黑色

assign vga_r = valid ?  (a_dis | d_dis | e_dis | g_dis) : 1'b0;
assign vga_g = valid ?  (b_dis | d_dis | f_dis | g_dis) : 1'b0;
assign vga_b = valid ?  (c_dis | e_dis | f_dis | g_dis) : 1'b0;  

endmodule


sof文件:http://share.eepw.com.cn/share/download/id/79019


专家
2012-10-10 18:45:15     打赏
12楼

6、硬件电子琴

视频:





源码:

module key_song(
              key,clk,rst_n,
              beep,led
              );
  input clk,rst_n;
  input [7:0] key;
  output beep;
  output [7:0] led;

  reg beep_reg;
  reg [15:0] count, delay;
  reg [7:0] key_reg;
 
  always @ (posedge clk or negedge rst_n)
     if(!rst_n)
         count <= 16'd0;
  else if((count==delay)&(!(delay==16'd65535)))
   begin
   count <= 16'd0;
   beep_reg <= ~beep_reg;
   end
     else
      count <= count + 1'b1;
 
  always @ (key)
 begin
  key_reg=key;
  case(key_reg)
  8'b11111110: delay <=16'd47774; //中音1
  8'b11111101: delay <=16'd42567; //中音2
  8'b11111011: delay <=16'd37919; //中音3
  8'b11110111: delay <=16'd35791; //中音4
  8'b11101111: delay <=16'd31888; //中音5
  8'b11011111: delay <=16'd28409; //中音6
  8'b10111111: delay <=16'd25309; //中音7
  8'b01111111: delay <=16'd23889; //高音1
  default: delay <=16'd65535;
  endcase
 end
assign beep=beep_reg;
assign led=key_reg;
endmodule


sof文件:key_song.zip


专家
2012-10-11 13:32:26     打赏
13楼
7、硬件乐曲自动弹奏 《两只老虎》

今天给大家带来一首经典的歌曲《两只老虎》

视频:


专家
2012-10-11 18:21:25     打赏
14楼
怎么加立体?

专家
2012-10-11 19:46:29     打赏
15楼
8、数码管动态显示  进程日期:2012 10 11

视频:


专家
2012-10-11 21:45:48     打赏
16楼

谢谢提醒!

18b20当时焊的时候就改过来了,两个103的电位器到现在还没有改,因为对现在做的没有什么影响。  等进程到了AD跟LCD的时候 ,就把它卸下来改改。


专家
2012-10-14 12:09:23     打赏
17楼
我正在弄数字钟,晚上应该可以发到我进程上的

专家
2012-10-14 17:22:03     打赏
18楼
综合实验:交通灯 

红灯可以等待,生命不可重来


视频:





sof下载文件:1、交通灯sof文件Y1.zip
                       2、交通灯sof文件Y2.zip

专家
2012-10-14 19:10:00     打赏
19楼

   谢谢!!!


专家
2012-10-14 21:14:28     打赏
20楼

TCL引脚分配文件的使用教程

我将之前今编写的TCL文件编写了一个使用教程,希望对各位网友有所帮助。

TCL引脚分配文件的使用教程.pdf

下面是之前上传的TCL文件

FPGA开发板DIY 脚本文件
http://share.eepw.com.cn/share/download/id/78986


共34条 2/4 1 2 3 4 跳转至

回复

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