黑金开发板上开发的PWM

/*自己做的PWM程序
*2014-01-09
*/
module pwm(clk,rst,led);
input clk,rst;
output [7:0] led;
parameter T=31'd2000000;
parameter C=31'd200_0;
reg [31:0] cnt;
reg [31:0] pul;
reg on;

always @ (posedge clk or negedge rst)
if(!rst)
 begin
  cnt<=0;
  pul<=0;
 end
     else if(T==cnt)
       begin
        cnt<=0;
        pul<=pul+100;
        if(pul==C)
         pul<=0;
       end
            else
             begin
              cnt<=cnt+1;
             end
reg [31:0] div;
always @ (posedge clk or negedge rst)
if(!rst)
 begin
  div<=0;
 end
     else
      begin
       div<=div+1;
       if(div==C)
        div<=0;
       if(div<pul)
        on<=1;
       else
        on<=0;
       end
assign led[1]=on;
assign led[0]=1;
assign led[2]=1;
assign led[3]=1;
assign led[4]=1;
assign led[5]=1;
assign led[6]=1;
assign led[7]=1;

endmodule
       

转载于:https://www.cnblogs.com/luxiaolai/p/3521656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值