自动售货机设计VHDL代码Quartus仿真
名称:自动售货机设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:设计有6个按键分别对应6种商品,商品售价分别为1元、2元、3元、5元、5元和10元的自动售货机。售货机能够接收1元、5元、10元共3种面额的货币进行购买,并根据实际情况找零,能够实现线上购买。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件


3. 程序编译

4. RTL图

5. 仿真图
整体仿真图


按键检测模块


控制模块



显示模块


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --设计有6个按键分别对应6种商品,商品售价分别为1元、2元、3元、5元、5元和10元的自动售货机。 --售货机能够接收1元、5元、10元共3种面额的货币进行购买,并根据实际情况找零。 ENTITY auto_sell IS PORT ( clk_50M : IN STD_LOGIC;--时钟 reset_n : IN STD_LOGIC;--复位 select_1 : IN STD_LOGIC;--商品选择按键1--价钱1 select_2 : IN STD_LOGIC;--商品选择按键2--价钱2 select_3 : IN STD_LOGIC;--商品选择按键3--价钱3 select_4 : IN STD_LOGIC;--商品选择按键4--价钱5 select_5 : IN STD_LOGIC;--商品选择按键5--价钱5 select_6 : IN STD_LOGIC;--商品选择按键6--价钱10 confirm_key_n : IN STD_LOGIC;--确认按键 cancel_key_n : IN STD_LOGIC;--取消按键 coin_1_n : IN STD_LOGIC;--投币1元 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; concel_p : IN STD_LOGIC; select_1 : IN STD_LOGIC;--商品选择按键1--价钱1 select_2 : IN STD_LOGIC;--商品选择按键2--价钱2 select_3 : IN STD_LOGIC;--商品选择按键3--价钱3 select_4 : IN STD_LOGIC;--商品选择按键4--价钱5 select_5 : IN STD_LOGIC;--商品选择按键5--价钱5 select_6 : IN STD_LOGIC;--商品选择按键6--价钱10 coin_1_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(7 DOWNTO 0); input_money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); refound_money : OUT STD_LOGIC_VECTOR(7 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(7 DOWNTO 0); input_money : IN STD_LOGIC_VECTOR(7 DOWNTO 0); refound_money : IN STD_LOGIC_VECTOR(7 DOWNTO 0); bit_select : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); seg_select : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END component;
代码文件(付费下载):
![]()
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计VHDL代码Quartus仿真