EDA实现闹钟铃声设计

闹钟的设置优先级要低于正常示数,所以必须在正常示数时使用闹钟开关才能进行闹钟的设定,而且闹钟的校时校分是用的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实现闹钟铃声设计

  • EDA实现闹钟铃声设计已关闭评论
    A+
发布日期:2019年07月13日  所属分类:参考设计