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

📄 max542.v

📁 计算实用教程adadad9851实用教程
💻 V
字号:
module max542(
                CLK,            //Clock of this module  8MHz
                Addr,           //0:write data to the low 8 bits;1:write data to the high 8 bits
				CS_in,          //Chip_select from the mcu to this module
				WR,             //Write signal from the mcu to this module
				D_in,           //Data input port from the mcu to this module
				CS,             //Chip_select to Max542
				SCLK,           //Serial clock to Max542
				D_out           //Data output port of this module and the data input port of Max542
              );

input CS_in;
input Addr;
input WR;
input CLK;
input [7:0] D_in;
output CS;
output SCLK;
output D_out;

reg[15:0] DATA;
reg[15:0] D_temp;
reg CS;
reg D_out;
reg SCLK;
reg[5:0] count;                   //state counter

wire CLK_4;

fp_2 fp_2_1(CLK,CLK_4);

always@(posedge CLK) 
	begin
		if((!CS_in)&(!WR)&(!Addr))
			D_temp[7:0]<=D_in;
		if((!CS_in)&(!WR)&Addr)
			D_temp[15:8]<=D_in;         
	end
	

always@(posedge CLK_4)
	begin
	    if(count<50)
			count<=count+1;
		else
		    count<=0;
	end 

always@(posedge CLK_4)
	   begin
		case(count)
			1:begin
				CS<=1;
				SCLK<=0;
				DATA<=D_temp;
			  end				
			3:begin
				CS<=0;
			  end
			4:begin
				D_out<=DATA[15];	
			  end
			5:begin
			    SCLK<=1;
			  end
			6:begin
				SCLK<=0;
				D_out<=DATA[14];
			  end
			7:begin
			    SCLK<=1;
			  end	
			8:begin
				SCLK<=0;
				D_out<=DATA[13];
			  end	
			9:begin
			    SCLK<=1;
			  end	
			10:begin
				SCLK<=0;
				D_out<=DATA[12];
			  end	
			11:begin
			    SCLK<=1;
			  end
			12:begin
				SCLK<=0;
				D_out<=DATA[11];
			  end
			13:begin
			    SCLK<=1;
			  end	
			14:begin
				SCLK<=0;
				D_out<=DATA[10];
			  end	
			15:begin
			    SCLK<=1;
			  end	
			16:begin
				SCLK<=0;
				D_out<=DATA[9];
			  end	
			17:begin
			    SCLK<=1;
			  end	
			18:begin
				SCLK<=0;
				D_out<=DATA[8];
			  end	
			19:begin
			    SCLK<=1;
			  end	
			20:begin
				SCLK<=0;
				D_out<=DATA[7];
			  end	
			21:begin
			    SCLK<=1;
			  end	
			22:begin
				SCLK<=0;
				D_out<=DATA[6];
			  end	
			23:begin
			    SCLK<=1;
			  end	
			24:begin
				SCLK<=0;
				D_out<=DATA[5];
			  end	
			25:begin
			    SCLK<=1;
			  end	
			26:begin
				SCLK<=0;
				D_out<=DATA[4];
			  end	
			27:begin
			    SCLK<=1;
			  end	
			28:begin
				SCLK<=0;
				D_out<=DATA[3];
			  end	
			29:begin
			    SCLK<=1;
			  end	
			30:begin
				SCLK<=0;
				D_out<=DATA[2];
			  end	
			31:begin
			    SCLK<=1;
			  end	
			32:begin
				SCLK<=0;
				D_out<=DATA[1];
			  end
			33:begin
			    SCLK<=1;
			  end	
			34:begin
				SCLK<=0;
				D_out<=DATA[0];
			  end	
			35:begin
				SCLK<=1;
			  end
			37:begin
				SCLK<=0;
			  end
			39:begin
				CS<=1;
			  end
		endcase   
	end	
	
endmodule	

⌨️ 快捷键说明

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