FPGA学习之 呼吸灯

目录

  • 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
);
	
	
	//-------------------参

你可能感兴趣的:(fpga)