名称:简单数控机床的设计Verilog代码Quartus? 远程云端平台
软件:Quartus
语言:Verilog
代码功能:
基于FPGA的简单数控机床的设计
设计基于FPGA的简单数控机床的设计,要求粗加工过程40秒,控制电机正转20秒,反转20秒;精加工过程20,控制电机正转10秒,反转10秒,在机床加工过程均可停止;加工模式不同转速不同;全部加工过程均自动完成并在结束时通过报警提示;整个过程要求用数码管显示当前工作时间(倒计时)。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在远程云端平台验证,远程云端平台如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1、工程文件
2、远程平台电路图
3、程序文件
4、程序编译
5、管脚分配
6、仿真图
部分代码展示:
//基于FPGA的简单数控机床的设计 //设计基于FPGA的简单数控机床的设计,要求粗加工过程40秒,控制电机正转20秒,反转20秒;精加工过程20,控制电机正转10秒,反转10秒,在机床加工过程均可停止 //加工模式不同转速不同;全部加工过程均自动完成并在结束时通过报警提示;整个过程要求用数码管显示当前工作时间(倒计时)。 module?CNC(clk_in,?dataout,en,reset_n,?start_key,?stop_key,?end_beep,IN1_a,IN1_b,IN1_pwm); ???input????????clk_in;//1000Hz ???input????????reset_n;//复位按下低电平 ???input????????start_key;//启动按下低电平 input????????stop_key;//暂停按下低电平???? ???output???????end_beep;//结束报警?? output[7:0]?dataout;//数码管段选 output[3:0]?en;//COM使能输出 ??? //电机 ???output??IN1_a; ???output??IN1_b; ???output??IN1_pwm; ????reg?IN1_a; ????reg?IN1_b; ????reg?IN1_pwm; ??? ???reg?[1:0]????state; ???reg?[2:0]????led;??? ???reg??????????end_beep_buf; ???reg?[7:0]????second_cnt;? ???reg??????????second_en_1s; ???reg?[31:0]????second_div_cnt; ??? reg?[31:0]?beep_cnt=32'd0;??? ???always?@(posedge?clk_in?or?negedge?reset_n) if(!reset_n) state<=2'b00;//空闲状态 else ?????????case?(state) ????????????2'b00?://空闲状态 ???????????????if?(start_key?==?1'b0) ??????????????????state?<=?2'b01; ???????????????else ??????????????????state?<=?2'b00; ????????????2'b01?://倒计时状态 ???????????????if(stop_key==0) ??????????????????state?<=?2'b11; ???????????????else?if?(second_cnt?>?8'b00000000)
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1290
阅读全文
448