14730497 发表于 2011-10-10 20:40:29

一个led闪烁灯求解答

module ledwater (clk_50M,led_out);
input   clk_50M;       //系统时钟输入50Minputpin23
                     //意味每一秒要变化50,000,000HZ

outputled_out;       //每一秒闪烁一下

reg count;//分频计数器,25,000,000HZ
regdiv_clk;   //利用分频计数器得到显示一秒的闪烁效果
regled_out;

//分频计数器。得到一秒的频率
always @ ( posedge clk_50M )
begin
if ( count==25000000 )
begin   //我们的时钟本身是每一秒要变化50,000,000HZ
         //我们现在用count这个计数器让它自加到25,000,000HZ
div_clk<=~div_clk;//在这里我们就得到了0.5秒变化一次的信号。
                      //所以一个周期就是1Hz也就是一秒。
   count<=0;          //把计数器清零。
end
else
count<=count+1;   //计数器自加。
led_out <= div_clk;//利用分频计数器得到显示一秒的闪烁效果
                      //在LED灯上面表现出来。
end

endmodule


请问
reg count;//分频计数器,25,000,000HZ      这个是什么意思   

if ( count==25000000 )
2个语句有什么联系   为什么我改一个后   灯就不闪烁了

至芯_雷老师 发表于 2011-10-11 16:04:51

这个寄存器有25位,当计数值到25000000后就清零,重新从零开始计数。认真读书,把基本语法搞懂后再提问题我没有时间回答书上已明确讲述的内容。

14730497 发表于 2011-10-13 00:59:39

回复 2# 至芯_雷老师


    谢谢雷老师
页: [1]
查看完整版本: 一个led闪烁灯求解答