FPGA 控制舵机程序
- 格式:doc
- 大小:25.50 KB
- 文档页数:1
FPGA 控制舵机程序(verilog)
module PWM(clk,pwm1,jiaodu);
input clk;
input[7:0] jiaodu;
output pwm1;
reg pwm1;
reg[32:0] counter;
reg[32:0] counter1;
always@(posedge clk)
begin
counter = counter + 1;
if(counter ==32'd5000) // 50MHz 0.1ms
begin
counter = 0;
counter1= counter1 + 1;
end
if(counter1 == 8'd1)
pwm1 <= 1;
else if(counter1 ==jiaodu)
pwm1 <= 0;
else if (counter1 == 16'd200)
counter1=0;
end
endmodule
例化可控制三个舵机
`include"PWM.v"
module PWM1(clk,pwm3);
input clk;
output[2:0] pwm3;
//reg pwm2;
parameter jiaodu1 = 8'd10;
parameter jiaodu2 = 8'd15;
parameter jiaodu3 = 8'd20;
PWM a1(clk,pwm3[0],jiaodu1);
PWM a2(clk,pwm3[1],jiaodu2);
PWM a3(clk,pwm3[2],jiaodu3);
endmodule