无人售货机设计Verilog代码Quartus仿真

名称:无人售货机设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

无人售货机

1、可以选择5元、10元、15元、20元的商品

2、可以投币1元、5元、10元、20元

3、购买过程中可以取消,退币

4、输出投入总钱币、商品价钱、找零金额


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


演示视频:

设计文档:

设计文档.doc


设计:设置4种商品,由4个开关进行选择,分别为5元、10元、15元、20元。

购买成功后用led指示,同时数码管显示投入总钱币,找零金额,选中商品价钱。具体信号对应具体功能如下图所示。

1. 工程文件

售货模块


购买成功led指示模块

下降沿检测模块


等待30s模块








数码管显示模块

2. 程序运行

3. 原理图

4. 管脚约束

5. 程序仿真

Testbench

仿真图


下图中,rst_button低电平复位,复位后,selection_of_10脉冲表示选中价钱为10的商品,可看见total_need_money_out信号变为10,然后throw_into_20_down脉冲表示投入20元,total_throw_inmoney_out信号变为20,然后confirm_button确认购买,低电平有效,显示找零total_refund_money_out=10。同时buy_succeed_led_10信号变为高电平,表示购买成功。



下图为仿真取消购买后,退全部输入金额。









部分代码展示:

//Vending_machine
module Vending_machine(
input clk_50M,//50M
input rst_button,//复位
//开关
input Selection_of_05,//选5元商品
input Selection_of_10,//选10元商品
input Selection_of_15,//选15元商品
input Selection_of_20,//选20元商品
//开关
input throw_into_01_down,//投1元
input throw_into_01coin_down,//投1元硬币
input throw_into_05_down,//投5元
input throw_into_10_down,//投10元
input throw_into_20_down,//投20元
//按键
input confirm_button,//确认购买,低电平有效
input Give_change_button,//不买退钱,低电平有效
input time30s_change_button,//30s计时退钱
output [3:0] state_out,
input wait_second_time,
output [7:0] total_throw_inmoney_out,//投入总钱币
output [7:0] total_need_money_out,//选中商品价钱
output [7:0] total_refund_money_out//找零金额
);
parameter state_0=4'd0;
parameter state_1=4'd1;//选择
parameter state_2=4'd2;//
parameter state_3=4'd3;//
parameter state_4=4'd4;//找零时间4秒
parameter state_5=4'd5;//找零20元
parameter state_6=4'd6;//找零15元
parameter state_7=4'd7;//找零10元
parameter state_8=4'd8;//找零5元
parameter state_9=4'd9;//结束

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 无人售货机设计Verilog代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员