孤身漂泊 发表于 2010-10-21 21:07:04

分频器里面可以进行加操作吗

分频器里面可以进行加操作吗?比如一个1:5000分频器,我用单片机发个数据让它加进去,编程总是无法实现
程序如下:
module pwm1(dat,clkin,en,pwm1,pwm2,pwm3,clk,out);
input   clk,clkin,en;
input   dat;
outputpwm1,pwm2,pwm3;

outputout;
regbliang;

regzkb;
regzkb1;
regzkb2;
reg fpb;
reg fpb1;
reg fpb2;
regxwei;
regxwei1;
regxwei2;

regshuju;
reg   adder;

reggdp;
regjs;
reggdp1;
regjs1;
reggdp2;
regjs2;

reg pwm_flag;
reg pwm_flag1;
reg pwm_flag2;

assign pwm1=pwm_flag;
assign pwm2=pwm_flag1;
assign pwm3=pwm_flag2;
assign out=bliang;

always @(posedge clkin)
begin
if(en==0)
        begin
        shuju= shuju>>1;
        shuju = dat;
        bliang=shuju;
        end
elsebegin fpb=fpb;end
end
always @(posedgeen)
begin
   case(shuju)
   0:begin fpb=shuju; end
   1:begin fpb1=shuju; end
   2:begin fpb2=shuju;end
       3:begin zkb=shuju;gdp<=fpb*zkb/100;end
       4:begin zkb1=shuju;gdp1<=fpb1*zkb1/100;end
       5:begin zkb2=shuju;gdp2<=fpb2*zkb2/100;end
       6:begin xwei<=shuju; js<=js+fpb*xwei/360;end
   default    shuju<=shuju;
   endcase
end
always@(posedge clk )
        begin
           if(js>=fpb)               
                  beginjs<=0;           end
           else
                begin js<=js+1;   end
           if(js<gdp)               
                  beginpwm_flag=1;        end
           else beginpwm_flag=0;end
        end       
always@(posedge clk)
        begin
               if(js1>=fpb1)               
                  begin   js1<=0;end
                else
                begin js1<=js1+1; end
                if(js1<gdp1)               
                  begin   pwm_flag1=1;   end
                else beginpwm_flag1=0;end
        end       
always@(posedge clk)
        begin
               if(js2>=fpb2)               
                  begin    js2<=0;end
                else
                begin js2<=js2+1; end
                if(js2<gdp2)               
                  begin   pwm_flag2=1;end
                else beginpwm_flag2=0;end
        end       
endmodule
结果总是出错:不能解决多重驱动        !请问有没有什么好的解决办法啊!
页: [1]
查看完整版本: 分频器里面可以进行加操作吗