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

📄 buzz1.v

📁 数字电子琴控制器的VERILOG代码
💻 V
字号:
//简易电子琴
module buzz1 ( SW,CLK,BUZZ,LED);
	input CLK;
	input [3:0] SW;
	output BUZZ;
	output [7:0] LED;
	
	reg buzzout_reg;
	reg [31:0] counter,counter_end;
	reg [7:0] keyin_reg;

	always @ (posedge CLK)
	begin
		counter=counter+1;
		if((counter==counter_end)&(!(counter_end==32'h000ffff0)))
			begin
			counter=32'h00000000;
			buzzout_reg=~buzzout_reg;
			end
	end

	always @ (SW)
	begin
		keyin_reg={4'b1111,SW};
		case(keyin_reg)
		8'b11111110:counter_end=32'h00017572;   //中音1    
		8'b11111101:counter_end=32'h00014cba;	//中音2   
		8'b11111011:counter_end=32'h00012860;	//中音3   
		8'b11110111:counter_end=32'h0001176a;	//
		8'b11101111:counter_end=32'h00001b8d;	//
		8'b11011111:counter_end=32'h0000188b;	//
		8'b10111111:counter_end=32'h000015dd;	//
		8'b01111111:counter_end=32'h000014a3;	//高音1   
		8'b11111100:counter_end=32'h00001263;	//
		8'b11111010:counter_end=32'h00001061;	//
		8'b11110110:counter_end=32'h00000f76;	//
		8'b11101110:counter_end=32'h00000dc6;	//高音5   
		8'b11011110:counter_end=32'h00000c45;
		8'b10111110:counter_end=32'h00000ae8;
		default:counter_end=32'h000ffff0;
		endcase
	end

	assign BUZZ=buzzout_reg;
	assign LED=keyin_reg;
endmodule

⌨️ 快捷键说明

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