FPGA学习之 呼吸灯

FPGA学习之 呼吸灯

用FPGA实现2s呼吸灯,使其达到由暗变亮再变暗的效果。

什么是呼吸灯??
呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。

如何实现呼吸灯??
主要通过控制led灯点亮的时间来实现控制灯光的强弱,从而达到 ”呼吸“ 的效果。

设计思路:

设置一个2us和一个2ms的时钟以及一个2s的时钟计数器,其中每一级计数器都由前一个计数器的计满信号驱动,当前一个计数器计满时,后一个计数器加一。计数器计满后,归零。

2ms 时 2us的1000倍,因此可分成1000份,记作cnt1。2s也同样,记作cnt2。

当 cnt1 < cnt2 时 灯亮。
当 cnt1 > cnt2 时 灯不亮。
cnt1从0加到1000,cnt2才加1,所以灯亮的时间很短,就很暗,随着cnt2 越来越大,灯亮的时间越来越长,效果上就越来越亮。在下一个2s时进行翻转,灯就由亮逐渐变暗。

代码实现:

module led(
	input					clk,		//50MHZ
	input					rst_n,		//低电平有效
	
	output [3:0] 		led
);
	
	
	//-------------------参数定义
	

	parameter	TIME_2us = 100;			//2us		
	parameter	TIME_2ms = 100_000;		//2ms
	par
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值