聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 带较时、闹铃功能的数字时钟

带较时、闹铃功能的数字时钟

时间:    下载该word文档
【例3】多功能数字钟
moduleclock(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_alert,LD_hour,LD_min;
inputclk,clk_1k,mode,change,turn;outputalert,LD_alert,LD_hour,LD_min;output[7:0]hour,min,sec;
reg[7:0]hour,min,sec,hour1,min1,sec1,ahour,amin;reg[1:0]m,fm,num1,num2,num3,num4;
reg[1:0]loop1,loop2,loop3,loop4,sound;regLD_hour,LD_min;
regclk_1Hz,clk_2Hz,minclk,hclk;regalert1,alert2,ear;
regcount1,count2,counta,countb;wirect1,ct2,cta,ctb,m_clk,h_clk;always@(posedgeclkbegin
clk_2Hz<=~clk_2Hz;
if(sound==3beginsound<=0;ear<=1;endelsebeginsound<=sound+1;ear<=0;endend
always@(posedgeclk_2Hzclk_1Hz<=~clk_1Hz;
always@(posedgemode
beginif(m==2m<=0;elsem<=m+1;endalways@(posedgeturnfm<=~fm;alwaysbegincase(m
2:beginif(fm
begincount1<=change;{LD_min,LD_hour}<=2;endelse
begincounta<=change;{LD_min,LD_hour}<=1;end{count2,countb}<=0;end
1:beginif(fm
begincount2<=change;{LD_min,LD_hour}<=2;endelse
begincountb<=change;{LD_min,LD_hour}<=1;end{count1,counta}<=2'b00;end
default:{count1,count2,counta,countb,LD_min,LD_hour}<=0;endcaseend
always@(negedgeclkif(count2begin
if(loop1==3num1<=1;

else
beginloop1<=loop1+1;num1<=0;endend
elsebeginloop1<=0;num1<=0;endalways@(negedgeclkif(countbbegin
if(loop2==3num2<=1;else
beginloop2<=loop2+1;num2<=0;endend
elsebeginloop2<=0;num2<=0;endalways@(negedgeclkif(count1begin
if(loop3==3num3<=1;else
beginloop3<=loop3+1;num3<=0;endend
elsebeginloop3<=0;num3<=0;endalways@(negedgeclkif(countabegin
if(loop4==3num4<=1;else
beginloop4<=loop4+1;num4<=0;endend
elsebeginloop4<=0;num4<=0;end
assignct1=(num3&clk|(!num3&m_clk;assignct2=(num1&clk|(!num1&count2;assigncta=(num4&clk|(!num4&h_clk;assignctb=(num2&clk|(!num2&countb;always@(posedgeclk_1Hzif(!(sec1^8'h59|turn&(!mbegin
sec1<=0;if(!(turn&(!mminclk<=1;end
elsebegin
if(sec1[3:0]==4'b1001
beginsec1[3:0]<=4'b0000;sec1[7:4]<=sec1[7:4]+1;elsesec1[3:0]<=sec1[3:0]+1;minclk<=0;end
assignm_clk=minclk||count1;always@(posedgect1begin
if(min1==8'h59beginmin1<=0;hclk<=1;endelsebegin
if(min1[3:0]==9
beginmin1[3:0]<=0;min1[7:4]<=min1[7:4]+1;endelsemin1[3:0]<=min1[3:0]+1;hclk<=0;
end
endend
assignh_clk=hclk||counta;always@(posedgecta
if(hour1==8'h23hour1<=0;elseif(hour1[3:0]==9
beginhour1[7:4]<=hour1[7:4]+1;hour1[3:0]<=0;endelsehour1[3:0]<=hour1[3:0]+1;always@(posedgect2if(amin==8'h59amin<=0;elseif(amin[3:0]==9
beginamin[3:0]<=0;amin[7:4]<=amin[7:4]+1;endelseamin[3:0]<=amin[3:0]+1;always@(posedgectb
if(ahour==8'h23ahour<=0;elseif(ahour[3:0]==9
beginahour[3:0]<=0;ahour[7:4]<=ahour[7:4]+1;endelseahour[3:0]<=ahour[3:0]+1;always
if((min1==amin&&(hour1==ahour&&(amin|ahour&&(!changeif(sec1<8'h20alert1<=1;elsealert1<=0;elsealert1<=0;alwayscase(m
3'b00:beginhour<=hour1;min<=min1;sec<=sec1;end3'b01:beginhour<=ahour;min<=amin;sec<=8'hzz;end3'b10:beginhour<=hour1;min<=min1;sec<=8'hzz;endendcase
assignLD_alert=(ahour|amin?1:0;
assignalert=((alert1?clk_1k&clk:0|alert2;alwaysbegin
if((min1==8'h59&&(sec1>8'h54||(!(min1|sec1if(sec1>8'h54alert2<=ear&clk_1k;elsealert2<=!ear&clk_1k;elsealert2<=0;end
endmodule

免费下载 Word文档免费下载: 带较时、闹铃功能的数字时钟

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服