• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

简单数控机床的设计Verilog代码Quartus 远程云端平台

09/24 08:36
448
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24103020001J13.doc

共1个文件

名称:简单数控机床的设计Verilog代码Quartus? 远程云端平台

软件:Quartus

语言:Verilog

代码功能:

基于FPGA的简单数控机床的设计

设计基于FPGA的简单数控机床的设计,要求粗加工过程40秒,控制电机正转20秒,反转20秒;精加工过程20,控制电机正转10秒,反转10秒,在机床加工过程均可停止;加工模式不同转速不同;全部加工过程均自动完成并在结束时通过报警提示;整个过程要求用数码管显示当前工作时间(倒计时)。

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

本代码已在远程云端平台验证,远程云端平台如下,其他开发板可以修改管脚适配:

远程云端平台.png

演示视频:

设计文档:

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

  • 2-24103020001J13.doc
    下载

相关推荐