⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buzz1.v

📁 利用xilinx实现一个简易的电子琴。简谱中的音名与频率一一对应。
💻 V
字号:
module buzz1 ( keyin,clk,buzzout,ledout);
	input clk;
	input [7:0] keyin;
	output buzzout;
	output [7:0] ledout;
	reg buzzout_reg;
	reg [19:0] counter,counter_end;
	reg [7:0] keyin_reg;

	always @ (posedge clk)
	begin
		counter=counter+1;
		if((counter==counter_end)&(!(counter_end==30'hffff0)))
			begin
			counter=31'h00000000;
			buzzout_reg=!buzzout_reg;
			end
	end

	always @ (keyin)
	begin
		keyin_reg=keyin;
		case(keyin_reg)
		8'b11111110:counter_end=20'h2945;   //中音1    
		8'b11111101:counter_end=20'h24c7;	//中音2   
		8'b11111011:counter_end=20'h2093;	//中音3   
		8'b11110111:counter_end=20'h1eec;	//
		8'b11101111:counter_end=20'h1b8d;	//
		8'b11011111:counter_end=20'h188b;	//
		8'b10111111:counter_end=20'h15dd;	//
		8'b01111111:counter_end=20'h14a3;	//高音1   
		8'b11111100:counter_end=20'h1263;	//
		8'b11111010:counter_end=20'h1061;	//
		8'b11110110:counter_end=20'hf76;	//
		8'b11101110:counter_end=20'hdc6;	//高音5   
		8'b11011110:counter_end=20'hc45;
		8'b10111110:counter_end=20'hae8;
		default:counter_end=20'hffff0;
		endcase
	end

assign buzzout=buzzout_reg;
assign ledout=keyin_reg;
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -