Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2007432
  • 博文数量: 356
  • 博客积分: 8284
  • 博客等级: 中将
  • 技术积分: 4580
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-15 20:25
个人简介

天行健,君子以自强不息

文章分类

全部博文(356)

文章存档

2018年(1)

2016年(4)

2015年(13)

2014年(14)

2013年(2)

2012年(25)

2011年(43)

2010年(65)

2009年(189)

分类:

2009-09-26 11:48:38

module song(clk,key,song_out,led);
input [7:0] key;
input clk;
output song_out;
output [7:0] led;
reg song_reg;
reg [21:0] count;
reg [19:0] delay;
reg [7:0] key_reg;
always @(posedge clk)
 begin
  count=count+1;
  if((count==delay)&(!(delay==20'd65535)))
   begin
    count=22'd0;
    song_reg=!song_reg;
   end
 end
 
always @(key)
 begin
 key_reg=key;
 case(key_reg)
 8'b0000_0001: delay=20'd47774;  //zhong yin 1     523.3HZ
 8'b0000_0010: delay=20'd42568; //zhong yin 2     587.3HZ
 8'b0000_0100: delay=20'd37919;  //zhong yin 3   659.3HZ
 8'b0000_1000: delay=20'd35791; //zhong yin 4   698.5HZ
 8'b0001_0000: delay=20'd31888; //zhong yin 5   784HZ 
 8'b0010_0000: delay=20'd28409; //zhong yin 6     880HZ
 8'b0100_0000: delay=20'd25309; //zhong yin 7   987.8HZ
 8'b1000_0000: delay=20'd23889; //gao   yin 1   1046.5HZ
 default: delay=20'd65535;
 endcase
 end
assign song_out=song_reg;
文件: song.rar
大小: 357KB
下载: 下载

assign led=key_reg;
endmodule
 
阅读(1401) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~