名称:自动售货机设计VHDL代码Quartus仿真 (文末获取)
软件:Quartus
语言:VHDL
代码功能:
自动售货机
1、售货机有4种商品
2、商品有3,6,7,9元的
3、可以投币1元,5元,10元
4、可以找零1元、5元
5、中途可以取消购买
6、led显示购买成功,数码管显示单价、投币和找零
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真文件
6. 仿真图
仿真了2次购买情况
按键模块仿真
图中按键按下后输出一个时钟的高电平
显示模块仿真
控制模块仿真
图中仿真了选中6元商品,投币7元,找零1元
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --顶层模块 ENTITY auto_sell IS PORT ( clk_in : 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_5_n : IN STD_LOGIC;--投币5元 coin_10_n : IN STD_LOGIC;--投币10元 charge_1_out : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--找零1元 charge_5_out : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--找零5元 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 bahave 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_5_p : IN STD_LOGIC; coin_10_p : IN STD_LOGIC;--投币10元 charge_1_out : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--找零1元 charge_5_out : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--找零5元 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;
源代码
点击下方的公众号卡片获取