名称:Quartus直流电机verilog代码青创QC-FPGA开发板
软件:Quartus
语言:Verilog
代码功能:
直流电机控制:
1、可以控制正转、反转、复位;
2、具有16级调速开关,控制速度。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在青创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
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=375
							阅读全文
							
						
					
								
								
								
503