集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2275|回复: 2

一个led闪烁灯求解答

[复制链接]
14730497 发表于 2011-10-10 20:40:29 | 显示全部楼层 |阅读模式
module ledwater (clk_50M,led_out);
input   clk_50M;       //系统时钟输入50M  input  pin23
                       //意味每一秒要变化50,000,000HZ

output  led_out;       //每一秒闪烁一下

reg [24:0] count;  //分频计数器,25,000,000HZ
reg  div_clk;     //利用分频计数器得到显示一秒的闪烁效果
reg  led_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 [24:0] 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 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-24 18:23 , Processed in 0.065492 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表