手机版

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

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

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

end if;

end process;

当上一个模块的控制信号来临时,month模块开始从1计数到12,并输出一个控制信号clk3控制year模块,此时clk3=1 ,并回到1然后循环计数,此时clk3=0。

6、Years计时模块:

begin

process(clk) begin

if(clk'event and clk='1') then q<=q+1; end if; end process;

当上一个模块的控制信号来临时,year模块开始从0计数并一直计数下去,由于要求初始时间为2012,我们可以利用“signal q:integer:=2012;”赋初始值,这样计数器就会从2012开始计数。

7、Alarm_clock闹钟比较模块: begin

process(s2a,mn2a,h2a,d2a,m2a,y2a,s1a,mn1a,h1a,d1a,m1a,y1a ,run) begin

if ( run rem 4 =0 ) then ring<='1';

elsif (s1a=s2a and mn1a=mn2a and h1a=h2a and d1a=d2a and m1a=m2a and y1a=y2a) then ring<='1'; else ring<='0'; end if;

end process;

定义13个输入信号和一个输出信号ring用于当前时间与闹铃时间进行比较,如果是闰年信号run就输出ring=1,否则剩余的信号两两相等,则ring=1,既满足了闹铃功能,也满足了闰年提醒的功能。

8、Set时间校对模块:

process(set,hs) ——这是小时模块的set,其他计时模块与其相同 begin

if set='1'then

if hs=0 then qh<=qh ; else qh<=hs; end if; end if;

“hs”即为你要设置的时间,当set=1时 就把“hs”上的值赋给“h”,然后“h”

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