always@(posedge clk or negedge key1)
begin
if(!key1)) //是否需要清零
begin
sec1[3:0]=1'b0;
sec2[3:0]=1'b0;
min1[3:0]=1'b0;
min2[3:0]=1'b0;
hour1[3:0]=1'b0;
else if(!key1)
begin
sec1[3:0]=sec[3:0]+1'b1; //秒的個(gè)位加1
if(sec1[3:0]==4'ha) //秒的個(gè)位等于10
begin
sec1[3:0]=4'b0; //秒的個(gè)位清零
sec2[3:0]=sec[3:0]+1'b1; //秒的十位加1
if(sec2[3:0]==4'h6) //秒的十位為6
begin
sec2[3:0]=4'h0; //秒的十位清零
min1[3:0]=min1[3:0]+1'b1; //分鐘的個(gè)位加1
if(sec2[3:0]==4'ha)
begin
min1[3:0]=4'h0; //分鐘的個(gè)位清零
min2[3:0]=min[3:0]+1'b1; //分的十位加1
if(min2[3:0]==4'h6) //分的十位為6
begin
min2[3:0]=4'h0; //分的十位清零
hour1[3:0]=hour1[3:0]+1'b1; //時(shí)的個(gè)位加1
if(hour[3:0]==4'h1) //時(shí)的個(gè)位為1
hout1[3:0]=4'h0; //時(shí)的個(gè)位清零(計(jì)時(shí)器最長(zhǎng)計(jì)時(shí)為1小時(shí))
end
end
end
end
end
end
end
endmodule