名稱:Quartus直流電機verilog代碼青創(chuàng)QC-FPGA開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:
直流電機控制:
1、可以控制正轉(zhuǎn)、反轉(zhuǎn)、復位;
2、具有16級調(diào)速開關(guān),控制速度。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在青創(chuàng)QC-FPGA開發(fā)板驗證,青創(chuàng)QC-FPGA開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
整體仿真圖
分頻模塊
Pwm波產(chǎn)生模塊
方向控制模塊
部分代碼展示:
//divdFACTOR--分頻系數(shù),實際分頻數(shù)為divdFACTOR*2 //divdWIDTH--分頻計數(shù)器的位寬,實際位寬為divdWIDTH+1,該位寬所能表達的最大值>divdFACTOR //產(chǎn)生100k的時鐘 //50分頻,分頻不能太大,否則會導致前一個高電平和下一個高電平接不上,從而導致電機不能轉(zhuǎn)起來 module?gen_divd(reset,clkin,clkout); input?reset,clkin; output?clkout; parameter?divdWIDTH=7;//分頻計數(shù)器的位寬,實際位寬為divdWIDTH+1,該位寬所能表達的最大值>divdFACTOR parameter?divdFACTOR=25;//分頻系數(shù)是divdFACTOR*2 reg?clkout; reg?[divdWIDTH:0]?cnt; //5MHz計數(shù)25翻轉(zhuǎn)一次,得到50分頻的輸出,100KHz always?@?(negedge?reset?or?posedge?clkin) if(!reset)//復位 begin cnt<=0; clkout<=0; end else begin cnt<=cnt+1'b1;//計數(shù) if(cnt==(divdFACTOR-1))//計數(shù)25反轉(zhuǎn)一下 begin cnt<=0; clkout<=~clkout;//翻轉(zhuǎn) end? end endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=375
閱讀全文