扫码加入

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

基于FPGA的自动售货机Verilog代码Quartus 实验箱

2025/07/24
415
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2405131K525403.doc

共1个文件

名称:基于FPGA的自动售货机Verilog代码Quartus  实验箱

软件:Quartus

语言:Verilog

代码功能:

(1)待售物品价格1元、2元、3元、五元;

(2)只接受1元、5元、10元币值;

(3)机内存有1元零钱无限;

(4)投入钱币之前认为售货机为空闲状态;投入钱币后需要按下物品标签吐出商品;

(5)自动找零;

(6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。

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

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

实验箱.jpg

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. Testbench

7. 仿真图

部分代码展示:

//硬件连接:电机板子的J3连核心板P3,温度传感器板J3连接核心板P6
//售货机
module auto_sell(
input clk_in,//50M
input coin_1_key,//投币1元--SW1
input coin_5_key,//投币5元--SW2
input coin_10_key,//投币10元---SW3
input price_1_key,//1元商品--S1
input price_2_key,//2元商品--S2
input price_3_key,//3元商品--S3
input price_5_key,//5元商品--S4
input confirm_key,//确认--SW4
output succeed_ledn,//购买成功指示灯
output [2:0] DLA,//数码管位选ABC:0~7
output [7:0] HEX//数码管段选
);
wire [7:0] input_money_BCD;//投币金额
wire [3:0] need_money_BCD;//价钱
wire [7:0] change_money_BCD;//找钱
wire coin_1_p;//投币1元
wire coin_5_p;//投币5元
wire coin_10_p;//投币10元
wire price_2_p;//2元商品
wire price_3_p;//3元商品
wire price_5_p;//5元商品
wire price_1_p;//1元商品
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)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i10_key_jitter(
. clkin(clk_in),     
. key_in(coin_10_key),//输入
. key_negedge(coin_10_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i2_key_jitter(
. clkin(clk_in),     
. key_in(price_2_key),//输入
. key_negedge(price_2_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i3_key_jitter(
. clkin(clk_in),     
. key_in(price_3_key),//输入
. key_negedge(price_3_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i4_key_jitter(
. clkin(clk_in),     
. key_in(price_5_key),//输入
. key_negedge(price_5_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter i5_key_jitter(
. clkin(clk_in),     
. key_in(price_1_key),//输入
. key_negedge(price_1_p)//消抖后按键下降沿
);

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

  • 2-2405131K525403.doc
    下载

相关推荐