自动售货机设计VHDL代码Quartus仿真
名称:自动售货机设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
自动售货机
1、可以选择商品,商品有3元,6元,7元,9元的
2、可以投币1元、2元、5元、10元
3、成功购买有相应指示信号
4、数码管显示价钱、投币、找零金额
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 自动售货机功能描述
售货机出售商品有3.6.7.9元的,可以接收投币1元、2元、5元、10元。通过商品选择按键选择商品,按下确认键后开始投币,若投币金额大于商品价格则出货和找零。投币过程中若按下取消键则取消购买,退回所投币金额。
2. 工程文件

3. 程序文件

4. 程序编译

5. RTL图

6. Testbench

7. 仿真图
整体仿真图


按键下降沿检测模块仿真

售货机控制模块仿真
下图select_p按下三次,最终选择了7元商品(select_num=7),再按下确认键(confirm_p=1)后开始投币,先后投币了1,2,5元,共8元(input_money=8),找零金额为refound_money=1。


数码管显示模块仿真


7段数码管对照编码

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY auto_sell IS PORT ( clk_50M : IN STD_LOGIC;--时钟 reset_n : IN STD_LOGIC;--复位 select_key_n : IN STD_LOGIC;--商品选择按键 confirm_key_n : IN STD_LOGIC;--确认按键 cancel_key_n : IN STD_LOGIC;--取消按键 coin_1_n : IN STD_LOGIC;--投币1元 coin_2_n : IN STD_LOGIC;--投币2元 coin_5_n : IN STD_LOGIC;--投币5元 coin_10_n : IN STD_LOGIC;--投币10元 buy_succeed : OUT STD_LOGIC;--购买成功 bit_select : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选 seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END auto_sell; ARCHITECTURE trans OF auto_sell IS --售货控制模块 component sell_ctrl IS PORT ( clk : IN STD_LOGIC; reset_n : IN STD_LOGIC; confirm_p : IN STD_LOGIC; select_p : IN STD_LOGIC; concel_p : IN STD_LOGIC; coin_1_p : IN STD_LOGIC; coin_2_p : IN STD_LOGIC; coin_5_p : IN STD_LOGIC; coin_10_p : IN STD_LOGIC;--投币10元 buy_succeed : OUT STD_LOGIC; select_num : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); input_money : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); refound_money : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END component; --按键下降沿检测模块 component key_jitter IS PORT ( clkin : IN STD_LOGIC; key_in : IN STD_LOGIC; key_negedge : OUT STD_LOGIC ); END component; --显示模块 component display IS PORT ( clk : IN STD_LOGIC; select_num : IN STD_LOGIC_VECTOR(3 DOWNTO 0); input_money : IN STD_LOGIC_VECTOR(3 DOWNTO 0); refound_money : IN STD_LOGIC_VECTOR(3 DOWNTO 0); bit_select : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计VHDL代码Quartus仿真