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

📄 max195.v

📁 计算实用教程adadad9851实用教程
💻 V
字号:
module max195(
				COV,             //Starting of conversion for Max195
				CS,              //Chip_select of this module
				RD,              //RD signal from mcu
				Addr,            //0:low 8 bits of data; 1:high 8 bits of data 
				D_out,           //Data output port to mcu
				D_in,            //Data input port from Max195
				CLK,             //Clock of this module ,8 times of the clock for ADC Max195  8MHz
				INT,             //Interrupt signal to mcu
				CLK_MAX195       //1MHz
              );

output COV;
input CS;
input RD;
input D_in;
input CLK;
input Addr;
output [7:0] D_out;
output INT;
output CLK_MAX195;

reg[15:0] DATA;
reg[15:0] D_temp;
reg[7:0] D_out;
reg INT;
reg[6:0] count;                   //Status Counter for this module
reg CLK_MAX195;
reg COV;

wire CLK_4;

fp_2 fp_2_1(CLK,CLK_4);

always@(posedge CLK_4)
	begin
		count<=count+1;
		if(count[1])
		  CLK_MAX195<=1;
		else
		  CLK_MAX195<=0; 
	end
	
	
always@(posedge CLK_4)
	begin
		case(count)
			1:begin
			    INT<=1;
				COV<=0;
			  end
			7:COV<=1;
			9:DATA[15]<=D_in;
			13:DATA[14]<=D_in;
			17:DATA[13]<=D_in;
			21:DATA[12]<=D_in;
			25:DATA[11]<=D_in;
			29:DATA[10]<=D_in;
			33:DATA[9]<=D_in;
			37:DATA[8]<=D_in;
			41:DATA[7]<=D_in;
			45:DATA[6]<=D_in;
			49:DATA[5]<=D_in;
			53:DATA[4]<=D_in;
			57:DATA[3]<=D_in;
			61:DATA[2]<=D_in;
			65:DATA[1]<=D_in;
			69:DATA[0]<=D_in;
			71:INT<=0;
			79:INT<=1;
			80:D_temp<=DATA;
		endcase	
	end	


always@(posedge CLK)
	begin
		if((!CS)&(!RD)&(!Addr))
		  D_out<=D_temp[7:0];
		if((!CS)&(!RD)&Addr)
		  D_out<=D_temp[15:8];
	end
	
endmodule	

⌨️ 快捷键说明

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