然后说一下我们需要的模块。我们一共需要四个模块,分别是分频模块,键盘扫描状态控制模块,时分秒计数模块,显示模块。
这里面用到的状态机,三个状态,分别是正常状态,校对状态,设置闹钟状态。
有需要的话可以继续交流
首先PLL应用就不用说明了,这个直接调用内部软段局核来实现,没有涉耐燃禅及到代码。就分频代码我简单写个8分频的代码,其他的大同小异。module div_8(clk_100M,rst,clk_125M)
input clk_100M,rst
output reg clk_125M//8分频输出12.5M
reg[3:0] temp
always@(posedge clk_100M or negedge rst)
begin
if(!rst)
begin
temp<=4'b0000
clk_125M<=1'b0
end
else if(temp==4'd3)
begin
clk_125M<=~clk_125M
temp<=4'b0000
end
else
temp<=temp+1'昌尘b1
end
endmodule
这个只是8分频代码,其他的16分频可参考这个来写,原理是一样的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)