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

📄 paobiao.v

📁 用硬件描述语言编写的跑表程序。实现了跑表秒到分的记时。
💻 V
字号:
module paobiao(CLK,CLR,PAUSE,MSH,MSL,SH,SL,MH,ML);
input CLK,CLR;
input PAUSE;
output[3:0] MSH,MSL,SH,SL,MH,ML;
reg[3:0] MSH,MSL,SH,SL,MH,ML;
reg cn1,cn2;//cn1 为百分秒向秒的进位,cn2 为秒向分的进位

//百分秒计数进程,每计满100,cn1 产生一个进位
always @(posedge CLK or posedge CLR)
begin
	if(CLR) begin //异步复位
		{MSH,MSL}<=8'h00;
		cn1<=0;
		end
	else if(!PAUSE) //PAUSE 为0 时正常计数,为1 时暂停计数
		begin
		if(MSL==9) begin
				MSL<=0;
				if(MSH==9)begin
				MSH<=0;
				cn1<=1;
				end
		else MSH<=MSH+1;
		end
	else begin
		MSL<=MSL+1;
		cn1<=0;
		end
	end
end

//秒计数进程,每计满60,cn2 产生一个进位
always @(posedge cn1 or posedge CLR)
begin
	if(CLR) begin//异步复位 
			{SH,SL}<=8'h00;
			cn2<=0;
			end
	else if(SL==9)begin//低位是否为9 
			SL<=0;
			if(SH==5)begin
				SH<=0;
				cn2<=1;
				end
			else SH<=SH+1;
			end
		else begin
			SL<=SL+1;
			cn2<=0;
			end
end

//分钟计数进程,每计满60,系统自动清零
always @(posedge cn2 or posedge CLR)
begin
	if(CLR)begin
		{MH,ML}<=8'h00;
		end //异步复位
	else if(ML==9) begin
				ML<=0;
				if(MH==5)MH<=0;
				else MH<=MH+1;
				end
		else ML<=ML+1;
end
endmodule

⌨️ 快捷键说明

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