自动售货机设计VHDL代码Quartus仿真

名称:自动售货机设计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;
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值