Quartus直流电机verilog代码青创QC-FPGA开发板

名称:Quartus直流电机verilog代码青创QC-FPGA开发板

软件:Quartus

语言:Verilog

代码功能:

直流电机驱动

可以控制直流电机启动

可以控制电机的速度,速度有3个档位

数码管显示时间(分秒)

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在青创QC-FPGA开发板验证,青创QC-FPGA开发板如下,其他开发板可以修改管脚适配:青创QC-FPGA开发板.png


演示视频:


设计文档:

电机仿真文档.doc

1. 工程文件

2. 程序文件

3. 管脚约束

4. RTL图

5.仿真图

5.1显示模块

5.2消抖模块

5.3Pwm产生模块

5.4分频模块

5.5转动控制模块

5.6状态控制模块



部分代码展示:

//直流电机驱动
module DCMotor
(
Rst,
Clk,//48M
key_start,//启动按键
key_speed,//启动按键
DriveOut,    //电机驱动
DialSwitch,  //控制直流电机的方向
Led,
dataout,
      en//COM使能输出
);
input Rst,Clk;
input key_start,key_speed;
input [1:0] DialSwitch;
output  [2:0] Led;//指示灯
output[7:0] dataout;
output[3:0] en;//COM使能输出
output  [3:0] DriveOut;
wire [2:0] state_out;
wire [7:0] min_count;
wire [7:0] sec_count;
wire [1:0] speed_out;
//调用分频模块,产生100k的时钟
gen_divd Gen_ClkDiv(
.reset(Rst),//复位
.clkin(Clk),//48M
.clkout(ClkDiv)//100k的时钟
);
//PWM
//占空比不能太高,因为配套的电源供电能力有限,占空比太高会导致启动电流超过电源的额定输入而启动失败
PWM Gen_PWMPlus(
.Rst(Rst),//复位
.Clk(ClkDiv),//100k的时钟
.state_out(state_out),//状态
.PWMOut(PWMPlus),//PWM输出
.speed_out(speed_out)//转速控制输入
);
////电机正反转控制模块
//rotation_control i_rotation_control(
//. Rst(Rst),
//. ClkDiv(ClkDiv),//100k的时钟
//. PWMPlus(PWMPlus),//PWM脉冲输出
//. DriveOut(DriveOut)//电机驱动
//);
wire start_en;
wire speed_en;
//消抖
key_xiaodou i_start_en(
. clkin(ClkDiv),    
. key_in(key_start),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(start_en),//消抖后按键下降沿
. key_value()//消抖后按键
);
//消抖
key_xiaodou i_speed_en(
. clkin(ClkDiv),    
. key_in(key_speed),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(speed_en),//消抖后按键下降沿
. key_value()//消抖后按键
);
//计时及状态控制
ctrl_motor i_ctrl_motor(
. ClkDiv(ClkDiv),
. reset_n(Rst),
. start_en(start_en),
. speed_en(speed_en),
. Led(Led),
. DriveOut(DriveOut),
. PWMPlus(PWMPlus),
. state_out(state_out),
. speed_out(speed_out),
. sec_count1(min_count),
. sec_count2(sec_count)
);
//数码管控制模块
display i_display(
.clk(Clk),
.rst(Rst),
.dataout(dataout),
.en(en),
.min_count(min_count),
.sec_count(sec_count)
);
endmodule


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Quartus直流电机verilog代码青创QC-FPGA开发板

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员