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

📄 paobiao.v.txt

📁 秒表
💻 TXT
字号:
/*信号定义: 
CLK: CLK 为时钟信号; 
CLR: 为异步复位信号; 
PAUSE: 为暂停信号; 
MSH,MSL: 百分秒的高位和低位; 
SH,SL: 秒信号的高位和低位; 
MH,ML: 分钟信号的高位和低位。 */ 
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) //低位是否为9 
begin 
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 + -