概述
源程序:链接:提取码fbd5
闹钟的设置优先级要低于正常示数,所以必须在正常示数时使用闹钟开关才能进行闹钟的设定,而且闹钟的校时校分是用的2Hz的快速校时校分,更加的方便有效,因为是在正常计数下的闹钟设定,所以设定闹钟时时钟依然正常的行走。闹钟将向报时电路输出一个闹钟来了的信号,以便在报时模块中实现闹钟的铃声。具体代码如下:
module alarm(clk_2Hz,naozhong_swh,alarm_hour,alarm_min,hour,minute,hour_reg,min_reg,alarm,swh,baochi_swh);
input clk_2Hz;
input naozhong_swh,baochi_swh; //闹钟开关
input alarm_hour,alarm_min;
input [1:0]swh; //防止出现优先级问题
input [5:0]hour; //时间比较
input [5:0]minute;
output reg[5:0]hour_reg;
output reg[5:0]min_reg;
output reg alarm;
always@(posedge clk_2Hz)
begin
if((naozhong_swh)&&(swh[1:0] == 'b11)&&(!baochi_swh))
begin
if(alarm_hour)
begin
if(hour_reg == 'd23)
hour_reg <= 'd0;
else
hour_reg <= hour_reg + 'd1;
end
if(alarm_min)
begin
if(min_reg == 'd59)
min_reg <= 'd0;
else
min_reg <= min_reg + 'd1;
end
end
end
always@(posedge clk_2Hz)
begin
if((hour_reg == hour)&&(min_reg == minute))
begin
alarm <= 'd1;
end
else
begin
alarm <= 'd0;
end
end
endmodule
封装图如下:
最后
以上就是激昂指甲油为你收集整理的EDA数字钟设计(verilog)——闹钟模块的全部内容,希望文章能够帮你解决EDA数字钟设计(verilog)——闹钟模块所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复