標題: 電子時鐘源程序零錯誤 用quartus可以運行出來的 [打印本頁]
作者: 岸芷汀蘭樂琪 時間: 2018-7-5 14:28
標題: 電子時鐘源程序零錯誤 用quartus可以運行出來的
module F50M_1(reset,clk_in,f1hz_out);
input reset,clk_in;
output f1hz_out;
reg f1hz_out;
reg[31:0]count;
always@(posedge clk_in or negedge reset)
if(!reset)
begin
f1hz_out<=0;
count<=0;
end
else
begin
if(count==24999999)//0.5s
begin
count<=0;
f1hz_out<=~f1hz_out;
end
else
count<=count+1;
end
endmodule
///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
//頂層模塊
module SEG(k1,k2,k3,stop,clr,clk_in,sec1,sec2,min1,min2,hou1,hou2);
input stop,clr,clk_in,k1,k2,k3;
output sec1,sec2,min1,min2,hou1,hou2;
reg [7:0]sec1,sec2,min1,min2,hou1,hou2;
reg[3:0] second1;
reg[3:0]minute1;
reg[3:0]hour1;
reg[2:0]second2;
reg[2:0]minute2;
reg[1:0]hour2;
wire f1hz_out;
F50M_1(stop,clk_in,f1hz_out);//調用一個元件,上面的分頻器,例化語句
always@(posedge f1hz_out or negedge clr )
begin
if(!clr)
begin
second1<=0 ;
second2<=0 ;
minute1<=0 ;
minute2<=0 ;
hour1<=0 ;
hour2<=0 ;
// sec<=8'hc0; //0
end
else if(!k1)
begin
if(second1==9)//0.5s
begin
second1<=0 ;
if(second2==5)
begin
second2<=0 ;
end
else
begin
second2<=second2+1;
end
end
else
begin
second1<=second1+1;
end
end
else if(!k2)
begin
if(minute1==9)//0.5s
begin
minute1<=0 ;
if(minute2==5)
begin
minute2<=0 ;
end
else
begin
minute2<=minute2+1;
end
end
else
begin
minute1<=minute1+1;
end
end
else if(!k3)
begin
if(hour1==9)
begin
hour1<=0;
hour2<=hour2+1;
end
else
begin
hour1<=hour1+1;
end
if((hour2==2)&&(hour1==3))
begin
hour1<=0;
hour2<=0;
end
end
else
begin
if(second1==9)//0.5s
begin
second1<=0 ;
if(second2==5)
begin
second2<=0 ;
if(minute1==9)
begin
minute1<=0;
if(minute2==5)
begin
minute2<=0;
if(hour1==9)
begin
hour1<=0;
hour2<=hour2+1;
end
else
begin
hour1<=hour1+1;
end
if((hour2==2)&&(hour1==3))
begin
hour1<=0;
hour2<=0;
end
end
else
begin
minute2<=minute2+1;
end
end
else
begin
minute1<=minute1+1;
end
end
else
begin
second2<=second2+1;
end
end
else
begin
second1<=second1+1;
end
end
end
///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(second1)
4'b0000: sec1<=8'hc0; //0
4'b0001: sec1<=8'hf9; //1
4'b0010: sec1<=8'ha4; //2
4'b0011: sec1<=8'hb0; //3
4'b0100: sec1<=8'h99; //4
4'b0101: sec1<=8'h92; //5
4'b0110: sec1<=8'h82; //6
4'b0111: sec1<=8'hf8; //7
4'b1000: sec1<=8'h80; //8
4'b1001: sec1<=8'h90; //9
default: sec1<=8'hc0;
endcase
end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(second2)
4'b0000: sec2<=8'hc0; //0
4'b0001: sec2<=8'hf9; //1
4'b0010: sec2<=8'ha4; //2
4'b0011: sec2<=8'hb0; //3
4'b0100: sec2<=8'h99; //4
4'b0101: sec2<=8'h92; //5
default: sec2<=8'hc0;
endcase
end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(minute1)
4'b0000: min1<=8'h40; //0
4'b0001: min1<=8'h79; //1
4'b0010: min1<=8'h24; //2
4'b0011: min1<=8'h30; //3
4'b0100: min1<=8'h19; //4
4'b0101: min1<=8'h12; //5
4'b0110: min1<=8'h02; //6
4'b0111: min1<=8'h78; //7
4'b1000: min1<=8'h00; //8
4'b1001: min1<=8'h10; //9
default: min1<=8'h40;
endcase
end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(minute2)
4'b0000: min2<=8'hc0; //0
4'b0001: min2<=8'hf9; //1
4'b0010: min2<=8'ha4; //2
4'b0011: min2<=8'hb0; //3
4'b0100: min2<=8'h99; //4
4'b0101: min2<=8'h92; //5
default: min2<=8'hc0;
endcase
end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(hour1)
4'b0000: hou1<=8'h40; //0
4'b0001: hou1<=8'h79; //1
4'b0010: hou1<=8'h24; //2
4'b0011: hou1<=8'h30; //3
4'b0100: hou1<=8'h19; //4
4'b0101: hou1<=8'h12; //5
4'b0110: hou1<=8'h02; //6
4'b0111: hou1<=8'h78; //7
4'b1000: hou1<=8'h00; //8
4'b1001: hou1<=8'h10; //9
default: hou1<=8'h40;
endcase
end
////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
always
begin
case(hour2)
4'b0000: hou2<=8'hc0; //0
4'b0001: hou2<=8'hf9; //1
4'b0010: hou2<=8'ha4; //2
default: hou2<=8'hc0;
endcase
end
////////////////////////////////////////////////////////////////////
endmodule
作者: 岸芷汀蘭樂琪 時間: 2018-7-5 14:29
接下來就可以用仿真程序仿真了
作者: 開封彭于晏 時間: 2018-11-22 12:47
很感謝很實用
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
av中文字幕网站
|
国产精品久久久久久亚洲调教
|
蜜臀久久99精品久久久久野外
|
91.色|
亚洲在线一区二区
|
欧美一级二级在线观看
|
精品一区二区三区av
|
成人免费看片
|
人妖videosex高潮另类
|
在线国产一区二区
|
国产精品福利视频
|
国产精品国产精品国产专区不卡
|
久久精品青青大伊人av
|
国产国语精品
|
日韩av一区二区在线观看
|
一级黄色在线
|
国产精品影视
|
中文字幕亚洲在线
|
av天天看
|
亚洲毛片在线观看
|
欧美一卡二卡在线
|
国产成人免费视频网站高清观看视频
|
国产va|
男女网站免费观看
|
日本电影免费完整观看
|
国产欧美在线观看
|
中文字幕成人
|
一区二区中文
|
国产精品 亚洲一区
|
免费的一级视频
|
亚洲人成人一区二区在线观看
|
亚洲国产激情
|
91色在线|
久久精品视频12
|
国产99久久久国产精品
|
99精品一区二区
|
91偷拍精品一区二区三区
|
日本国产欧美
|
久久美女网
|
中文在线一区二区
|
国产一区三区在线
|