求大神帮忙看看这个PWM控制LED输出的哪里出错误了啊

2019-03-25 07:36发布

就开关3能用--。其他都出不来

module pwm_top(
input clk,rst,
input sw1,sw2,sw3,sw4,sw5,
output pwm
    );
   
reg [15:0]cnt;
reg [5:0]duty;
reg [15:0]count;
reg clk_div;
reg pwm;
always@(posedge clk or posedge rst)
if(rst)begin
count<=0;clk_div<=0;
end
else if(count==50000)begin
clk_div<=~clk_div;count<=0;
end
else count<=count+1;

always@(posedge clk_div or posedge rst)   
if(rst)begin
pwm<=1;
duty<=0;
end

else begin

if(duty<=20)
duty<=0;
else
duty<=duty+1;

if(sw1)begin
if(duty<4)
pwm<=0;
else
pwm<=1;
end

else if(sw2)begin
if(duty<8)
pwm<=0;
else
pwm<=1;
end

else if(sw3)
pwm<=~pwm;

else if(sw4)begin
if(duty<16)
pwm<=0;
else
pwm<=1;
end

else if(sw5)
pwm<=0;

else
pwm<=1;

end


endmodule
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
5525
1楼-- · 2019-03-25 12:22
< / 至少花了10分钟才把你的代码,整理能看了.下次能把代码整理好了 附件贴上来吗。

按照你代码的意思,
sw1,2,3,4,5 是用来选择模式,那就直接用case 好了

恭喜你,找了了 提高点 clk_div 不可以当时钟用,
你这个代码里面,有且只有一个时钟 就是 clk
5525
2楼-- · 2019-03-25 13:26
不要叫 “大神” 了吧, 大家都是人,时间都宝贵,
代码自己理清了,自己也好看,别人也好看。
xiaoyang1940
3楼-- · 2019-03-25 16:07
5525 发表于 2016-6-14 21:48
至少花了10分钟才把你的代码,整理能看了.下次能把代码整理好了 附件贴上来吗。

按照你代码的 ...

哦哦哦 我比较少接触论坛=.=下次会注意的

一周热门 更多>