mcupro 发表于 2014-9-25 20:46:33

也发一个呼吸灯 可以直接拷贝下来用 有不明白的可以跟帖问

呼吸灯 有点意思 我也发一个啊,为了值得大家学习,并能有所收获,我写成模块方式。PWM_LED这个模块是可以直接用,实际是我一个产品里面一部分。
module pwm_led(
      input clk,
      input pwm_val ,
      output reg led=0
    );
    reg delay_cntr= 0; //这是一个预分频的计数器
    reg runner =0 ; //这是一用来和PWM数值进行比较从而决定LED是否亮的计数器
    always @ (posedge clk)delay_cntr <= delay_cntr + 1;
    always @ (posedge clk) if (delay_cntr ==0)   runner <= runner+1 ;
    always @ (posedge clk) led <=runner <pwm_val;
endmodule

上面是一个控制小灯亮度的模块,我们调用它,之后不断的顺序的变化亮度就可以了。就设置一个变化比较慢的计数器就可以。
根据实际CLK的频率设置HI_BIT。决定闪烁快慢。
`define HI_BIT 25
module notify_led (input clk ,output led );
reg ['HI_BIT : 0 ] cntr ;always @(posedge clk) cntr<=cntr+1 ;
pwm_ledu1(    .clk(clk) , .pwm_va(cntr['HI_BIT:'HI_BIT-7]),   .led(led));
endmodule

视觉暂留,不能封边20MS以内的变化,所以不连续的亮灭间隔就让我们看到所谓的呼吸灯的效果。

xionggehao 发表于 2014-9-25 20:47:08

抢个沙发

wwkkww 发表于 2014-9-25 21:01:54

这个东西还不错

sql 发表于 2014-9-25 22:33:40

感谢分享

zhongpeng123 发表于 2014-10-10 09:07:30

没有说明输入频率是多少

luohui5003 发表于 2014-10-10 09:27:00

顶一个。

gqjxy 发表于 2014-10-10 09:33:14

看着怎么这么晕啊。

ayumi8 发表于 2014-10-10 09:35:15

看不太懂..........C51 能用吗?给个完整的例程我变一下烧了看看我很菜 这样子看不懂

蓝蓝的恋 发表于 2014-10-10 09:39:28

试一下先~{:smile:}

CMika 发表于 2014-10-10 14:52:04

c51。。。。。这是hdl语言    单片机去找单片机的程序

lxcndz1 发表于 2014-10-22 13:03:35

下来实验下

eino 发表于 2014-10-23 20:00:22

学习了,谢谢楼主,辛苦啦,但是没有说明一下clk的频率。

myin4 发表于 2014-10-23 20:13:34

留名。

hkjabcd 发表于 2014-10-23 20:26:46

原来是语言不同啊

linyibinleo 发表于 2014-10-23 20:39:41

LZ,请问呼吸灯是不是跑马灯的效果?

mcupro 发表于 2014-10-24 18:28:53

linyibinleo 发表于 2014-10-23 20:39
LZ,请问呼吸灯是不是跑马灯的效果?

不是的 简单说 就是一个小灯从暗渐渐渐渐变成最亮到最亮后再渐渐变暗。 体现逐渐变化的过程。
如果0X00代表灭,0XFF代表最亮,那么就是0x00 0x01 0x02 ....0xfd 0xfe 0xff 0xfe 0xfd...0x02 0x01 0x00 0x01 0x02...... 这样的循环往复的过程。

oktek 发表于 2014-10-24 19:12:40

不太懂,没弄明白

linyibinleo 发表于 2014-10-24 21:22:09

mcupro 发表于 2014-10-24 18:28
不是的 简单说 就是一个小灯从暗渐渐渐渐变成最亮到最亮后再渐渐变暗。 体现逐渐变化的过程。
如果0X ...

哦,我没怎么接触到这样子的,LZ解释的很清楚,一看就能明白了{:lol:} 请问这种灯是一直这样在   while(1)   里面吗?这种灯什么场合会用到,还是自己爱好而已啊!

GodHunter 发表于 2014-10-24 21:33:49

linyibinleo 发表于 2014-10-23 20:39
LZ,请问呼吸灯是不是跑马灯的效果?

不是,跑马灯类似警车上的灯。呼吸灯是由明渐暗,由暗渐明的效果。

gsq19920418 发表于 2014-10-25 06:37:31

有没有硬件呼吸灯呀!

livelei 发表于 2015-7-15 18:29:49

确实蛮有意思的,这么精简的代码

liucoldstarplus 发表于 2015-7-16 16:40:44

代码有点意思,在自己板子上试试看。
页: [1]
查看完整版本: 也发一个呼吸灯 可以直接拷贝下来用 有不明白的可以跟帖问