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

📄 stopwatch.v

📁 基于Altera公司系列FPGA(Cyclone EP1C3T144C8)、Verilog HDL、MAX7219数码管显示芯片、4X4矩阵键盘、TDA2822功放芯片及扬声器等实现了《电子线路设计&
💻 V
字号:
// StopWatch.v	 		秒表模块		2006-11-5		version:1.0		作者:田世坤
//输入:
//		
//		
//输出:

module StopWatch(ClkIn, KeyIn, State, 
					DSW7, DSW6, DSW5, DSW4, DSW3, DSW2, DSW1, DSW0);
input ClkIn;
input [7:0]KeyIn;
input [11:0]State;
output [3:0] DSW7, DSW6, DSW4, DSW3, DSW1, DSW0;
reg    [3:0] DSW7, DSW6, DSW4, DSW3, DSW1, DSW0;
output [3:0] DSW5, DSW2;
assign DSW2 = 4'ha;					
assign DSW5 = 4'ha;

parameter SSW =  12'b0111_00000000, SSWRun =  12'b0111_00000100, SSWPause =  12'b0111_00000001;

integer i = 1;

always @(posedge ClkIn)
begin
	case(State)
		SSW:
			begin
				i = 1;
				DSW0 = 4'h0;
				DSW1 = 4'h0;
				//DSW2 = 4'ha;
				DSW3 = 4'h0;
				DSW4 = 4'h0;
				//DSW5 = 4'ha;
				DSW6 = 4'h0;
				DSW7 = 4'h0;
			end
		SSWRun:
			begin
				i = i + 1;
			end
		SSWPause:
			begin
				i = i;
			end
		default:
			begin
				
			end
	endcase
	
	if(i == 200)
		begin
			i = 1;			//时、分、秒
			
			DSW0 = DSW0 + 4'h1;
			if(DSW0 > 4'h9)
			begin
				DSW0 = 4'h0;
				DSW1 = DSW1 + 4'h1;
			end
			if(DSW1 > 4'h9)
			begin
				DSW1 = 4'h0;
				DSW3 = DSW3 + 4'h1;
			end
			if(DSW3 > 4'h9)
			begin
				DSW3 = 4'h0;
				DSW4 = DSW4 + 4'h1;
			end
			if(DSW4 > 4'h5)
			begin
				DSW4 = 4'h0;
				DSW6 = DSW6 + 4'h1;
			end
			if(DSW6 > 4'h9)
			begin
				DSW6 = 4'h0;
				DSW7 = DSW7 + 4'h1;
			end
			if(DSW7 > 4'h5)
			begin
				DSW6 = 4'h0;
				DSW7 = 4'h0;
			end
		end

end

endmodule

⌨️ 快捷键说明

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