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

自动售货机设计Verilog代码Quartus 复旦开发板

09/17 10:40
449
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241022192S4V6.doc

共1个文件

名称:自动售货机设计Verilog代码Quartus  复旦开发板

软件:Quartus

语言:Verilog

代码功能:

自动售货机

1、可以投币1元、5元

2、具有单价2、3、4、6元的商品

3、具有购买成功指示灯,投币不足可以退币

4、数码管显示投币金额、单价、找零

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

本代码已在复旦开发板验证,复旦开发板如下,其他开发板可以修改管脚适配:

复旦开发板.jpg

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. Testbench

7. 仿真图

整体仿真图

正常购买仿真图,选中6商品,分别投入1元,1元,5元,显示有商品价钱、投币金额、还差金额、找零等。成功后succeed_led

仿真选,3元商品后10s没有操作,还差金额由3变为0,返回初始状态。

仿真选中3元商品,投币1元,再投币1元后,10s没有操作,还剩金额由1变为0,返回投币2元,退币指示灯coin_return_led亮。

部分代码展示:

module auto_sell(
input clk_in,//24M
input reset_n,//复位
input coin_1_key,//投币1元
input coin_5_key,//投币5元
input price_2_key,//2元商品
input price_3_key,//3元商品
input price_4_key,//4元商品
input price_6_key,//6元商品
input confirm_key,//确认
output succeed_ledn,//购买成功指示灯
output coin_return_ledn,//退币指示灯
output [3:0] DLA,//数码管位选,低电平选择
output [7:0] HEX//数码管段选,低亮
);
wire [3:0] input_money_BCD;//投币金额
wire [3:0] need_money_BCD;//价钱
wire [3:0] change_money_BCD;//找钱
wire [3:0] left_money_BCD;//还差金额
wire coin_1_p;//投币1元
wire coin_5_p;//投币5元
wire price_2_p;//2元商品
wire price_3_p;//3元商品
wire price_4_p;//4元商品
wire price_6_p;//6元商品
wire confirm_p;//确认 
//按键消抖模块
key_jitter i0_key_jitter(
. clkin(clk_in),     
. key_in(coin_1_key),//输入
. key_negedge(coin_1_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i1_key_jitter(
. clkin(clk_in),     
. key_in(coin_5_key),//输入
. key_negedge(coin_5_p)//消抖后按键下降沿
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1240

  • 2-241022192S4V6.doc
    下载

相关推荐