手机版

基于VHDL的数字电子钟系统设计(7)

发布时间:2021-06-06   来源:未知    
字号:

集大集成软件设计,电子钟设计

elsif qd<30 then qd<=qd+1; clk2<='0'; end if;

end if;

elsif ((monthin=1) or (monthin=3) or (monthin=5) or (monthin=7) or (monthin=8) or (monthin=10) or (monthin=12)) then if(qd=31) then qd<=1; clk2<='1';

elsif qd<31 then qd<=qd+1; clk2<='0'; end if;

elsif monthin=2 then if(qd=28) then qd<=1; clk2<='1';

elsif qd<28 then qd<=qd+1; clk2<='0'; end if;

elsif ((monthin=4) or (monthin=6) or (monthin=9) or (monthin=11)) then if(qd=30) then qd<=1; clk2<='1';

elsif qd<30 then qd<=qd+1; clk2<='0'; end if; end if; end if;

当上一个模块的时钟信号来临时,如果是闰年,并且是1、3、5、7、8、10、12、月,day模块开始则从1计数到31,而如果是2月,则day模块开始计时从1计数到29,如果其他月份时,则计数从1到30,之后并输出一个控制信号clk2控制month模块,此时clk2=1 ,计数到最大值时都会回到1然后循环计数,此时clk2=0。如果是非闰年,并且是1、3、5、7、8、10、12、月,day模块开始则从1计数到31,而如果是2月,则day模块开始计时从1计数到29,如果其他月份时,则计数从1到30,之后并输出一个控制信号clk2控制month模块,此时clk2=1 ,计数到最大值时都会回到1然后循环计数,此时clk2=0。如果要设置初值,则令setd=‘1’,然后再设置想要数值ds。

5、Month计时模块:

begin

process(clk) begin

if(clk'event and clk='1') then if(q=12) then q<=1; clk3<='1';

elsif q<12 then q<=q+1; clk3<='0'; end if;

基于VHDL的数字电子钟系统设计(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)