module paobiao(clk,key1,key2,key3,omsh,omsd,omsl,osh,osl,omh,oml,oh);
input clk,key1,key2,key3;
output[3:0] omsh,omsd,omsl,osh,osl,omh,oml,oh;
reg[3:0] omsh,omsd,omsl,osh,osl,omh,oml,oh; //8 位 reg 型分别对应毫秒高中低位,秒高低位,小时位
reg[3:0] msh,msd,msl,sh,sl,mh,ml,h; //8 位 reg 型分别对应毫秒高中低位,秒高低位,小时位
reg clr,pause,oe; //clr 为清 0 位,pause 为停止位,oe 为显示允许位
reg cn1,cn2,cn3,fclk;
reg dkey1,dkey2,dkey3;
integer i,j,k;
reg[4:0] l;
reg[1:0] state,nstate;
parameter state1=2'b01,state2=2'b10,state3=2'b11;
always @(posedge clk) //key1 键去抖动
begin
if(key1) i=i+1;
else i=0;
end
always @(posedge clk)
begin
if((i>20)&(i<40)) dkey1<=1;
else dkey1<=0;
end
always @(posedge clk) //key2 键去抖动
begin
if(key2) j=j+1;
else j=0;
end
always @(posedge clk)
begin
if((j>20)&(j<40)) dkey2<=1;
else dkey2<=0;
end
always @(posedge clk) //key3 键去抖动
begin
if(key3) k=k+1;
else k=0;
end
always @(posedge clk)
begin
if((k>20)&(k<40)) dkey3<=1;
else dkey3<=0;
end
always @(posedge clk ) //累加