码迷,mamicode.com
首页 > 其他好文 > 详细

PWM----调节LED亮度

时间:2017-09-30 00:36:33      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:bsp   put   count   生成   --   input   logs   div   code   

-

-

--调节两个LED灯亮度

 1 module led_pwm (
 2     clk, 
 3     rst, 
 4 //cnt1_pwm, 
 5     out1,
 6     out2,
 7     out3,
 8     out4
 9 );
10 
11     input clk, rst;
12     //input [19:0] count_pwm;
13     output reg out1, out2;
14     output out3, out4;
15     
16     reg [19:0] cnt;
17     reg [19:0] cnt1_pwm = 21d2, cnt2_pwm = 21d52_4288;
18     reg [25:0] cnt_s;
19     
20     always @ (posedge clk, negedge rst)
21         if (!rst)
22             begin 
23                 cnt_s <= 0;
24                 cnt1_pwm <= 21d1;
25                 cnt2_pwm <= 21d52_4288;
26             end 
27         else if (cnt_s == 26d1000_0000) //计0.2秒
28             begin 
29                 cnt_s <= 0;
30                     cnt1_pwm <= {cnt1_pwm[18:0], cnt1_pwm[19]}; //调节脉宽
31                     cnt2_pwm <= {cnt2_pwm[0], cnt2_pwm[19:1]};
32                         
33                     //cnt1_pwm <= (cnt1_pwm >> 2)|(cnt1_pwm << 19);//right
34                     //cnt2_pwm <= (cnt2_pwm << 2)|(cnt2_pwm >> 19);//left
35             end 
36         else 
37             cnt_s <= cnt_s + 1;
38             
39     //
40     always @ (posedge clk, negedge rst)
41         if (!rst)
42             cnt <= 21h0;
43         else if (cnt == 21d55_0000)  //一个周期
44             cnt <= 21b0;
45         else 
46             cnt <= cnt + 1b1;
47             
48     
49     //    pwm生成
50     always @ (posedge clk, negedge rst)
51         if (!rst)
52             out1 <= 1b0;
53         else if (cnt <= cnt1_pwm)
54             out1 <= 1b0;
55         else
56             out1 <= 1b1;
57             
58     always @ (posedge clk, negedge rst)
59         if (!rst)
60             out2 <= 1b0;
61         else if (cnt <= cnt2_pwm)
62             out2 <= 1b0;
63         else
64             out2 <= 1b1;
65             
66     assign out3 = 1b0;
67     assign out4 = 1b0;
68     
69 endmodule

 

PWM----调节LED亮度

标签:bsp   put   count   生成   --   input   logs   div   code   

原文地址:http://www.cnblogs.com/yllinux/p/7613118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!