名称:Quartus直流电机verilog代码青创QC-FPGA开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:
直流电机控制
1、可以控制正转、反转、复位
2、具有16级调速开关,控制速度
本代码已在青创QC-FPGA开发板验证,青创QC-FPGA开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
分频模块
Pwm波产生模块
方向控制模块
部分代码展示:
//divdFACTOR--分频系数,实际分频数为divdFACTOR*2 //divdWIDTH--分频计数器的位宽,实际位宽为divdWIDTH+1,该位宽所能表达的最大值>divdFACTOR //产生100k的时钟 //50分频,分频不能太大,否则会导致前一个高电平和下一个高电平接不上,从而导致电机不能转起来 module gen_divd(reset,clkin,clkout); input reset,clkin; output clkout; parameter divdWIDTH=7;//分频计数器的位宽,实际位宽为divdWIDTH+1,该位宽所能表达的最大值>divdFACTOR parameter divdFACTOR=25;//分频系数是divdFACTOR*2 reg clkout; reg [divdWIDTH:0] cnt; //5MHz计数25翻转一次,得到50分频的输出,100KHz always @ (negedge reset or posedge clkin) if(!reset)//复位 begin cnt<=0; clkout<=0; end else begin cnt<=cnt+1'b1;//计数 if(cnt==(divdFACTOR-1))//计数25反转一下 begin cnt<=0; clkout<=~clkout;//翻转 end end endmodule
完整代码
扫描文章末尾的公众号二维码